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

У меня были проблемы с загрузкой видео лекций из Гарвардской школы расширения. Я надеялся, что смогу взять 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/ подпрыгивать / mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4. Проверьте журнал для деталей.
    [0x7f6f28002a08] idummy demux: команда `quit' 

в ответ.

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

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

6 ответов

Решение

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

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

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

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

rtmpdump -r rtmp://flash.dce.harvard.edu/bounce -C B:0 -C Z: \
-C S:/2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 \
-C S:BounceAPI3.0 -C N:0,000000 -C S: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.

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

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

    введите описание здесь

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам