Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video RTP\H.264的时间戳_Video_Video Streaming_H.264_Rtp - Fatal编程技术网

Video RTP\H.264的时间戳

Video RTP\H.264的时间戳,video,video-streaming,h.264,rtp,Video,Video Streaming,H.264,Rtp,我有一个关于I,p,B帧及其时间戳的问题 我知道RTP包的时间戳假设是单调增加的。 我还知道(如果我错了,请纠正我)在h.264中,帧可以在P_4帧之前传输,但在(P_4然后是B_5)之后显示,因此解码器将使用B帧对P帧进行解码 我有RTP\H.264流的pcap捕获,我可以看到时间戳增加\减少。。。而不是单调地增加 所以我的问题是RTP包(I,p,B帧)在h264传输时应该得到什么值 我很乐意就此事作出澄清 谢谢。这是一个非常有趣的问题,因为没有答案 我想你可以用PTS发送RTP,而不是DTS

我有一个关于I,p,B帧及其时间戳的问题

我知道RTP包的时间戳假设是单调增加的。 我还知道(如果我错了,请纠正我)在h.264中,帧可以在
P_4
帧之前传输,但在(P_4然后是B_5)之后显示,因此解码器将使用B帧对P帧进行解码

我有RTP\H.264流的pcap捕获,我可以看到时间戳增加\减少。。。而不是单调地增加

所以我的问题是RTP包(I,p,B帧)在h264传输时应该得到什么值

我很乐意就此事作出澄清


谢谢。

这是一个非常有趣的问题,因为没有答案

我想你可以用PTS发送RTP,而不是DTS。所以您的RTP序列是正确的,但时间戳不会是单调的

然后您可以分析它并恢复DTS/PTS

我知道RTP包的时间戳假设是单调增加的

连续的RTP数据包可能包含 如果数据未传输,则不是单调的时间戳 按照采样顺序,如MPEG插值的情况 视频帧。(数据包传输时的序列号 将仍然是单调的。)

此外,你的说法是不正确的

我还知道(如果我错了请纠正我),在h.264中,B_5帧可以在p_4帧之前传输,但在p_4之后显示(p_4,然后是B_5)(因此解码器将使用B帧来解码p帧)

首先,B帧依赖于I帧或p帧,即B帧不用于解码p帧,但相反->B5依赖于P4。没有理由在P4之前发送B5。请注意,这取决于您的GOP结构

如果媒体样本以解码顺序传输(这取决于RFC6184中定义的打包模式),并且GOP类似于I-B1-B2-B3-p,则这些帧将以I-p-B2-B1-B3传输


如果使用交织分组模式,则必须使用解码顺序号(DON)来恢复解码顺序。你可以在报纸上读到它

如果tmestamp不是单调的。这可能是a/V同步的问题

是否有将单调PTS放在具有非单调RTP timestammp的RTP接收帧上的概念?

也在此处解释: