tar xvf rtmpdump-2.3.tgz cd rtmpdump*Копилируем
makeесли появляются ошибки типа "No such file or directory", значит в вашей системе не хватает необходимых библиотек. Доустанавливаем необходимое: мне не хватало openssh/ssh.h
$aptitude search ssh ... libssh-dev # <= необходим пакет с суффиксом -dev (это исходные коды) ... $# ставим $sudo aptitude install libssh-dev $# опять пробуем собрать rtmpdump $makeЕсли удачно пакет собрался, то в папке найдете rtmpdump. Устанавливаем ему права на запуск
$ chmod +x rtmpdump
А теперь по шагам 1) start wireshark
$ sudo wiresharkЗапускаем захват снифиринг пакетов на сетевом интерфейсе подключенном к инету (обычно eth0)
в ФИльтер пишем Filter: rtmpt
2) Теперь переключаемся в браузер и открываем нужный ролик, нажимаем Play. Переключаемся в wireshark и видим в первых строках Handshake. По этой строке правой клавишей мыши и выбираем Follow tcp
3) в открывшемся окне запускаем поиск и ищем слова "connect" или "app" или "play" (мне обычно хватает поиска по play) Find: "connect" "app" "play"
4) Теперь в папке скопилированного rtmpdump создаем скрипт (можно любым редактором, я использую nano)
$ nano run.shв файл вставляем
#!/bin/sh SERVER="rtmp://video-3-1.rutube.ru:1935/rutube_vod_2/_definst_" FILENAME="mp4:vol24/movies/6f/6d/6f6d7247b6d61bb5999b7bfe60aac8db.mp4" # url берем прямо с адресной строки браузера URL="http://rutube.ru/tracks/3194354.html?v=6f6d7247b6d61bb5999b7bfe60aac8db" #адрес плаера, можно взять или из исходного кода страницы, или из окна Follow tcp снифера (все значения находится в соседних строках) PLAYER="http://rutube.ru/player.swf" # искомый файл в формате flv OUTFILE="v.flv" ./rtmpdump -r $SERVER -t $SERVER -y $FILENAME -p $URL -s $PLAYER -o $OUTFILEиз Follow tcp окна заменяем соответсвующие переменные на значение вашего ролика
вместо wireshark можно
$ sudo cat /proc/kcore | strings | awk 'length > 20' | grep rtmp | grep -o 'rtmp:[^"]*' | grep ".mp4"или tcpdump
ИЛИ rtsp
$ mencoder rtsp://yatv.chanson.cdnvideo.ru:554/chanson-live/shansontv.sdp -oac mp3lame -lameopts cbr:br=56 -ovc x264 -x264encopts bitrate=100 -rtsp-stream-over-tcp -o F.aviИЛИ
$ mplayer -noframedrop -dumpfile out.rm -dumpstream rtsp://yatv.chanson.cdnvideo.ru:554/chanson-live/shansontv.sdp
VLC
$ cvlc rtsp://yatv.chanson.cdnvideo.ru:554/chanson-live/shansontv.sdp :sout=#transcode{vcodec=h264,vb=768,ab=64,acodec=mp3,samplerate=44100,deinterlace,high-priority}:std{access=http,dst=0.0.0.0:8080/stream.flv}
Скажите пожалуйста как использовать ваш способ в Ubuntu? Установлен rtmpdump качал с других сайтов, но на рутьюб останавливается на 3х процентах.
ОтветитьУдалитьВ общих чертах я описал с статье. Проблема с рутубом в том что нужно определить точный адрес rtmp потока, сервер, адрес плеера (похоже что используется для авторизации). Для определения этих параметров я использовал wireshark, включать его на сканирование трафика нужно перед открытием страницы с видео, т.к. передача нужных параметров происходит в перевые секунды после запуска видео.
ОтветитьУдалитьЕсли вопрос еще актуален и интересует могу выложить видео всего процесса.
Актуален. Очень мало информации в сети об этом и скудная. Если Вас не не затруднит...
ОтветитьУдалитьА как добавить потоки rtmp в плейлист VLC? Хотелось бы запускать промсотр из VLC. Возможно ли это?
ОтветитьУдалитьЕсли получилось запустить запись потока вот этой командой
ОтветитьУдалить./rtmpdump -r $SERVER -t $SERVER -y $FILENAME -p $URL -s $PLAYER -o $OUTFILE
то просто можно открыть в VLC файл $OUTFILE и смотреть.
Только со времени написания статьи у рутуба, по крайней мере у него, многое поменялось и поток они теперь отдают через video/x-f4f
о том как его граббить и программы/скрипты есть здесь
http://www.stream-recorder.com/forum/
Спасибо. Я смотрю другие потоки командой
Удалитьrtmpdump -r "rtmp://origin.cdn.ua:1935/coliseum.su/_definst_//dodtrk.com.ua" --quiet | "C:\Program Files\VideoLAN\VLC\vlc.exe" -
У меня есть несколько URL и хотел бы не писать эти команды вручную в консоли, а переключаться между потоками из плейлиста VLC.
Попробуй поискать GUI программу, обертку над rtmpdump, может даже на форуме stream-recorder.com, которая может работать с несколькими стримами одновременно.
ОтветитьУдалитьИначе вижу только вариант скрипт который будет одновременно скачивать несколько стримов в разные файлы, а файлы соответственно можно добавить в обычный плейлист. Но это решение некомильфо конечно же.
Стандартного решения в rtmpdump для такой задачки я не находил.