如何在Linux上下载rtmp视频流?

如何在Linux上下载rtmp视频流?

我想下载今天下午 5-6 点从以下地球摄像头录制的视频:

http://www.abbeyroad.com/crossing

我如何在 debian 或 ubuntu 中下载它?

检查源代码我得到以下信息:

rtmp://video4.earthcam.com/archives/MP4:abbeyroad_archives/2016/03/26/1700.mp4

我尝试使用 rtmpdump 应用程序,如下所示:

rtmpdump -r "rtmp://video4.earthcam.com/archives/MP4:abbeyroad_archives/2016/03/26/1700.mp4"

但我收到以下错误消息

信息:已连接...错误:关闭连接:NetStream.Play.StreamNotFound

答案1

尝试指定 playpath -y,如下所示:

$ rtmpdump -r rtmp://video4.earthcam.com/archives/MP4:abbeyroad_archives/2016/03/26/1700.mp4 -y MP4:abbeyroad_archives/2016/03/26/1700.mp4 -o ~/2016-03-26_1700.mp4

解释

关于错误NetStream.Play.StreamNotFoundmplayerhq.hu 上的“NhJm”写道:

rtmpdump 无法自行找出应用程序/播放路径,因此您需要告诉它它们是什么:

  • “NhJm”的完整解决方案同时使用了指定应用程序和播放路径。
  • 但是,根据您的需要,它似乎只需指定播放路径即可工作:-y MP4:abbeyroad_archives/2016/03/26/1700.mp4

man rtmp:

--playpath -y 路径

覆盖从 RTMP URL 解析的播放路径。有时 rtmpdump URL 解析器无法自动确定正确的播放路径,因此必须使用此选项显式给出。

其他选项:

  • -o ~/2016-03-26_1700.mp4要保存到~/2016-03-26_1700.mp4,您可以根据自己的喜好自定义此输出路径

对于我的测试,我只是测试它是否可以启动,然后通过Ctrl+后不久取消c

...
INFO:   displayHeight         450.00
INFO:   moovposition          115974321.00
INFO:   duration              3604.94
2035.687 kB / 26.59 sec (0.7%)^C
Caught signal: 2, cleaning up, just a second...
ERROR: RTMP_ReadPacket, failed to read RTMP packet body. len: 1024
2037.111 kB / 26.66 sec (0.7%)
Download may be incomplete (downloaded about 0.70%), try resuming

我的测试结果文件虽然只有大约0.7%30 秒,但在使用 mplayer2 测试时具有大约 30 秒的可播放视频。因此,如果您没有取消,或者取消了,您可以通过该-e选项恢复,您可以获得完整的视频。

现在您可以成功地观察披头士乐队了艾比路通过 rtmp 的模仿者。

进一步阅读

答案2

尝试

rtmpdump -r rtmp://video4.earthcam.com/archives/ -y MP4:abbeyroad_archives/2016/03/26/1700.mp4 -o 1700.mp4

如果它是一个流,您需要添加该-v选项。

相关内容