海思3518ev200处理器封装MP4的音频和视频同步OK

今天用海思3518ev200处理器封装MP4的音频和视频同步OK,记录一下。

封装mp4用的GPAC开源代码,GitHub上可以搜到。

使用别人封装好的从gpac提取总结的接口函数,网络搜索MP4Writer,或者我上传的经修改过的代码

用接口在一个线程中同时顺序调用视频和音频demo中的代码,音视频写入一个文件中。

置得注意的是:音频和视频的时间戳要取获取数据中自带的pts,因封装的代码传入时间戳参数单位ms,所以海思自带pts需要除以1000传入到接口函数,采集出的音视频同步啦。

关键代码:

//前面需要对视频数据统一拷贝到dataBase处
MP4WriterWriteVideo2File(hFile, dataBase, len, bKey, stStream.pstPack[0].u64PTS/1000);
//音频需要转到AAC,传入下面。AAC用EasyAACEncoder开源代码转一下即可
MP4WriterWriteAudio2File(hFile,pbAACBuffer,out_len,AudioStream.u64TimeStamp/1000,initParam.u32AudioSamplerate,initParam.ucAudioChannel,initParam.u32PCMBitSize);

主要是音视频存储为MP4格式的视频。

PPS:

录制发现有点问题,最后部分好像无法播放,将时间戳用视频的时间戳带入音频时间戳,录制视频没问题。但这样不知道是否对不对。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值