我在从rtmp流下载视频时遇到问题。我正在尝试从URL:http://stimotion.pl/galeria-kamer-online?catid=krosno&slg=dworzec下载流
在页面源代码中,我找到了带有播放器http://stimotion.pl/flow/krosno/dworzec.js.的js文件流服务器信息: rtmp://80.48.180.7/krosno,流名称: krosno2
我正在尝试使用rtmpdump下载它。我使用这个命令:
rtmpdump -o str.flv -r rtmp://80.48.180.7/krosno -y krosno2但我收到一条消息:
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
WARNING: HandShake: client signature does not match!
INFO: Connected...
ERROR: rtmp server sent error
Caught signal: 13, cleaning up, just a second...
ERROR: WriteN, RTMP send error 32 (42 bytes)
ERROR: RTMP_ReadPacket, failed to read RTMP packet header我应该怎么做才能保存此流中的视频?有可能吗?
感谢您的所有回复
发布于 2016-08-19 18:15:54
我回答这个问题晚了两年,但我这么做只是因为这个错误快把我逼疯了。就我而言,这并没有直接影响到我,而是影响了我的母亲,她生活在另一个国家,无法收听她最喜欢的广播电台。
我很高兴地说,我认为问题已经在上游解决了。这肯定是上游修复的许多缓冲区问题之一,如果你正在运行你最喜欢的发行版的新版本,它很可能已经为你修复了。
如果你还在使用Ubuntu 14.04,这里有一个变通方法。从git获取新的rtmpdump,并静态编译它,例如:
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump现在编辑Makefile,在其中显示LIB_RTMP=-Llibrtmp -lrtmp的位置,将其更改为:
LIB_RTMP=librtmp/librtmp.a现在编译它:
make SYS=posix生成的二进制文件将具有静态链接的librtmp1,并且不会干扰系统上较旧的librtmp0,因此您可以避免重新编译所有这些内容。
我现在可以不间断地收听我最喜欢的电台,就像这样:
./rtmpdump --url rtmp://ingest1.netdynamix.fm/Magic828//Magic828.stream | vlc -https://stackoverflow.com/questions/22493496
复制相似问题