| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 или оно не дает возможность вытащить ссылку, то вытащить ссылку никак нельзя? То есть, универсального способа нет, а в плагинах-перехватчиках ссылок прописаны разные способы для всех, известных автору, сайтов? Так это работает? Но ведь видео же воспроизводится на странице сайта. Разве нельзя как-то узнать, откуда именно оно поступает? Мне это не сильно надо, но просто теперь стало интересно, как это работает. Где-то читал, что надо скачивать и как-то парсить страницу с плеером. Но как именно парсить и что там искать - я не понял. |