当前位置: 首页 > 知识库问答 >
问题:

如何通过RTP改变h264中与Idr数据包相关的数据包?

陶英达
2023-03-14

我阅读了H.264视频RFC的RTP有效载荷格式,如果我在视频流中发现有sps和pps数据包(元数据),然后是Idr(完整图像),然后在上一个Idr到当前状态之间改变数据包,再从一开始。

我知道每个包装h264数据的rtp包报头都有序列号。

我不明白的是,对于更改的数据包(在Idr数据包之间),他们如何知道与它们相关的每个Idr?

在h264报头/数据中是否有写入它们与哪个rtp序列号或h264序列号相关?

共有1个答案

洪昊然
2023-03-14

是的。每个片都有一个片头。这在iso 14496-10中有记载。

 类似资料:
  • 根据H.264视频RFC的RTP有效载荷格式,在嗅探非idr片时,如何知道它与哪个idr片相关? 我在数据包中找不到任何配置它的区域,或者它只是与之前的idr片有关,根据序列号>

  • 2)当我接收到一个数据包,并且它是“fragment_type==28”(不仅仅是这样,而是让我们认为我真的得到了一个片段),这意味着我有一个IDR片段。 3)每个报文都有一个由发信方生成的序列号,该序列号按如下顺序排列:如果报文a的序列号为20,则发信方发送的下一个报文为21,以此类推。 现在让我们来回答我的问题: A)如果我有一个IDR要重建,我如何知道什么数据包属于这个IDR?让我举一个例子

  • 我知道使用Wireshark和VLC保存RTP h264流是可能的。但为了学习更多关于视频流,我正在尝试自己做。有几个相关的问题有助于阅读这个主题: 如何处理原始UDP数据包,以便directshow源筛选器中的解码器筛选器对其进行解码 如何将H.264 UDP数据包转换为可播放的媒体流或文件(碎片整理) 以这些为背景,我目前的工作如下: 我可以通过UTP接收RTP数据包。 我按照上面问题中的讨论

  • 我正在用c写一个抖动缓冲程序来处理rtp包。这里rtp使用UDP传输,所以连接不可靠,包会不整齐,也会有一些包丢失。如果包的顺序发生变化,我会通过序号(在rtp报头信息中)来排列,但是我怎么处理或者补偿包丢失呢?(因为包丢失不在我手上) 注意:我正在处理h264作为有效负载,他们要求我只使用RTP报头

  • 我正在为android编写一个rtp视频流,它从android本地套接字读取h264编码的数据并将其打包。问题是我做到了,但我在客户端(Voip)中不断收到黑帧。 通信方式如下:Android- 有几件事我还不明白: 1) Android的mediarecorder给了我一个原始的h264流,我怎么知道NAL何时根据该流开始/结束?它没有任何0x000001模式,但它有一个0x0000(我假设它是

  • 我有3个模型在我的项目: 用户型号代码: 职业标准守则 迁移: 用户职业模型代码 迁移: 当我尝试这个代码时,我通过他的名字搜索用户,并得到职业名称,然后计算该职业的用户。 代码: 我收到错误消息: 照明\数据库\查询异常:SQLSTATE[23000]:完整性约束违反:1052列'id'在其中子句是含糊不清的(SQL:选择*从存在的职业(选择*从用户内连接user_professionsuser