Хочу поделиться success story по использованию rtmpdump. Жена попросила скачать некую лекцию по эндокринологии, на которой почему-то сломали зубы все имеющиеся плагины firefox'а. В исходнике страницы ссылка на плеер с видео выглядела так:
Code:
show_pl('videoplayer', 'rtmp://mediasphera-vod.cdn.ngenix.net/vod/mp4:mediasphera/melnichenkogivop.mp4', '590', '332','http://www.1med.tv/player/st/video2-1895.txt','http://mediasphera-vod.cdn.ngenix.net/vod/_definst_/mediasphera/mp4:melnichenkogivop.mp4/playlist.m3u8');
Лекция была скачана следующим образом:
1. Завернул rtmp-поток с сервера на роутер:
Code:
iptables -t nat -A PREROUTING -p tcp --dport 1935 -j REDIRECT
2. Запустил в консоли rtmpsrv,
3. Запустил воспроизведение видео в браузере.
Всё!
Видео в браузере воспроизводиться не начнёт, т.к. поток будет перехватываться роутером, страничку в браузере можно закрыть. Утилита rtmpsrv сама запустить rtmpdump с нужными параметрами.
При скачивании видео на RT-N66U загрузка CPU была приемлемой:
Code:
Mem: 159304K used, 80540K free, 0K shrd, 144K buff, 115448K cached
CPU: 7.2% usr 14.4% sys 0.0% nic 0.0% idle 26.9% io 1.7% irq 49.7% sirq
Load average: 3.75 2.09 0.91 4/65 10441
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
10088 9634 admin R 3492 1.4 0 47.7 rtmpdump -r rtmp://…
286 2 admin DW< 0 0.0 0 2.3 [usb-storage]
53 2 admin SW< 0 0.0 0 1.3 [kswapd0]
А на D-Link DIR-320 процессорных мощностей почему-то не хватало. Утилита отказывалась работать, выводя сообщение:
Code:
$ rtmpsrv
RTMP Server v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL
Streaming on rtmp://0.0.0.0:1935
WARNING: Trying different position for client digest!
rtmpdump -r "rtmp://mediasphera-vod.cdn.ngenix.net/vod" -a "vod" -f "WIN 11,8,800,168" -W "http://www.1med.tv/player/uppod.swf" -p "http://www.1med.tv/archive/lektsii/endokrinologiya-v-iskusstve.html" -y "mp4:mediasphera/melnichenkogivop.mp4" -o melnichenkogivop.flv
Closing connection... done!
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
INFO: Connected...
Duplicate request, skipping.
Closing connection... done!
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
WARNING: Trying different position for client digest!