实现一个python RTMP服务器,flash播放器发送媒体数据后重置连接,如何排除故障

Posted

技术标签:

【中文标题】实现一个python RTMP服务器,flash播放器发送媒体数据后重置连接,如何排除故障【英文标题】:Implementing a python RTMP server, flash player reset connection after send media data, how to troubleshoot 【发布时间】:2016-02-01 14:54:56 【问题描述】:

我正在开发基于 Gevent 的 RTMP 服务器。

RTMPDump 和 FFmpeg 都运行良好,但 flash 播放器总是重置连接。

如果有RTMP的故障排除工具,那么我至少可以知道哪里出了问题。

非常感谢。

更新(2016-02-02):

似乎是 setChunkSize 的错误,我使用 csid 8 但 csid 2 有效,连接重置已修复。

Bug 仍然 flash player 不播放,可能是握手错误。

正在努力...

更新(2016-02-05):

终于找到了解决办法,固定握手后跟着nginx-rtmp-mod,现在flash player可以正常播放了。

感谢您的帮助。

【问题讨论】:

获得了 rtmp 流的链接以便我们进行测试?也许它只是您特定 SWF (Flash) 中的代码在挣扎,而其他系统可以接收和播放音频/视频... 【参考方案1】:

我想说你最喜欢的工具应该是 Wireshark。 因为您可以在此处监控服务器和客户端之间的 RTMP* 消息传递,而无需反编译 SWF。

请参阅我与此类似的答案中的示例屏幕截图:

最好的问候,

尤金

【讨论】:

谢谢,我已经尝试使用 Wireshark 将结果与 nginx-rtmp-mod 进行比较。 嘿@BeenWoo 下一件事情,您希望以适当的 CLI 行格式从您的 SWFObject 传递所有参数以用于 rtmpdump。在此处查看-w 选项rtmpdump.mplayerhq.hu/rtmpdump.1.html

以上是关于实现一个python RTMP服务器,flash播放器发送媒体数据后重置连接,如何排除故障的主要内容,如果未能解决你的问题,请参考以下文章

实现输出h264直播流的rtmp服务器 flash直播服务器

技术分享无纸化会议|智慧教室同屏走RTSP组播还是RTMP?

基于Flash ActionScript 实现RTMP发布与播放媒本流

带有 adobe flash player 的 RTMP 流

video.js播放rtmp

Flash Media Server,从 Flash Builder 测试 RTMP 流