如何使用 rtmp 协议下载流视频?来自哈佛扩展,更具体地说

alx*_*yzc 24 rtmp file-download video-streaming

我一直无法从哈佛推广学院下载视频讲座。我希望我能拿 CS171,但我发现自己不得不花费大量时间等待无休止的缓冲。所以我想找到一种方法来下载讲座并在本地观看。

所以我试图查看页面的源代码(以第一讲为例),我发现 FlashViewer 与一个 XML url 链接。我按照链接,发现“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'。

我不确定那是什么意思...

我也尝试过通过 apt-get 获得的 rtmpdump。当我跑

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

我得到

    RTMPDump v2.4
    (c) 2010 年 Andrej Stepanchuk、Howard Chu,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-8524x48 --sout 文件/ts:output.mpg vlc://quit

    VLC 媒体播放器 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-av1240 mp4:输入/输出错误
    [0x7f6f20000b28] 主要输入错误:打开`rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-52x4 mp4' 失败
    [0x7f6f20000b28] 主要输入错误:您的输入无法打开
    [0x7f6f20000b28] 主要输入错误:VLC 无法打开 MRL 'rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h2484-av1 -16x9-852x480.mp4'。检查日志以获取详细信息。
    [0x7f6f28002a08] idummy demux:命令“退出”

作为回应。

我还在 Windows 上尝试过 Orbit 下载,但体验为零。下载甚至不会开始!

有人会很好地告诉我为什么下载此类文件如此困难以及这些错误消息的含义吗?有什么办法可以在本地观看这些讲座吗?

Ste*_*nny 16

使用 RtmpSrv

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 年 Andrej Stepanchuk、Howard Chu,Flvstreamer 团队;许可证: GPL
连接...
信息:已连接...
开始下载:0.000 kB
[...]
3322.127 KB / 22.03 秒 (0.3%)

编辑:请不要再问我这个答案。多年前我从 RTMP 社区中被引导,不想重温那个。此答案仅因历史原因而存在,无法删除。


Got*_*bel 11

使用VLC 播放器下载rtmp流:

  1. 步骤:选择Media > Convert/Save(或使用快捷键Ctrl+ R
  2. 步骤:选择选项卡 Network
  3. 步骤:输入rmtp流URI

    在此处输入图片说明

  4. 步骤:选择Convert并输入目标路径/文件
  5. 步:走!