Как я могу скачать потоковое видео по протоколу RTMP? Из Гарвардского расширения, более конкретно


24

У меня были проблемы с загрузкой видео лекций из Гарвардской школы расширения. Я надеялся, что смогу взять CS171, но мне пришлось потратить очень много времени в ожидании бесконечной буферизации. Поэтому я хочу найти способ загрузить лекции и посмотреть их на месте.

Поэтому я попытался просмотреть исходный код страницы ( например, первую лекцию ) и обнаружил, что FlashViewer связан с URL-адресом XML. Я перешел по ссылке и обнаружил, что между тегами «rtmp» была ссылка на файл mp4: «rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124 -L01-1-h264-av1248-16x9-852x480.mp4 "и я подумал, что это все, файл, который я искал.

Затем возникает проблема с загрузкой. Я провел большой поиск и пробовал несколько раз. Никто не работал.

Один способ, который я попробовал, был запущен

    $ wget rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4

на моем Ubuntu, с ответом

    rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4: неподдерживаемая схема `rtmp '.

Я не уверен, что это значит ...

Я также пробовал rtmpdump, приобретенный через apt-get. И когда я бегу

    $ rtmpdump -r rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 -o lecture1.mp4

я получил

    RTMPDump v2.4
    (c) 2010 год Степанчук Андрей, Говард Чу, команда Flvstreamer; лицензия: GPL
    Подключение ...
    ИНФОРМАЦИЯ: Подключено ...
    ОШИБКА: закрытие соединения: NetStream.Play.Failed

Я не знаю, что означает NetStrem.Play.Failed ...

Затем я столкнулся с переполнением стека и предложил использовать mplayer и vlc:

    $ mplayer -dumpstream rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4

вернулся

    MPlayer svn r34540 (Ubuntu), собранный с gcc-4.7 (C) 2000-2012 MPlayer Team
    mplayer: не удалось подключиться к сокету
    mplayer: нет такого файла или каталога
    Не удалось открыть поддержку LIRC. Вы не сможете использовать свой пульт дистанционного управления.

    Игра в rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    libavformat версия 53.21.0 (внешняя)
    Несоответствие версии заголовка 53.19.0
    Использование сетевых протоколов без инициализации глобальной сети. Пожалуйста, используйте avformat_network_init (), это станет обязательным позже.
    Использование сетевых протоколов без инициализации глобальной сети. Пожалуйста, используйте avformat_network_init (), это станет обязательным позже.
    [rtmp @ 0x7f3de47abc00] Ошибка сервера: доступ для чтения запрещен для потока 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    Не удалось открыть rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.


    Выход ... (конец файла)

а также

    $ vlc -I dummy vlc -I dummy rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 --sout файл / ts: output.mpg vlc: // выход

с

    VLC media player 2.0.4 Twoflower (версия 2.0.3-289-g6e6100a)
    [0xf0aed8] фиктивный интерфейс: используя фиктивный интерфейсный модуль ...
    Использование сетевых протоколов без инициализации глобальной сети. Пожалуйста, используйте avformat_network_init (), это станет обязательным позже.
    Использование сетевых протоколов без инициализации глобальной сети. Пожалуйста, используйте avformat_network_init (), это станет обязательным позже.
    [rtmp @ 0x7f6f28010a20] Ошибка сервера: доступ для чтения запрещен для потока 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    [0x7f6f28002d38] ошибка доступа access_avio: не удалось открыть rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4: ошибка ввода / вывода
    [0x7f6f20000b28] Ошибка основного ввода: открытие `rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4 'не удалось
    [0x7f6f20000b28] Основная ошибка ввода: Ваш вход не может быть открыт
    [0x7f6f20000b28] ошибка основного ввода: VLC не может открыть MRL 'rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248 -16x9-852x480.mp4. Проверьте журнал для деталей.
    [0x7f6f28002a08] idummy demux: команда `quit '

в ответ.

Я также пробовал скачать Orbit на Windows с нулевой радостью. Загрузка даже не началась!

Кто-нибудь скажет мне, почему так сложно скачивать такие файлы и что означают эти сообщения об ошибках? И есть ли способ, которым я могу смотреть эти лекции на местном уровне?


до тех пор, пока вы не распространяете видео, вам будет справедливо загрузить его ИМХО
CSᵠ

Вы проверили ответ здесь: stackoverflow.com/questions/4808322/…
d33pika

@godka, ха-ха, пока я могу скачать его;

@ d33pika на самом деле нет. похоже, что rtmpdump по-прежнему является мощным инструментом. я думаю, что это флаги, которые я не смог подправить, которые не сделали работу

Ответы:


15

Используйте RtmpSrv. Это связано с rtmpdmp v.21 и далее:

Начиная с версии 2.1 есть две дополнительные серверные программы, rtmpsrv и rtmpsuck.

rtmpsrv - заглушка для сервера; он регистрирует параметры подключения и воспроизведения с обычного клиента, который подключается к нему. Затем он вызывает rtmpdump с этими параметрами, чтобы получить поток.

использование

rtmpdump -r rtmp: //flash.dce.harvard.edu/bounce -CB: 0 -CZ: \
-CS: /2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 \
-CS: BounceAPI3.0 -CN: 0,000000 -CS: mp4 \
-y mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 \
-o a.flv
RTMPDump v2.4-84-gdd57cd0
(c) 2010 год Степанчук Андрей, Говард Чу, команда Flvstreamer; лицензия: GPL
Подключение ...
ИНФОРМАЦИЯ: Подключено ...
Начальная загрузка в: 0,000 кБ
[...]
3322,127 кБ / 22,03 с (0,3%)
  • -r- URL-адрес сервера RTMP. Найдите URL в пакете «connect». Например, connect('22773_VOD_HOP_NEW_2013')ваш URL будетrtmp://serveraddress/22773_VOD_HOP_NEW_2013

  • -y- расположение файла и введите в rtmp-сервер вашего видеофайла. Нашел его в пакете "play".

  • -o- имя выходного файла. Если это поток mp4, используйте расширение .mp4.


Ты мой герой! Я был все обеспокоен флагом -C команды rtmpdump. (Я до сих пор не понял, как мне это настроить, но это работает!)
alxyzc

4
Постарайтесь объяснить, для чего нужны все параметры командной строки, потому что мне это не совсем понятно
Ivo Flipse

11

Используйте проигрыватель VLC для загрузки rtmpпотока:

  1. Шаг: Выберите Media > Convert/Save(или используйте ярлык Ctrl+ R)
  2. Шаг: выберите вкладку Network
  3. Шаг: введите URI потока rmtp

    введите описание изображения здесь

  4. Шаг: Выберите Convertи введите целевой путь / файл
  5. Шаг: иди!

1

Что касается законности, это будет зависеть от ограничений, установленных владельцем. Но я бы предположил, что если бы это было только для личного использования, не было бы большой проблемы.

Что касается их загрузки, вы должны иметь возможность использовать VLC . Я никогда не пробовал сам, но в нем указана поддержка протокола RTMP, и его обычная опция конвертирования / сохранения должна быть в состоянии сохранить Steam в файл без каких-либо проблем.


Я пытался это на самом деле, с результатом VLC кричать на меня со следующим: Your input can't be opened: VLC is unable to open the MRL 'rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4'. Check the log for details.кстати, как я могу проверить журнал?
alxyzc

@alxyzc Инструменты> Сообщения. Вы можете увеличить детализацию, чтобы увидеть все сообщения отладки.
2013 г.,

1

Я имел успех с некоторыми потоками RTMP, используя программу youtube-dl .

Это приложение командной строки, которое будет загружаться в ваш текущий каталог, если вы не передадите ему аргументы. С потоками RTMP я обычно просто передаю URL страницы, а не пытаюсь найти RTMP URI.

youtube-dl "http://domain/page-with-stream"

0

Потоковое видео Downloader может сделать это - я использую его, чтобы сохранить все почки видео. Просто попробовал это с вашей лекцией Гарварда, и это сработало. Это не бесплатная программа, но она может это сделать.

Возможно, вам придется обновить веб-страницу пару раз, хотя видео будет снято.

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


0

Будучи студентом Гарвардского университета, я привык смотреть лекции в 2 раза или выше (привычка от CS50), и беспокоит то, что у расширенных школьных видео эта функция отсутствует.

Я обнаружил, что Jaksta (вы можете найти бесплатную копию в Интернете где-то) довольно успешно загружает потоковые лекции в FLVформате, который я затем могу смотреть в VLC-плеере на любой скорости, к моему сердцу.

После загрузки первой лекции я могу загрузить следующие лекции на отдельном рабочем столе, пока смотрю первую. Я нашел это решение после того, как просмотрел все эти форумы и не совсем понял, как реализовать в Mac OS решение RMTP, которое было опубликовано выше.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.