使用Mp4V2踩坑

前言

      最近新接到的工作任务中有一个留影留言的功能。整体的功能是在设备端通过采集声音和图像,再把两者合成MP4文件,上传到云平台,另外一台设备通过云平台来拉取到视频内容,我这边负责的是推流端。同事之前做过类似的功能,但因为是不同的产品类型,所以还是有很大的差异的,他之前是使用MP4V2库和FAAC库。

一、FAAC简介

FAAC是一个MPEG-4和MPEG-2的AAC编码器,其特性是:可移植性好,快速,支持LC/Main/LTP,代码很小,而且可以直接把代码加到工程里面编译,也可使用静态库。该库在项目中的主要作用是把采集到的声音从PCM格式转化为ACC格式,因为ACC编码格式才能合成MP4文件。

二、MP4V2简介

 MP4V2的前身是MPEG4IP开源项目中的一个功能库,但是现在MPEG4IP已经不在更新了。但是MP4V2还在更新,并且独立出来了。MP4V2主要是作为MP4文件的录制一个开源库,在项目中是把H264视频和ACC音频合成为Mp4文件。

两个库都可以在网上找到源码库,网上也有很多的接口以及一些简单的示例程序。

三、实际开发中遭遇的问题

在把两个库编译成动态库链接到项目中,编译项目通过了,当时就觉得应该是没有多大问题了,然而。。。。在调用Mp4V2库里面的接口的时候就发现在MP4AddH264VideoTrack函数上直接报错,运行停止:terminate called after throwing an instance of 'mp4v2::impl::Exception*'。Mp4V2的库使用C++编写的库,直接抛出了错误,去库的源码里面查找先关的异常信息,发现有很多地方都有类似的信息,去网上查找资料也没知道有用的信息。大概调试了两三天之后依旧没有解决了这个问题,初步判定可能和芯片的平台以及编译工具有关系,有大佬遇到过相关的问题的希望可以不吝赐教。实在没办法只能是换方案了,转战FFmpeg了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独尊0136

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值