簡體   English   中英

如何獲取iheartradio電台的raw stream URL

[英]How can I get the raw stream URL of an iheartradio station

我正在嘗試制作一個 discord 機器人到 stream 103.7 廣播電台的 iheart80s,到目前為止我找不到直接的 stream URL 給我的 discord 機器人。

我試圖通過 Python 獲取 JSON 但它只返回 http.client.BadStatusLine: ICY 200 OK

我正在使用 discord.js。這是 function 我正在嘗試將 stream URL 饋入:

function(CmdArg,CmdMsg){
  const voiceChannel = CmdMsg.member.voiceChannel;
  voiceChannel.join().then(connection => resolve(connection)).catch(err =>reject(err));
  const stream = () => {
           return request.get({
               uri: CmdArg,
               followAllRedirects: true,
               encoding: null
           });
       }


    console.log(stream);
    CmdMsg.guild.voiceConnection.playStream(stream, { passes: token.passes    });
}

它再次發生了變化,沒有任何wireshark解決方案,或在chrome / firefox的檢查選項卡中搜索某些文本有幫助,但我想通了......

我將使用的示例是:I heart Mix 90.1 Toluca https://www.iheart.com/live/mix-901-toluca-6566/

  1. 單擊“共享”圖標,它位於“連接”按鈕右側。
  2. 查找嵌入小部件部分。
  3. 然后從src="的末尾復制。例如:整個文本是

<iframe allow="autoplay" width="100%" height="200" src="https://www.iheart.com/live/mix-901-toluca-6566/?embed=true" frameborder="0"></iframe>

我會復制

https://www.iheart.com/live/mix-901-toluca-6566/?embed=true
  1. 太好了。 現在我們可以使用的 html 和 url 少得多。 現在復制該 url 並將其粘貼到您的網絡瀏覽器中(您現在可以關閉之前的廣播網頁)。 Rick 單擊播放按鈕,選擇檢查。
  2. 現在,使用 Ctrl+F(僅按ctrlF ),查找stream 您應該會得到多個結果,但它們都在同一文本行上,所以不用擔心。
  3. 現在,在JSON數據的加載雙擊,應該像開始{"initialPropos" : {..... ,現在復制所有的文本並粘貼到文本編輯器可以讓你通過文字搜索(例如vimnotepad , MS Word )
  4. 現在,打開帶有粘貼文本的文本編輯器。 現在尋找streams 第一個結果應該以如下內容開頭: ,"streams":{"hls...
  5. 偉大的! 現在您可以復制您喜歡的流,有些可能不可用,但在此示例中,以下流類型可用:
{
"hls_stream":"http://playerservices.streamtheworld.com/api/livestream-redirect/XHENOFMAAC.m3u8",

"pls_stream":"http://playerservices.streamtheworld.com/pls/XHENOFMAAC.pls",

"secure_hls_stream":"https://playerservices.streamtheworld.com/api/livestream-redirect/XHENOFMAAC.m3u8",

"secure_pls_stream":"https://playerservices.streamtheworld.com/pls/XHENOFMAAC.pls"}
  1. 現在,您可以選擇您喜歡的流並使用您最喜歡的音頻/視頻播放器打開它。 例如(一定要把它放在雙引號中,這樣它就不會被你的 shell 或 smth 操縱) mpv "http://playerservices.streamtheworld.com/api/livestream-redirect/XHENOFMAAC.m3u8"

  2. 結束! 現在你應該可以走了! 如果我完全不清楚,請告訴我。 我創建堆棧溢出帳戶的唯一原因是發布此內容並幫助其他人知道如何執行此操作,因此如果這不起作用,請告訴我!!

干杯。

您可以在計算機上使用mitmproxy來檢查該應用的流量。 我能夠確定http://c10.prod.playlists.ihrhls.com/4342/playlist.m3u8是該廣播電台的流源。 當然,URL可能會隨着時間而改變,因此為ymmv。

通過執行此操作,我可以找到iheart URL。轉到所需的廣播電台網站。 單擊聽/播放。 右鍵單擊頁面,然后查看頁面源。 查找/搜索...“ icy”“ icy”的第一個實例應在此處。“ shoutcast_stream”:“ http://(各種字母和數字)。playlists.ihrhls.com/(4個數字)icy”我將http地址復制並粘貼到winamp中,它可以正常工作。

http://c10icyelb.prod.playlists.ihrhls.com/4342_icy

在iHeartRadio上找到鏈接:(我以93.3頻道為例)

  1. 打開iHeart收音機並找到您的視頻流*注意:請不要開始流
  2. 使用Wire Shark或任何其他捕獲工具並立即開始捕獲,然后在iHeart Radio上播放流
  3. 停止流,然后在此之后立即停止捕獲(這將捕獲的數據包數量限制為僅所需的數據包)
  4. 使用過濾器並輸入包含“ ihrh”的tcp
  5. 打開所有包含鏈接的數據包。 *注意:請忽略任何包含“ ihrh”的文本,我們正在尋找鏈接
  6. 查找服務器鏈接(例如c13.prod.playlists.ihrhls.com)*注意:確保它是“ c”和類似“ c13”的數字,而不是“ cdn”或其他任何名稱
  7. 進入Internet Explorer,然后在iheart廣播上播放
  8. 查看url並注意代碼(例如h ttps://www.iheart.com/live/channel-933- 241 /?autoplay = true&pname = fire&campid = local&callletters = khts-fm)
  9. 使用服務器鏈接,然后添加“ /”,然后添加從上述步驟中找到的代碼
  10. 接下來,在鏈接末尾添加單詞“ /playlist.m3u8”
  11. 完成所有步驟后,您將獲得最終的鏈接,在本例中為: https : //c13.prod.playlists.ihrhls.com/241/playlist.m3u8

>查找/搜索...“冰冷”

這不是一種可靠的方法,因為可能會使用其他服務器,例如streamtheworld,edgefcs等-某些服務器可能會使用RTMP(您的播放器可能無法處理)

這是可以完成此工作的Perl模塊和示例腳本:

https://metacpan.org/release/IHeartRadio-Streams

參考: https : //askubuntu.com/questions/470269/how-do-i-add-iheartradio-stations-to-radio-tray/470277

我最新使用的: https://stream.revma.ihrhls.com/zc7373 (zcNUMBER) type.aac

我覺得要廣播電台,您需要代理服務器和ffmpeg設置,因為多個用戶將通過您的網站/ webapp / app連接到媒體流。 服務器端的ffmpeg將讀取廣播電台流(http流或rtsp流),並將其提供給將管理多個連接的流代理服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM