通常对于视频,RTP数据包的标记位指示RTP的最后一个数据包。 那么,有了这个,我保证每个数据包可以收到1帧或者可以接收多个帧吗?
在解包后我不得不使用解析器来分离H.264帧?
如果每个RTP数据包可以获得多个帧,则可以获得下一帧的一部分吗?或者RTP数据包中的所有帧即使有多个帧完成?
致以最诚挚的问候,
答案 0 :(得分:2)
RFC 6184 "RTP Payload Format for H.264 Video"有针对提出的问题的答案。它可以是两种方式:每个数据包2个NAL单元,1个NAL单元碎片超过2个数据包。
见下面的引文:
5.7.1。单次聚合数据包(STAP)
只要 NAL,就应该使用单次聚合数据包(STAP) 单位是聚合的,它们共享相同的NALU时间。
和
5.8。分段单元(FU)
此有效负载类型允许将 NAL单元分段为多个RTP 包即可。在应用程序层上执行此操作而不是依赖于此 低层碎片(例如,通过IP)具有以下优点: