Протокол потокового аудио для StreamTheWorld.net - PullRequest
3 голосов
/ 25 июля 2011

Я пытаюсь загрузить и перехватить аудиопоток из streamtheworld, и пока единственное, что я обнаружил, это то, что он использует протокол HTTP, и некоторые заголовки FLV видны внутри. Но это не играбельно.

Буду признателен за любую информацию об этом. Транспорт (http), контейнер, кодировка, любая информация приветствуется.

Один из примеров такого аудиопотока:

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

Ответы [ 2 ]

8 голосов
/ 13 июля 2012

Получить позывной для потока.Для города 101,6 Fm Дубай, его ARNCITY.

Используйте следующий URL http://provisioning.streamtheworld.com/pls/ и замените позывной после pls /.

Таким образом, окончательный URl будет выглядеть как http://provisioning.streamtheworld.com/pls/ARNCITY.pls

Откройте его в Firefox, и он попросит вас загрузить ARNCITY.pls на ваш компьютер.

Загрузите файл и откройте его в блокноте, и вы получите фактические URL-адреса потоков.

используйте кого-либо в проигрывателе Windows Media или любом проигрывателе мультимедиа, и все готово.

Вот и все ..... Надеюсь, это поможет

2 голосов
/ 25 июля 2011

Это просто AAC через HTTP. Ничего особенного.

Вы можете найти URL-адрес потока, используя Fiddler . В данном случае это: http://4093.live.streamtheworld.com/VIRGINRADIO_DUBAIAAC

Оттуда вы можете копировать, используя что-то простое, например, WGET или VLC.


Чтобы пройти через весь процесс ....

Сначала , страница контейнера загружается. Эта страница вызывает флэш-плеер с параметром flashvars.callsign="VIRGINRADIO_DUBAI". Он, несомненно, получает это из параметра GET в URL-адресе начальной страницы контейнера. Не стесняйтесь экспериментировать.

Второй , Flash Player загружает 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

Обратите внимание на соответствующие параметры, такие как version, mount, lang и т. Д. Распознать их? Да, они пришли из этого первого XML-файла.

Наконец, , Flash Player имеет всю необходимую информацию из этого окончательного XML-файла для отправки запроса в поток.

Все это вы можете легко понять с помощью Fiddler . Пожалуйста, рассмотрите возможность использования в будущем.

...