gpt4 book ai didi

streaming - RTMP 流媒体服务器实现 : connect/createStream/play message sequence passed, 但 flashplayer 中没有视频/音频

转载 作者:行者123 更新时间:2023-12-01 13:04:43 31 4
gpt4 key购买 nike

您好!

编写RTMP 流媒体服务器用于流式传输AVC+AAC 视频。它与 rtmpdump 配合使用效果很好。但我不能强制它在 flowplayer 和其他 Flash 视频播放器中工作。

握手后的消息序列类似于FMS/RED5/erlyvideo/haxevideo servers: I'我们尝试了很多变化。

从 Chrome 调试控制台我可以看到,所有协商消息都传递给了 flowplayer。最后一个是onMetaData。在此之后,工作示例 (rtmp://flash.tvwmedia.net/LiveVideo//Live300) 获得 NetStream.Buffer.Full。从我的服务器流式传输不明白。

我从包含 sps/pps 的 AVC header 消息开始。在它通过第一张 AVC 图片之后。之后 - AAC header 和 AAC 示例。然后是 AVC/AAC 样本。 rtmpdump 成功转储 - 我在退出时正在处理 flv。但是 flowplayer 和其他的不起作用。

  1. 可能是什么问题?
  2. 对流是否有任何额外要求?
  3. 是否有可能是损坏的 h264 流导致 flashplayer 停止播放?是否可以从flash player获取系统消息,里面有没有说?

希望,您能帮助我 :) 我在 2 周多的时间里一直在与这个问题作斗争,现在只是不知道我可以尝试的任何变体。

这里是 debug log + flv来自 rtmpdump。它包含谈判消息和一些第一批媒体样本。


更新:

我已经修复了一个错误:错误的 block stram ID 用于“系统”消息(例如 SetChunkSize)。但它仍然不播放。这是 another log ,几乎与 wowza 产生的一样。还有 wowza/red5 日志(比较)。

我检查了以下内容,这些内容在 RTMP 服务器中有所不同:

  1. 不同的 ChunkStreamID(针对非系统流)
  2. 不同的 StreamID(在 createStream 上)
  3. 128b 和 4Kb block 大小
  4. Unpacked/Packed chunk headers(在prev.log中有unpacked,在new-packed)
  5. connect 调用的不同答案(来自许多服务器)
  6. 使用57 0057 01视频包(视频信息/命令帧)
  7. 在每张图片前添加09(Access Unit Delimiter)NALU
  8. 音频/视频DCR/数据包的不同顺序
  9. 仅音频/仅视频

但是调整所有这些并没有让我的服务器正常工作:)

有什么解决办法吗?


更新:

我做了 a log按照 Peter 的建议,通过 Flazr 代理。结果是一样的。而且我找不到解决方案:两个日志看起来都不错。也许我只是没有看到简单的东西......


谢谢!

最佳答案

我不确定问题出在哪里,但您想确保您正在执行以下操作:

1.发送ping
2.处理字节读/写报告

从 rtmpdump 日志来看,你的流程看起来不错,我没有注意到任何明显的东西。还有两个项目可以帮助您,具体取决于您使用 C++ 或 Ruby 的经验。 Izumi 服务器相当简单,如果您是 Ruby 开发人员,可能更容易理解。
http://code.google.com/p/rubyizumi/

如果您是 C++ 专家,那么看看 RTMPd,Andrei 比我所知道的任何人都更了解服务器端闪存进程。
http://www.rtmpd.com/

最后,如果你想要另一个开源 Java Player/Server 实现来学习你可以看看Flazr http://flazr.com/

关于streaming - RTMP 流媒体服务器实现 : connect/createStream/play message sequence passed, 但 flashplayer 中没有视频/音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3893204/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com