首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

h264封装成PS的一些有关问题,希望前辈解答

2013-03-10 
h264封装成PS的一些问题,希望前辈解答小弟想把h264封装成PS流,但是封装出来的文件不管是vlc还是暴风影音等

h264封装成PS的一些问题,希望前辈解答
小弟想把h264封装成PS流,但是封装出来的文件不管是vlc还是暴风影音等都无法播放。
具体情况是:
h264是带00000167,00000168,00000165等起始标记的格式。
我把类型为SPS,PPS和紧接在这两者之后的一个类型标记为65的nalu作为一个IDR nalu,从内而外依次加上PES头,PSM头,PS头,同时,如果它是该文件的开头,则还要在PS头之后加入一个系统头。
其余的I和P类型的nalu则直接加上PES头和PS头。
最后文件尾部再加上一个000001b9结束符。

测试的时候使用的原始h264文件大小是2.89M,目标文件大小3.04M,VLC播放没有反应,只在媒体信息的统计一栏中能看到媒体数据尺寸,输入位率,已去复用数据尺寸三项中有数据,其他项值都为0.请问前辈们这大概是什么问题呢,是封装本身的方法就有问题还是各个包头中的数据填的不对。

同时我还试过用ffmpeg把目标文件转成mpg文件,但是发现生成的文件大小有5.94M,同时用UE查看后发现与原来的h264文件差异极大,基本都是0x000001E0,0x000001B3等标志,而根本找不到原来h264中的那些67,68,65,41等。是不是ffmpeg在进行h264到PS的封装的时候是先解码再重新编码了?而网上前辈们说的封装方法都是在原始数据之外加各种包头,即我采用的那种方法。

小弟初次接触这方面,还请前辈们多多指教。
h264?
[解决办法]
估计你转出来的MPG文件不是H264编码吧?
先确认MPG文件的视频流是H264编码,然后可以参考MPEG-2的文件规范,里面对TS、PS都做了详细的解释。

热点排行