Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Перехватитъ ссылку на HLS-трансляцию


Автор: RAIN666 15.2.2019, 13:46
 Привет всем.
Вкратце опишу суть.
Есть такие сайты как "Twitch" и "GoodGame", на которых идут прямые трансляции видео. Если не ошибаюсь, в формате "Adobe HLS".
Существуют также плагины к браузерам, которые перехватывают такую трансляцию в виде ссылки на *.M3U8-плейлист. Далее эту ссылку можно скормить программам типа FFMPEG и если повезёт и ничего не зависнет, то трансляция будет сдамплена в уканный видеофайл.
Вопрос в том, как перехватить эту ссылку? Не могу найти информацию на эту тему. 
Смотрел HTML-код стрницы с трансляцией. Там, вроде, нет ссылок на M3U8. Раскуривал Twitch API - тоже не нашел.
Подкиньте информации по теме.
Хочу подчеркнуть, что мне не нужно скачивать саму трансляцию в своей программе. Нужно просто проверить, идёт ли трансляция на указанной заранее странице, и, если идет, вытащить ссылку на M3U8-плейлист.

Автор: RAIN666 15.2.2019, 14:40
Кажется, для твича нашел.
Буду раскуривать.

Автор: RAIN666 3.3.2019, 14:41
Итак.
С твичом и гудгеймом я разобрался. Вытащить ссылку можно через их API. Если кому-то нужен код - напишите мне на мэйл. У твича эта функция официально не документирована, но в интернете можно найти несколько устаревших исходников на питоне, где написано как вытащить ссылку на лайв трансляцию с твича. Эти исходники компилируются и запускаются, но не работают. Но если их раскурить и переписать на нормальном языке, немного допилив код - всё работает. С гудгеймом всё так же, но намного проще. Основная задача решена.
Однако, откытым остаётся следующий вопрос. Выходит, что если у сайта нет своего API или оно не дает возможность вытащить ссылку, то вытащить ссылку никак нельзя? То есть, универсального способа нет, а в плагинах-перехватчиках ссылок прописаны разные способы для всех, известных автору, сайтов? Так это работает?
Но ведь видео же воспроизводится на странице сайта. Разве нельзя как-то узнать, откуда именно оно поступает?
Мне это не сильно надо, но просто теперь стало интересно, как это работает.
Где-то читал, что надо скачивать и как-то парсить страницу с плеером. Но как именно парсить и что там искать  - я не понял.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)