首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rtmpdump - RTMP发送错误32

rtmpdump - RTMP发送错误32
EN

Stack Overflow用户
提问于 2014-03-19 07:50:55
回答 1查看 3K关注 0票数 2

我在从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下载它。我使用这个命令:

代码语言:javascript
运行
复制
rtmpdump -o str.flv -r rtmp://80.48.180.7/krosno -y krosno2

但我收到一条消息:

代码语言:javascript
运行
复制
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

我应该怎么做才能保存此流中的视频?有可能吗?

感谢您的所有回复

EN

回答 1

Stack Overflow用户

发布于 2016-08-19 18:15:54

我回答这个问题晚了两年,但我这么做只是因为这个错误快把我逼疯了。就我而言,这并没有直接影响到我,而是影响了我的母亲,她生活在另一个国家,无法收听她最喜欢的广播电台。

我很高兴地说,我认为问题已经在上游解决了。这肯定是上游修复的许多缓冲区问题之一,如果你正在运行你最喜欢的发行版的新版本,它很可能已经为你修复了。

如果你还在使用Ubuntu 14.04,这里有一个变通方法。从git获取新的rtmpdump,并静态编译它,例如:

代码语言:javascript
运行
复制
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump

现在编辑Makefile,在其中显示LIB_RTMP=-Llibrtmp -lrtmp的位置,将其更改为:

代码语言:javascript
运行
复制
LIB_RTMP=librtmp/librtmp.a

现在编译它:

代码语言:javascript
运行
复制
make SYS=posix

生成的二进制文件将具有静态链接的librtmp1,并且不会干扰系统上较旧的librtmp0,因此您可以避免重新编译所有这些内容。

我现在可以不间断地收听我最喜欢的电台,就像这样:

代码语言:javascript
运行
复制
./rtmpdump --url rtmp://ingest1.netdynamix.fm/Magic828//Magic828.stream | vlc -
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22493496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档