【问题标题】:WARN o.r.s.net.rtmpt.BaseRTMPTConnection - Response buffer was null after encodingWARN o.r.s.net.rtmpt.BaseRTMPTConnection - 编码后响应缓冲区为空
【发布时间】:2012-11-21 15:46:46
【问题描述】:

我已经成功在 CentOS 上安装了 red5 服务器。也就是说,oflaDemo 的演示使用 prometheus.mp4 和 JWplayer 文件运行没有问题。但是当我像这样放置另一个 mp4 文件时:

http://content.bitsontherun.com/videos/nhYDGoyh-kNspJqnJ.mp4

播放器加载速度非常缓慢,仅显示几秒钟的视频。在 red5 日志文件中,我看到多个警告“编码后响应缓冲区为空”,如下所示。尝试了其他几个mp4文件,结果都一样。对 mp4 文件有特定要求吗?还是我错过了特定的视频解码器?还是red5内部的问题?欢迎任何提示!

2012-11-20 15:49:55,261 [Red5_Scheduler_Worker-2] 信息 o.red5.server.net.rtmp.RTMPHandler - 连接到:[WebScope@6f51b1b7 深度 = 1,路径 = '/default',名称 = 'oflaDemo '] 2012-11-20 15:49:55,264 [Red5_Scheduler_Worker-2] 信息 org.red5.demos.oflaDemo.Application - W3C x-category:session x-event:connect c-ip:37.251.89.8 c-client-id: 0 2012-11-20 15:49:55,265 [Red5_Scheduler_Worker-2] 信息 org.red5.demos.oflaDemo.Application - oflaDemo appConnect 2012-11-20 15:49:55,360 [http-0.0.0.0-5080-exec-4] 信息 o.r.s.n.r.codec.RTMPProtocolDecoder - 操作 createStream 2012-11-20 15:49:55,507 [Red5_Scheduler_Worker-4] 信息 o.red5.server.net.rtmp.RTMPHandler - 记住流上的客户端缓冲区:2000 2012-11-20 15:49:55,556 [http-0.0.0.0-5080-exec-2] 信息 o.r.s.n.r.codec.RTMPProtocolDecoder - 动作游戏 2012-11-20 15:49:56,052 [pool-5-thread-1] INFO org.red5.demos.oflaDemo.Application - W3C x-category:stream x-event:play c-ip:37.251.89.8 x-名称:29295add-1dcc-4d74-b5e1-c7cd34c2b5c1 2012-11-20 15:49:56,837 [Red5_Scheduler_Worker-1] 信息 org.red5.io.mp4.MP4Atom - Apple 标志?:appl 2012-11-20 15:49:56,867 [Red5_Scheduler_Worker-1] 警告 org.red5.io.mp4.impl.MP4Reader - 跳过无效位置的视频帧 2012-11-20 15:49:57,531 [pool-5-thread-1] INFO org.red5.demos.oflaDemo.Application - W3C x-category:stream x-event:play c-ip:37.251.89.8 x- sname:29295add-1dcc-4d74-b5e1-c7cd34c2b5c1 x-name:mp4: 演示2.mp4 2012-11-20 15:50:34,376 [pool-5-thread-4] WARN o.r.s.net.rtmpt.BaseRTMPTConnection - 编码后响应缓冲区为空 2012-11-20 15:50:34,398 [pool-5-thread-4] WARN o.r.s.net.rtmpt.BaseRTMPTConnection - 编码后响应缓冲区为空 2012-11-20 15:50:34,410 [pool-5-thread-4] WARN o.r.s.net.rtmpt.BaseRTMPTConnection - 编码后响应缓冲区为空 [ETC]

【问题讨论】:

    标签: warnings red5


    【解决方案1】:

    您可以执行以下操作: 使用 FFMPEG 读取示例 MP4 的准确比特率和每秒帧速率,然后将您的视频转换为完全相同的设置。

    Red5 似乎确实存在您提供的格式的 mp4 问题。但是,您应该首先找出有效的示例 mp4 与您的示例之间的差异。 FFMPEG 应该能让你做到这一点。

    塞巴斯蒂安

    【讨论】:

    • 而你正在使用RTMPT,什么不先尝试RTMP?
    • 感谢您将我指向 ffmpeg,尽管我首先找不到可以澄清我的问题的格式差异。但是在谷歌搜索之后,我发现使用red5进行流式传输的帧速率必须是恒定的。所以我安装了 ffmpeg 并使用以下选项转换了视频,其中选项“-vsync 1”将强制帧速率恒定: -async 1 -vsync 1 -vcodec libx264 -r 24 -vpre fast -b 726k 现在正在播放视频,虽然不如原版那么流畅,但这可能与其他设置有关。还是谢谢!
    • MP4 阅读器在后续版本中进行了重构,应该会更有效地运行。如果您的视频仍然可用,我会对其进行测试。
    猜你喜欢
    • 1970-01-01
    • 2013-06-17
    • 2014-10-06
    • 2019-01-10
    • 2016-12-03
    • 2019-12-03
    • 2020-04-20
    • 2022-08-05
    • 1970-01-01
    相关资源
    最近更新 更多