voip - H.264 over RTP 流在播放时损坏

标签 voip h.264 rtp

我正在从 grandstream 终端通过 RTP 录制 H.264 单 nalu 数据包流并进行回放。

问题是,当我播放它并将其发送到带有我正在开发的 RTP 模块的终端时,视频会跳过,并且帧之间的部分会变得模糊。我不知道正在发生什么或可能会发生什么。这是一些数据:

视频以 15 fps 录制和播放 帧之间的rtp时间戳增量为6000(90000khz/15fps) 如果时间戳不增加(对于图片参数集和其他与时间无关的数据包),rtp 数据包之间的时间间隔约为 66.66 毫利斯(1000 毫利斯/15fps)和 2 毫利斯。

所有这些数据都是用wireshark嗅探收集的。

所以,对我来说,流看起来很健康,但由于某种原因播放很糟糕。这是显示播放的视频的链接。

http://youtu.be/TGE14y76lc0

也许观看视频的人可以知道发生了什么。

感谢您的帮助!

最佳答案

终于被我破解了。这里有两个问题。

第一个在我录制时终端重置了 rtp 时间戳,这使得我的计数器变量溢出并在播放时弄乱了我的时间戳。

另一个问题与 Ralf 指出的有关,数据包没有被丢弃,但由于缓冲区错误,RTP 数据包在记录时被截断,因此 h.264 比特流信息丢失。

现在视频可以流畅播放了:D –

关于voip - H.264 over RTP 流在播放时损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14485377/

相关文章:

ios - iPhone在播放youtube视频后在播放记录中恢复 Audio Session

audio - 如何通过RTP进行流处理时音频编解码器的处理时间延迟

java - Java 流出库的使用方法

java - 通过java捕获RTP

ios - 在 iOS 中从后台启动 UIViewController

c# - 识别来电号码。最简单的方法是什么?

android - android 是否支持为 VoIP 和 PTT 项目实现 RTP、RTSP 的 API?

h.264 - 从H.264 NALU获取视频的宽度/高度

c++ - 由于 Windows Media Foundation 中的解析,SetOutputType 失败

ffmpeg - 使用 ffmpeg libav 和 libx264 从图像创建视频?