rtmpdump - RTMP 发送错误 32
Posted
技术标签:
【中文标题】rtmpdump - RTMP 发送错误 32【英文标题】:rtmpdump - RTMP send error 32 【发布时间】:2014-03-18 23:50:55 【问题描述】:我从 rtmp 流下载视频时遇到问题。 我正在尝试从 URL 下载流:http://stimotion.pl/galeria-kamer-online?catid=krosno&slg=dworzec 在页面源代码中,我找到了带有播放器的 js 文件 [http://stimotion.pl/flow/krosno/dworzec.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
我应该怎么做才能从这个流中保存视频? 有可能吗?
谢谢大家的回复
【问题讨论】:
【参考方案1】:我迟了两年才回答这个问题,但我这样做只是因为这个错误让我发疯。就我而言,它并没有直接影响到我,而是影响了我的母亲,她住在另一个国家,无法收听她最喜欢的广播电台。
我很高兴地说,我认为问题已经在上游解决了。它一定是上游修复的许多缓冲区问题之一,如果您正在运行您最喜欢的发行版的新版本,很可能它已经为您修复了。
如果您仍在使用 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 -
【讨论】:
以上是关于rtmpdump - RTMP 发送错误 32的主要内容,如果未能解决你的问题,请参考以下文章