Показаны сообщения с ярлыком RTMPDumpHelper. Показать все сообщения
Показаны сообщения с ярлыком RTMPDumpHelper. Показать все сообщения

суббота, 26 октября 2013 г.

Как скачать видео со sportbox.ru

Да собственно также как с onlinetv.ru :)

Берём RTMPDumpHelper и RTMPDump и распаковываем все в один каталог.

Запускаем RTMPDumpHelper.exe, он автоматически ставит на прослушку все обращения на порт 1935 и запускает rtmpsuck.exe из комплекта RTMPDump, которому будет их переадресовывать.



Запускаем Firefox, открываем страницу с видео, например http://news.sportbox.ru/Vidy_sporta/edinoborstva/spbvideo_NI409958_Kendo-Vsemirnie-igri-boevih-iskusstv-Deni-3.
В браузере смотрим видео, а в окне rtmpsuck.exe видим параметры обращения к RTMP серверу, в отличии от online.tv здесь запрос один, без переадресовки:
...
Processing connect
app: xarvod/_definst_
flashVer: WIN 11,9,900,117
swfUrl: http://news.sportbox.ru/sites/all/libraries/spb_movie/_spbver_/player.swf
tcUrl: rtmp://sportbox-vod.cdn.ngenix.net:1935/xarvod/_definst_
pageUrl: http://news.sportbox.ru/vdl/player?nid=409958
Playpath: services/ngenix_validator?id=20131018135417_kendovsemirnyjeigrybojevyhiskuss_2_001.mp4/MTM4Mjc2NzA1OS9iMDc5MDk4YzNhLzg1MTJiYjI0NTczMWU3YjU1YTFkNDhjMmEwODhjNGQyMTkyODRmODA=
Saving as: ngenix_validator
WARNING: ignoring too small audio packet: size: 0
INFO: Metadata:
...

В это же время проигрываемое видео автоматически сохраняется в файл, но поскольку процесс длительный есть риск случайно закрыть одну из программ, участвующих в процессе и придется начинать всё сначала, поэтому я предпочитаю скопировать параметры tcUrl, Playpath и swfUrl из окошка rtmpsuck.exe в команду для FFmpeg:
ffmpeg -i "rtmp://sportbox-vod.cdn.ngenix.net:1935/xarvod/_definst_ \
Playpath=services/ngenix_validator?id=20131018135417_kendovsemirnyjeigrybojevyhiskuss_2_001.mp4/MTM4Mjc2NzA1OS9iMDc5MDk4YzNhLzg1MTJiYjI0NTczMWU3YjU1YTFkNDhjMmEwODhjNGQyMTkyODRmODA= \
swfUrl=http://news.sportbox.ru/sites/all/libraries/spb_movie/_spbver_/player.swf" -c copy kendo_1_001.mp4

Через час нужное видео будет на диске.

з.ы. как всегда обратные слэшики из команды лучше выкосить, не все командные оболочки их правильно понимают.

воскресенье, 10 февраля 2013 г.

Как загрузить видео с OnlineTV.ru - 2 (попроще)

Способ распотрошить обмен браузера и RTMP-сервера при помощи wireshark рабочий, но это, так сказать, тяжелая артиллерия. В принципе в комплекте RTMPDump есть утилита-прокси сервер rtmpsuck.exe, которая, если на нее перенаправить запросы браузера "наружу", на порт 1935, выдаст все параметры, с которыми браузер запрашивает данные по RTMP. В описании есть и пример команды, как это перенаправление сделать средствами linux. Под windows средствами OS это сделать затруднительно, но зато есть RTMPDumpHelper от NirSoft. RTMPDumpHelper пытается внедрить свою dll во все процессы, использующие интернет, отлавливает обращения на порт 1935, перенаправляет их на rtmpsuck.exe, а ответ, который возвращает rtmpsuck.exe передает обратно в процесс браузера.

Итак, качаем RTMPDumpHelper и RTMPDump и распаковываем все в один каталог.

Запускаем браузер, открываем страницу с видео, например http://www.onlinetv.ru/video/643/.
Запускаем RTMPDumpHelper.exe, RTMPDumpHelper автоматически ставит на прослушку все обращения браузера на порт 1935 и запускает rtmpsuck.exe из комплекта RTMPDump, которому будет их переадресовывать.
Запускаем на просмотр видео. В браузере смотрим видео, а в окне rtmpsuck.exe видим параметры первоначального обращения и второго, после переадресовки:



В это же время проигрываемое видео автоматически сохраняется в файл, но можно и скопировать параметры из окошка rtmpsuck.exe в команду для FFmpeg, чтобы например, создать файл только со звуком:
ffmpeg -i "rtmp://88.212.207.11:1935/onlinetv/mp4:onlinetv/32/643/petrovic_hq.mp4 \
playpath=mp4:onlinetv/32/643/petrovic_hq.mp4 \
swfUrl=http://www.onlinetv.ru/static/flash/player.swf?v=1.0.5.5" \
-vn petrovic.mp3

или видео полностью:
ffmpeg -i "rtmp://88.212.207.11:1935/onlinetv/mp4:onlinetv/32/643/petrovic_hq.mp4 \
playpath=mp4:onlinetv/32/643/petrovic_hq.mp4 \
swfUrl=http://www.onlinetv.ru/static/flash/player.swf?v=1.0.5.5" \
-c copy petrovic.mp4

з.ы. К сожалению RTMPDumpHelper иногда падает и при этом его dll остается загруженной в кучу процессов :(, но что еще хуже, после одного падения RTMPDumpHelper уже невозможно нормально запустить, он начинает падать сразу после запуска, и так до перезагрузки компьютера.