我正在实施ATSC-153规范,该规范基本上根据RFC 3984在IP/UDP/RTP中广播基线H.264视频配置文件.帧的片段正在重新组装,并且大部分在嵌入式播放我正在处理的处理器,虽然由于某种原因我正试图追踪的一些腐败现象正在发生.我试图将其封装到MPEG-TS中以便在Windows(VLC)上进行渲染以进行一些比较,并且由于某种原因我遇到了困难.由于某种原因,VLC,TSReader和MPEG2Repair无法找到视频.我正在做的步骤如下,对于我收到的SPS或PPS H.264帧,它们是相同的.
创建PAT/PMT,PMT PID 0x11,视频类型为0x1b,视频PID为0x280,PCR pid为0x1fff(无pcr).实际上,我通过这个每15帧左右.
我在帧中附加了访问单元分隔符,NAL号9.我认为这应该附加到传输中的所有H.264帧.主要pic类型是1(0x30字节),它对应于基线配置文件的I,P.
我附加了一个PES头帧,它有来自RTP头的PTS.
我附加了4字节的TS标头.在帧的开头,我设置了PUS位.我为序列保留了一个4位计数器.
任何剩余的字节都不能被184整除,我把一个带有适配字段(长度设置,标志字节设置为0)的TS数据包填充(或填充)到剩余字节.
我确保流以SPS帧开始.根据我的理解(可能不是很好),这应该包含一个实际的图片.SPS帧在流中是15K字节左右.这是第一个TS数据包的转储:
000 47 42 80 15 00 00 01 E0 00 00 81 80 05 21 AA BB
010 9A 91 00 00 00 01 09 30 00 00 00 01 67 42 C0 14
020 9A 44 0D 0F 9F F8 00 08 00 08 04 00 00 00 01 68
030 DE 24 88 00 00 00 01 E6 87 26 D6 AC FA 58 78 24 …Run Code Online (Sandbox Code Playgroud)