Мы живем с вами в то время, когда видео с Youtube и других видеохостингов может скачать даже школьник с помощью огромного количества расширений для браузеров.
Что касается онлайн трасляций, то здесь уже не все так просто. В прошлом году еще задался целью скачать записи выступлений на Startup village в Сколково, но тогда ничего кроме захвата экрана не придумал. В этот раз решил пойти до конца и найти способ скачать онлайн трансляции. Готовых решений в интернете не видел, только многочисленные вопросы, как скачать с Comdi. Надеюсь кому-то мой опыт покажется полезным.
Startup village – самая крупная в Восточной Европе конференция для стартапов, которую проводит Фонд «Сколково». Во время проведения конференции ведется онлайн трасляция всех мероприятий, проводимых на многочисленных площадках. Трансляции потом доступны на сайте Startup village.
Сама страница с видео представляет собой фрейм, где отображается broadcast.comdi.com.
На странице можно выбрать зал и интересующее мероприятие.
Ни одно из популярных расширений для браузеров, таких как Save form и другие не находили ссылки на скачивание.
Как показал анализ, вся трансляция в рамках одной секции (например, конкурс стартапов в номинации «Разработка новых лекарственных препаратов» в Патио 4), состоит из файлов нескольких сотен файлов по 12-15 секунд формата MPEG-TS.
Видео
Идентификатор : 256 (0x100)
Идентификатор меню : 1 (0x1)
Формат : AVC
Формат/Информация : Advanced Video Codec
Профиль формата : Baseline@L3.1
Параметр CABAC формата : Нет
Параметр ReFrames формата : 3 кадра
Идентификатор кодека : 27
Продолжительность : 14 с.
Вид битрейта : Постоянный
Номинальный битрейт : 2000 Кбит/сек
Ширина : 1280 пикселей
Высота : 720 пикселей
Соотношение сторон : 16:9
Частота кадров : 25,000 кадров/сек
Стандарт вещания : NTSC
Цветовое пространство : YUV
Субдискретизация насыщенности : 4:2:0
Битовая глубина : 8 бит
Тип развёртки : Прогрессивная
Бит/(Пиксели*Кадры) : 0.087
Цветовой диапазон : Limited
Аудио
Идентификатор : 257 (0x101)
Идентификатор меню : 1 (0x1)
Формат : AAC
Формат/Информация : Advanced Audio Codec
Версия формата : Version 4
Профиль формата : LC
Режим смешивания : ADTS
Идентификатор кодека : 15
Продолжительность : 14 с.
Вид битрейта : Переменный
Каналы : 2 канала
Расположение каналов : Front: L R
Частота : 44,1 КГц
Частота кадров : 43,066 кадра/сек (1024 spf)
Метод сжатия : С потерями
Предлагаю готовый рецепт по скачиваю онлайн трансляций с Comdi.
1) Установить расширение Video Downloader Pro
2) Открыть страницу startupvillage.ru/ru/page/video
3) Через расширение Video Downloader Pro скачать файл chunklist.M3U8
В этом файле нам нужно посмотреть имя начального и имя конечного файла. В нашем случае начало трансляции – media_0.ts, конец трансляции –media_408.ts.
4) Скопировать ссылку на один из медиа файлов, например media_0.ts.
У меня это
https://webinar-htvod.cdn.ngenix.net/vod/_definst_/mp4:webinar/nsvuapdnbvoes8et2ls0_2_11113.mp4/media_0.ts
5) Далее зная, что все файлы одной сессии лежат в одной папке делаем 409 ссылок с инкрементов от 0 до 408.
6) Самый простой вариант Microsoft Excel.
Делаем три столбца
1-й столбец:
htvod.cdn.ngenix.net/vod/_definst_/mp4:webinar/nsvuapdnbvoes8et2ls0_2_11113.mp4/media_
2-й столбец:
номер по порядку
3-й столбец:
.ts
7) Скопируйте полученную таблицу в Notepad++ и удалите пробелы.
8) Скопируйте полученные ссылки в буфер обмена.
9) Запустите download manager. У меня стоит Download Master. При запуске он подхватил все 409 ссылок и создал загрузки.
10) После завершения загрузки имеем 409 файлов, которые можно при необходимо склеить или смотреть последовательно через плеер.
Have a fun!
Комментарии (22)
rockin
20.06.2016 15:56+6Способ абсолютно ламерский и для хабра просто моветон!!!
Тру вей — это F12 и Wireshark для того, чего там нет (RTMP)
Это чтобы получить плейлист
А чанки лепятся на ура просто через ffmpegrockin
20.06.2016 16:03Не имею возможность править… зачеркнуть ffmpeg, написать livestreamer
Livestreamer на входе ест не чанки, вам их скачивать не нужно. Он ест сразу файл плейлиста. chunklist.m3u8 или выше playlist.m3u8.ValdikSS
20.06.2016 16:06ffmpeg -i playlist.m3u8 -map 0 -c copy output.mkv
rockin
20.06.2016 18:07спасибо. я просто сим занимался с полгода назад и из-за переезда и смены компа всё немножко в голове перепуталось :)
значит, я был прав и так, и сяк. и ffmpeg умеет, и livestreamer
прекрасные консольные инструменты. как же я их люблю :)
DmitryBigbrain
20.06.2016 16:07-1rockin, статья написана для простых смерных, которые хотят скачать трасляцию и не знают матчасть. Так сказать с помощью подручных инструментов, которые есть в каждом доме.
rockin
20.06.2016 18:18простые смертные должны стремиться к прекрасному!
быстрому, прекрасному и трушному.
это же хабр, а не какой-то там бложик.
хабропуть: на входе адрес страницы, на выходе — кучка видеофайликов (один курс — один файл). а вот реализация — это имхо.
Loxmatiymamont
20.06.2016 16:21А теперь автоматизируйте это и люди вас не забудут!
DmitryBigbrain
20.06.2016 16:27-3Я то как раз и автоматизировал почти полностью. Пускай по ламерски, но хоть повторить смогут. Ссылки все формируются автоматически в Excel, нужно только растянуть ячейки =)
zedalert
20.06.2016 16:24Я так с РБК видео качаю, F12, и через цикл, написанный на PoSH, кладу в папку, затем tsdemux+mp4box.
Denai
20.06.2016 17:16Пункты 1-3 заменить на нажатие F12, пункты 5-9 на что-то просто разумное. Остаётся пункт 4 и 10, которые особой ценности тоже не несут. Замечательное руководство к действию!
lart
20.06.2016 17:18Можно и без екселя.
В Notepad++ дублируем ссылки вида
webinar-htvod.cdn.ngenix.net/vod/_definst_/mp4:webinar/nsvuapdnbvoes8et2ls0_2_11113.mp4/media_.ts
нужное количество раз. Выделяем вертикально (через Alt) столбец между media_ и .ts и заполняем через Alt+C (выбрать пункт «Числа для вставки», исходное 0, увеличение на 1, повторить 1 раз). Первые десять значений корректируем путем удаления пробела (тоже можно через вертикальное выделение).
Hello1
20.06.2016 20:14+1Зачем так сложно?
Для тех кто дружит с консолью — ffmpeg
Для тех кто хочет потыкать мышкой — в VLC в меню media выбираем convert/save и на вкладке network указываем ссылку на chunklist.m3u8
vadimkozhin
20.06.2016 21:09ffmpeg -i «https://webinar-htvod.cdn.ngenix.net/vod/_definst_/mp4:webinar/nsvuapdnbvoes8et2ls0_2_11113.mp4/media_0.ts» -c copy video.ts
DmitryBigbrain
20.06.2016 21:11-1Большое спасибо за комментарии друзья, узнал очень много нового и интересного. Теперь можно книжку писать «101 способ скачивания потокового видео» =)
andron58
21.06.2016 11:51Есть способ гораздо проще, например через wget делается одной строкой: wget webinar-htvod.cdn.ngenix.net/vod/_definst_/mp4:webinar/nsvuapdnbvoes8et2ls0_2_11113.mp4/media_{1..1000}.ts По итогу выполнения wget будем сам перебирать файлы по очереди, если какого-то файла нет, то он быстренько его пропустит.
Быстро склеить видео файлы в Windows можно простым bat файлом, либо через командную строку: copy /b *.ts output.ts (необходимо предварительно переименовать файлы, чтобы они шли по очереди)keylase
21.06.2016 11:56а вот так вот собрать религия не позволяет?
ffmpeg -i http://webinar-htvod.cdn.ngenix.net/vod/_definst_/mp4:webinar/nsvuapdnbvoes8et2ls0_2_11113.mp4/playlist.m3u8 -c copy -bsf:a aac_adtstoasc video.mp4andron58
21.06.2016 11:58Такие все грубые на хабре… Спасибо конечно за способ, попробую в ближайшее время.
Alexufo
24.06.2016 23:28так копировать не рекомендую. В чанках может быть метадата (не проверял), а не чисто порезанный бинарный поток.
Alexufo
Download Master можно заменить легко на https://aria2.github.io/ а то и на обычный wget.
И это еще у вас чанки не шифрованные. Обычно они идут ширфованные вместе с ключем. Для шифрованных пришлось мне повозится.
Вот так. Соотвественно для каждого куска.
Ключ соотвественно вставлять свой.
Склеивать в один файл можно через avidemux.