我如何获得iheartradio站的原始流URL。

时间:2017-02-04 18:27:26

标签: javascript node.js internet-radio

我正在尝试制作一个不和谐机器人来在103.7广播电台播放iheart80s, 到目前为止,我找不到直接的流网址给我的不和谐机器人。

我试图通过python获取json,但只返回http.client.BadStatusLine:ICY 200 OK

我正在使用discord.js。 这是我试图将流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    });
}

5 个答案:

答案 0 :(得分:0)

您可以在计算机上使用mitmproxy来检查应用的流量。我能够将http://c10.prod.playlists.ihrhls.com/4342/playlist.m3u8识别为该广播电台的流源。当然,网址可能会随着时间而改变,所以ymmv。

答案 1 :(得分:0)

我能够通过这样做找到iheart网址... 转到所需的广播电台网站。 点击听/播放。 右键单击页面然后查看页面源。 查找/搜索...“冰冷” 第一个“冰冷”应该在这里.. “shoutcast_stream”:“http://(各种字母和数字).playlists.ihrhls.com/(4 numbers)icy” 我将http地址复制并粘贴到winamp中并且有效。

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

答案 2 :(得分:0)

<强>&GT;查找/搜索...&#34; icy&#34;

这不是一种可靠的方法,因为可以使用其他服务器,例如streamtheworld,edgefcs等 - 有些人可能会使用RTMP(你的播放器可能无法处理)

这是一个Perl模块&amp;可以完成工作的示例脚本:

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

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

答案 3 :(得分:0)

查找iHeartRadio的链接:(我使用93.3频道作为示例)

  1. 打开iHeart电台并查找您的信息流*注意:请勿启动流媒体
  2. 使用Wire Shark或任何其他捕获工具并在iHeart Radio上播放流之前立即开始捕获
  3. 停止流然后立即停止捕获(这会将我们捕获的数据包数量限制为仅我们想要的数据包)
  4. 使用过滤器并输入tcp contains&#34; ihrh&#34;
  5. 打开包含该链接的所有数据包。 *注意:忽略任何包含&#34; ihrh&#34;我们正在寻找链接
  6. 查找服务器链接(例如c13.prod.playlists.ihrhls.com)*注意:确保它是&#34; c&#34;和#34; c13&#34;不是&#34; cdn&#34;或其他任何东西
  7. 进入互联网资源管理器并转到iheart电台上播放
  8. 查看网址并注意代码(例如 h ttps://www.iheart.com/live/channel-933- 241 /自动播放=真安培; PNAME =火&安培; campid =本地&安培; callletters = KHTS-FM)
  9. 使用服务器链接,然后添加&#34; /&#34;然后是从上面的步骤中找到的代码
  10. 接下来,添加&#34; /playlist.m3u8"到链接的末尾
  11. 完成所有步骤后,您将获得我们案例中的最终链接:https://c13.prod.playlists.ihrhls.com/241/playlist.m3u8

答案 4 :(得分:-1)

我觉得流媒体电台需要代理服务器和ffmpeg设置,因为多个用户将通过您的网站/ webapp / app连接到流。服务器端的ffmpeg将读取无线电台流(http流或rtsp流)并将其提供给您将管理多个连接的流代理服务器。