Как получить прямую ссылку на поток любой онлайновой радиостанции
В интернете существуют тысячи онлайновых станций, круглосуточно вещающих самую разнообразную музыку. Можно слушать их непосредственно на соответствующих сайтах или специальных каталогах типа Shoutcast или TuneIn, но гораздо удобнее делать это в обычном десктопном плеере. Во-первых, это позволяет создавать из разных станций списки по жанрам или настроению, а во-вторых, некоторые плееры умеют еще и записывать прямой эфир.
Многие каналы прямо на своих сайтах приводят ссылки для воспроизведения в плеере, но далеко не все. И это вполне понятно, создатели сайта не хотят вас отпускать со своего сайта, чтобы показать вам побольше рекламы. Можно, разумеется, подсмотреть требуемую ссылку в исходном коде, но она бывает иногда так искусно спрятана, что человеку без знания HTML может быть трудно разобраться. Поэтому мы хотим вас познакомить с легким способом получения адреса потока практически любой станции.
Для пользователей Google Chrome
1. Открываем страницу станции в своем браузере.
2. Нажимаем F12. Открывается панель инструментов для разработчиков.
3. Перезагружаем страницу, после чего включаем воспроизведение.
4. В открытой внизу панели переходим на вкладку Network и ищем в колонке Timeline самое длительное соединение.
5. Щелкаем правой кнопкой мыши по ссылке и копируем ее в буфер обмена.
Здесь надо сказать, что бывают разные варианты и иногда полученную ссылку надо немного изменить. Например, в приведенном случае она имеет вид http://pub5.sky.fm/sky_tophits_aacplus?type=.flv и работать не будет. Но если убрать ее хвост, после вопросительного знака включительно, то все заиграет. Так что нужно экспериментировать.
Для пользователей Firefox
Если вы пользуетесь этим замечательным браузером, то у вас наверняка установлено расширение Adblock Plus. А если еще нет, то обязательно установите его, ведь оно не только отлично режет рекламу, но и поможет нам искать нужную ссылку на музыку.
1. Открываем сайт станции в Mozilla Firefox.
2. Нажимаем сочетание клавиш CTRL+SHIFT+V после чего открывается список элементов просматриваемой страницы.
3. В этой таблице обращаем внимание на колонку Тип и находим в ней значение Объект или Запрос объекта.
4. Часто таких записей несколько, поэтому опытным путем находим подходящую. В приведенном на скриншоте случае видим знакомую уже по описанию выше ссылку, которую надо точно так же укоротить.
У меня все равно не играет, в чем дело?
Скорее всего вам попалась радиостанция, которая определяет каким образом вы подключаетесь к ее каналу — через браузер или просто из плеера и блокирует такое соединение.
В таком случае придется использовать замечательный аудиоплеер AIMP, который умеет маскироваться под браузер. Для этого в настройках программы (Настройки -> Воспроизведение -> Параметры подключения -> User-Agent) введите Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) и все должно заработать.
Приятного вам прослушивания!
Как вытащить ссылку потока канала из любого сайта?
Всем здорова! Сегодня мы будем вытаскивать потоки каналов из сайтов. Я возьму сайт Яндекс, можно любой-другой сайт, но предупреждаю вытащенные потоки с сайтов могут не работать совсем или работать какое-то время — это нужно проверять.
Приступим.
1) Откроем сайт, где показывается ТВ:
2) Включаем тот канал, который нужен:
3) Теперь правой кнопкой мыши нажимаем на экран выходит вкладка:
4) Нажимаем «Исследовать элемент»:
5) Переходим во вкладку «Network»:
6) Дальше можно остаться во вкладке «All» или перейти во вкладку «XHR» где есть только потоки. Мы попали во вкладку с потоками канала. Теперь нужно найти такую ссылку которая заканчивается на .m3u8 или есть внутри ссылки(если есть внутри ссылки, то убираем всё до .m3u8):
7) Правой кнопкой мыши по ссылке с .m3u8 -> «Copy» -> «Copy link address»:
9) Теперь открываем любой видеоплеер, который может воспроизводить видеопотоки. Я рекомендую VLC. Нажимаем на вкладку «Медиа» -> Открыть URL… -> Вставить скопированную ссылку. -> «Воспроизвести»:
10) Проверяем работает ли канал, если работает, то можно вставить её в свой плейлист. Если у вас возник вопрос «Как создать плейлист?» можно посмотреть тут:
11) Если нужен ещё один или несколько каналов повторить п1. — п10.
PS. Если у вас возникнут вопросы или что-то непонятно пишите в комментарии обязательно отвечу.
< < | > > |
---|
Начало
5. Вебинары и автовебинары
5.1. Живой вебинар
5.1.2. Как создать и запустить живой вебинар?
Чтобы найти ссылку на свою трансляцию в YouTube после создания прямого эфира:
- Перейдите на свой YouTube канал.
- Нажмите на кнопку «Творческая студия YouTube» (справа).
- Выберите раздел «Видео» в меню слева.
- Выберите вкладку «Трансляции» (под заголовком «Видео на канале»).
- Возле нужной трансляции нажмите на три точки (Действия).
- В открывшемся подменю нажмите на «Копировать ссылку на видео».
Может быть интересно
UPD 13.12.2019: Статья устарела! Смотрите комментарии!
Долгое время я слушал свое любимое онлайн радио через сайт и захотелось мне однажды услышать его на своем любимом стареньком планшете с Android, причем через свою любимую программу, а не через предлагаемый для установки клиент. Для этого нужна прямая ссылка на поток вещания, которую на сайте радиостанции я искал и не обнаружил, посему будем эту ссылку добывать.
Освоив данную методику, можно узнать прямую ссылку практически на любую радиостанцию.
Поехали!
Разделим задачу на два пункта:
1. Определение IP сервера с которого идет поток.
2. Определение полной ссылки в анализаторе трафика. П.1 нужен нам для упрощения поиска ссылки в программе.
Собираем инструменты для ловли блох ссылок:
— TCPView от Microsoft/Sysinternals. Работает без установки.
— Wireshark Portable. Работает без установки. Скрывается на сайте под названием Windows PortableApps.
— Возможно потребуется WinPCAP для работы программы Wireshark. Требует установки. Можно смело удалить после того, как все сделаем.
Все программы запускаем от администратора, иначе могут отображаться не все данные.
Для тренировки выберем «жертвой» радио Ретро ФМ.
Задача: Нам нужна прямая ссылка на трансляцию Ретро ФМ 70е.
Часть первая: выполняем поиск IP адреса сервера трансляции.
— Запускаем трансляцию Ретро ФМ 70е на сайте.
Музыка начала играть через браузер.
— Запускаем TCPView. Ищем наиболее «прожорливый» поток данных.
— Копируем найденную в TCPView строку потока данных.
— Вставим скопированное в Блокнот.
Первый пункт выполнили: Мы нашли IP адрес сервера трансляции. TCPView закрываем. Браузер тоже закрываем (все окна), т.к. встречал ресурсы онлайн радио, на которых при остановке воспроизведения потока сами данные трансляции продолжали передаваться, а нам нужно поймать самое начало потока. Именно в начале, при запуске трансляции передается прямая ссылка на поток.
Часть вторая: «Ловим» прямую ссылку онлайн трансляции.
— Запускаем программу Wireshark.
Здесь надо указать правило фильтрации 1. В нашем случае — это IP сервера трансляции 77.91.65.146.
Далее надо применить это правило нажав на кнопку 2 и потом сделать двойной клик на имени интерфейса сетевой карточки ПК 3.
Сбор данных пошел, но отображаться ничего пока не будет, т.к. нет нужной нам трансляции.
— Запускаем опять наш браузер, заходим на сайт Ретро ФМ. Запускаем трансляцию Ретро ФМ 70е. Услышали звук? Идем дальше.
— Идем обратно в окно программы Wireshark.
Нажимая на красную кнопку, останавливаем сбор трафика. Собранных данных достаточно. Практически в самом начале списка видим нашу ссылку.
Нажимаем на строку со ссылкой. Разворачиваем пункт Hypertext Transfer Protocol и видим прямую ссылку на трансляцию.
Выделяем ссылку и копируем нажав Ctrl+C.
— Открываем Блокнот и вставляем скопированные данные. Убираем скобки и прочий мусор и получаем:
http://retro70.hostingradio.ru:8025/retro70-128.mp3
— Проверяем ссылку в плеере. У меня это Foobar2000.
Слышим звук трансляции. Бинго!
Задача выполнена! Мы нашли рабочую прямую ссылки на трансляцию Ретро ФМ 70е.
PS.
В процессе поисков Вы будете находить прямые ссылки на онлайн трансляции на подобии нашей:
http://retro70.hostingradio.ru:8025/retro70-128.mp3
Совет: Попробуйте в браузере пройти по ссылке отбросив данные после адреса сервера.
Продолжая наш пример с Ретро ФМ, это будет выглядеть так:
http://retro70.hostingradio.ru:8025
Иногда это позволяет зайти на страницу сервера трансляции и увидеть ссылки на другие потоки. В нашем случае зайти на сервер не получилось, т.к. админы Ретро ФМ поломали его веб морду.
Возможно специально.
You need to get the HLS m3u8 playlist files from the video’s manifest. There are ways to do this by hand, but for simplicity I’ll be using the youtube-dl tool to get this information. I’ll be using this live stream as an example: https://www.youtube.com/watch?v=_Gtc-GtLlTk
First, get the formats of the video:
➜ ~ youtube-dl --list-formats https://www.youtube.com/watch?v=_Gtc-GtLlTk
[youtube] _Gtc-GtLlTk: Downloading webpage
[youtube] _Gtc-GtLlTk: Downloading video info webpage
[youtube] Downloading multifeed video (_Gtc-GtLlTk, aflWCT1tYL0) - add --no-playlist to just download video _Gtc-GtLlTk
[download] Downloading playlist: Southwest Florida Eagle Cam
[youtube] playlist Southwest Florida Eagle Cam: Collected 2 video ids (downloading 2 of them)
[download] Downloading video 1 of 2
[youtube] _Gtc-GtLlTk: Downloading webpage
[youtube] _Gtc-GtLlTk: Downloading video info webpage
[youtube] _Gtc-GtLlTk: Extracting video information
[youtube] _Gtc-GtLlTk: Downloading formats manifest
[youtube] _Gtc-GtLlTk: Downloading DASH manifest
[info] Available formats for _Gtc-GtLlTk:
format code extension resolution note
140 m4a audio only DASH audio 144k , m4a_dash container, mp4a.40.2@128k (48000Hz)
160 mp4 256x144 DASH video 124k , avc1.42c00b, 30fps, video only
133 mp4 426x240 DASH video 258k , avc1.4d4015, 30fps, video only
134 mp4 640x360 DASH video 646k , avc1.4d401e, 30fps, video only
135 mp4 854x480 DASH video 1171k , avc1.4d401f, 30fps, video only
136 mp4 1280x720 DASH video 2326k , avc1.4d401f, 30fps, video only
137 mp4 1920x1080 DASH video 4347k , avc1.640028, 30fps, video only
151 mp4 72p HLS , h264, aac @ 24k
132 mp4 240p HLS , h264, aac @ 48k
92 mp4 240p HLS , h264, aac @ 48k
93 mp4 360p HLS , h264, aac @128k
94 mp4 480p HLS , h264, aac @128k
95 mp4 720p HLS , h264, aac @256k
96 mp4 1080p HLS , h264, aac @256k (best)
[download] Downloading video 2 of 2
[youtube] aflWCT1tYL0: Downloading webpage
[youtube] aflWCT1tYL0: Downloading video info webpage
[youtube] aflWCT1tYL0: Extracting video information
[youtube] aflWCT1tYL0: Downloading formats manifest
[youtube] aflWCT1tYL0: Downloading DASH manifest
[info] Available formats for aflWCT1tYL0:
format code extension resolution note
140 m4a audio only DASH audio 144k , m4a_dash container, mp4a.40.2@128k (48000Hz)
160 mp4 256x144 DASH video 124k , avc1.42c00b, 30fps, video only
133 mp4 426x240 DASH video 258k , avc1.4d4015, 30fps, video only
134 mp4 640x360 DASH video 646k , avc1.4d401e, 30fps, video only
135 mp4 854x480 DASH video 1171k , avc1.4d401f, 30fps, video only
136 mp4 1280x720 DASH video 2326k , avc1.4d401f, 30fps, video only
151 mp4 72p HLS , h264, aac @ 24k
132 mp4 240p HLS , h264, aac @ 48k
92 mp4 240p HLS , h264, aac @ 48k
93 mp4 360p HLS , h264, aac @128k
94 mp4 480p HLS , h264, aac @128k
95 mp4 720p HLS , h264, aac @256k (best)
[download] Finished downloading playlist: Southwest Florida Eagle Cam
In this case, there are two videos because the live stream contains two cameras. From here, we need to get the HLS URL for a specific stream. Use -f
to pass in the format you would like to watch, and -g
to get that stream’s URL:
➜ ~ youtube-dl -f 95 -g https://www.youtube.com/watch?v=_Gtc-GtLlTk
https://manifest.googlevideo.com/api/manifest/hls_playlist/id/_Gtc-GtLlTk.2/itag/95/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/cmbypass/yes/gir/yes/dg_shard/X0d0Yy1HdExsVGsuMg.95/hls_chunk_host/r1---sn-ab5l6ne6.googlevideo.com/playlist_type/LIVE/gcr/us/pmbypass/yes/mm/32/mn/sn-ab5l6ne6/ms/lv/mv/m/pl/20/dover/3/sver/3/fexp/9408495,9410706,9416126,9418581,9420452,9422596,9422780,9423059,9423661,9423662,9425349,9425959,9426661,9426720,9427325,9428422,9429306/upn/xmL7zNht848/mt/1456412649/ip/64.125.177.124/ipbits/0/expire/1456434315/sparams/ip,ipbits,expire,id,itag,source,requiressl,ratebypass,live,cmbypass,gir,dg_shard,hls_chunk_host,playlist_type,gcr,pmbypass,mm,mn,ms,mv,pl/signature/7E48A727654105FF82E158154FCBA7569D52521B.1FA117183C664F00B7508DDB81274644F520C27F/key/dg_yt0/playlist/index.m3u8
https://manifest.googlevideo.com/api/manifest/hls_playlist/id/aflWCT1tYL0.2/itag/95/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/cmbypass/yes/gir/yes/dg_shard/YWZsV0NUMXRZTDAuMg.95/hls_chunk_host/r13---sn-ab5l6n7y.googlevideo.com/pmbypass/yes/playlist_type/LIVE/gcr/us/mm/32/mn/sn-ab5l6n7y/ms/lv/mv/m/pl/20/dover/3/sver/3/upn/vdBkD9lrq8Q/fexp/9408495,9410706,9416126,9418581,9420452,9422596,9422780,9423059,9423661,9423662,9425349,9425959,9426661,9426720,9427325,9428422,9429306/mt/1456412649/ip/64.125.177.124/ipbits/0/expire/1456434316/sparams/ip,ipbits,expire,id,itag,source,requiressl,ratebypass,live,cmbypass,gir,dg_shard,hls_chunk_host,pmbypass,playlist_type,gcr,mm,mn,ms,mv,pl/signature/4E83CD2DB23C2331CE349CE9AFE806C8293A01ED.880FD2E253FAC8FA56FAA304C78BD1D62F9D22B4/key/dg_yt0/playlist/index.m3u8
These are your HLS m3u8 playlists, one for each camera associated with the live stream.
Without youtube-dl, your flow might look like this:
Take your video id and make a GET request to the get_video_info
endpoint:
HTTP GET: https://www.youtube.com/get_video_info?&video_id=_Gtc-GtLlTk&el=info&ps=default&eurl=&gl=US&hl=en
In the response, the hlsvp
value will be the link to the m3u8 HLS playlist:
https://manifest.googlevideo.com/api/manifest/hls_variant/maudio/1/ipbits/0/key/yt6/ip/64.125.177.124/gcr/us/source/yt_live_broadcast/upn/BYS1YGuQtYI/id/_Gtc-GtLlTk.2/fexp/9416126%2C9416984%2C9417367%2C9420452%2C9422596%2C9423039%2C9423661%2C9423662%2C9423923%2C9425346%2C9427672%2C9428946%2C9429162/sparams/gcr%2Cid%2Cip%2Cipbits%2Citag%2Cmaudio%2Cplaylist_type%2Cpmbypass%2Csource%2Cexpire/sver/3/expire/1456449859/pmbypass/yes/playlist_type/LIVE/itag/0/signature/1E6874232CCAC397B601051699A03DC5A32F66D9.1CABCD9BFC87A2A886A29B86CF877077DD1AEEAA/file/index.m3u8