分类: LINUX
2016-06-21 09:32:42
一般我用HM编码出来的H265码流是NAL封装的裸码流, 但播放器处理的往往是有封装的码流.之前,我们傻傻地在播放器中间件里面搞了一套处理裸码流的parser, 随着各种需求的增多,感觉这是东西有些多余, 处处得在中间件的处理环节给它开小炤. 后来接触了MP4BOX, 从此我们就开始统一使用MOV 封装来调试码流.
1 裸码流 产生 MP4封装
mp4box -add stream_sean.265 -new stream_sean.mp4
2. 提取 mp4封装中的音轨 或者 视频轨
mp4box xxx.mp4 -raw 1 产生了视频轨 xxx.hecl
mp4box xxx.mp4 -raw 2 产生了音轨 xxx.acc
3. H265裸码流 + 音轨 产生 MP4封装
mp4box -add strea_sean.265 -add xxx.acc -fps 30 -new stream_sean.mp4
* 找个蓝光高清的H264码流, 解码成YUV, 再编码成H265.
* 提取蓝光的音频
* 合成MP4封装, (注意帧率一样,不然音视频不同步了)
嗯, 搞定HEVC码流~
The most simple example is like below:
mp4box -add .\i_main.265 -new i_main.mp4
while, i_main.265 is HEVC raw data stream. Be care of that the raw stream suffix name must be .265
the default fps is 25 add in this case there is not audio, you can do a little more complicated example:
mp4box -add raw_video.265 -add raw_audio.aac -new video.mp4
for more information of MP4BOX, you can read the help :
C:\Documents and Settings\A>mp4box -h
MP4Box [option] input [option]