MP4V2 使用——编译、录制

本文详细介绍了MP4V2库的编译步骤及常见错误解决方法,并提供了使用MP4V2进行MP4格式视频录制的具体代码示例与注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MP4V2——编译、使用

 

MP4格式的录制可以用ffmpeg,可以参考我的文章 http://blog.youkuaiyun.com/qq_23282479/article/details/75041518 ,也可以用MP4V2,这个个专门录制MP4格式视频的库,如果你只想使用录制MP4这个功能,或者不想用ffmpeg那么大的库的话,就用MP4V2吧。

 

一、MP4V2 的编译

 

参考 http://blog.youkuaiyun.com/yuan1125/article/details/51051683 

 

./configure --prefix=/home/linux/mp4v2-2.0.0/_install --host=arm-xxx-linux CC=arm-xxx-linux-gcc CXX=arm-xxx-linux-g++ --disable-optimize --enable-util

make

make install

如果没出现动态库,就是--host 没设置好,或者是export PATH 没设置好。

 

二、MP4v2的使用

 

代码参考:

http://blog.youkuaiyun.com/jwzhangjie/article/details/8782650 //讲解函数

http://www.cnblogs.com/chutianyao/archive/2012/04/13/2446140.html //一个例子

 

 

make出现错误

streaming.h:72: error: expected declaration specifiers or '...' before 'MP4TrackId'

error: expected '=', ',', ';', 'asm' or '__attribute__' before 'MP4GetHintTrackReferenceTrackId'

 

原因是可能包含了cpp 的头文件。

百度:其中mp4v2.h是顶层include文件。使用mp4v2库时,只需包含mp4v2.h即可。

 

make出现错误:libmp4v2.so: undefined reference to `std::basic_string<char, st

加入mp4v2库依赖的库libstdc++.solibm.so Makefile里   

-lstdc++ -lm

make成功

 

 

写视频文件的时候如果把sps pps 等除了I P B帧之外的东西,只用在开头只写一次,就没问题。如果每次都写进去,就有可能会造成音视频不同步。

 

 

有时用mp4trackdump 不能查看录制下来的MP4文件,若要查看,设置MP4_Close第二个参数要设置0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值