StreamTheWorld.net的音频流协议

时间:2011-07-25 10:05:55

标签: audio-streaming

我正在尝试从streamtheworld下载和捕获音频流,到目前为止我唯一发现的是它使用HTTP协议并且内部可以看到一些FLV标头。但是,它不可玩。

我会很感激有关它的任何信息。运输(http),容器,编码,欢迎任何信息。

此类音频流的一个示例:

http://player.streamtheworld.com/_players/arn/index.php?callsign=VIRGINRADIO_DUBAI

2 个答案:

答案 0 :(得分:8)

获取流的呼号。对于City 101.6 Fm Dubai,它的ARNCITY。

使用以下网址http://provisioning.streamtheworld.com/pls/并在pls /.

后替换呼号

所以最终的URl看起来像http://provisioning.streamtheworld.com/pls/ARNCITY.pls

在Firefox中打开它,它会要求您将ARNCITY.pls下载到您的计算机上。

下载文件并在记事本中打开它,您将拥有实际的流URL。

在Windows媒体播放器或任何媒体播放器中使用任何人,你们都已经设置好了..

多数人......希望这会有所帮助

答案 1 :(得分:2)

这只是AAC over HTTP。没什么特别的。

您可以使用Fiddler找到流网址。在这种情况下,它是:http://4093.live.streamtheworld.com/VIRGINRADIO_DUBAIAAC

从那里,你可以使用像WGET或VLC这样简单的东西。


引导您完成整个过程....

首先container page加载。该页面使用参数flashvars.callsign="VIRGINRADIO_DUBAI"调用flash播放器。毫无疑问,它会从初始容器页面URL中的GET参数中获取。随意尝试。

第二次,Flash播放器下载http://player.streamtheworld.com/_players/arn/coreconfig.xml。这包含有用的信息。这是一段摘录:

    <zone type="liveStream">

        <liveStream>

        <!-- the endpoint node is option, and will default to the stated value if absent  -->
            <endpoint>http://playerservices.streamtheworld.com/api/livestream</endpoint>

        <!-- version is a mandatory value -->
        <version>1.4</version>

        <!-- Mount is a mandatory variable  -->
        <mount>KEYJFM</mount>

        <!-- The lang variable is optional, and will default to the stated value if absent  -->
        <lang>EN</lang>

        <!-- The transport variable is optional, and will default to the stated value if absent  -->
        <transport>http</transport>

        <!-- This parameter will be appended to the the mount call in the event of an HD request. -->
        <hdPostFix>AAC</hdPostFix>

        <!-- Possible values are hdConnection, normalConnection and hdAlternate -->
        <connectionType>hdAlternate</connectionType>

        </liveStream>

        <nowPlayingHistory>

        <!-- the endpoint node is option, and will default to the stated value if absent  -->
            <endpoint>http://playerservices.streamtheworld.com/public/nowplaying</endpoint>

        </nowPlayingHistory>


    </zone>

播放器还会抓取http://playerwebadmin.streamtheworld.com/xmlconfig.php?view=xml&callsign=VIRGINRADIO_DUBAI&streamid=8263,其中包含一些无意义的废话,例如向您展示的视频广告。

播放视频广告后,播放器会抓取此信息:http://playerservices.streamtheworld.com/api/livestream?version=1.4&mount=VIRGINRADIO_DUBAIAAC&lang=EN&transports=http&nobuf=1311628718296

请注意相应的参数,例如versionmountlang等。认出它们?是的,它们来自第一个XML文件。

最后,Flash播放器从最终的XML文件中获取所需的所有信息,以便向流提出请求。

所有这一切都可以轻松找到Fiddler。请考虑将来使用它。