一、mp4v2库文件的下载
1、可以网址下载 Artful (17.10) : mp4v2 package : Ubuntu
2、也可以去优快云下载可以文件 mp4v2封装h264裸流为MP4库-C代码类资源-优快云下载
二、linux下mp4v2库的交叉编译
1、使用tar -jxvf xxxx.tar.bz2解压,生成mp4v2-2.0.0文件夹;
2、mp4v2-2.0.0目录下执行 ./configure --host=arm-linux CXX=arm-hisiv300-linux-g++ CC=arm-hisiv300-linux-gcc --prefix=/opt/ --enable-shared --disable-option-checking --disable-debug --disable-fvisibility --disable-largefile --disable-util --disable-dependency-tracking --disable-libtool-lock --disable-optimize
注意:
(1)CXX=arm-hisiv300-linux-g++ CC=arm-hisiv300-linux-gcc为交叉编译工具,我这里使用的海思3520V300的交叉编译工具;
(2)--prefix=/opt/ 为交叉编译完成目标库文件生成的目录,包括库文件和头文件;
(3)其他参数根据需要添加;
3、make
4、make install
5、编译完成后在lib目录可以得到静态库目标libmp4v2.a和动态库目标libmp4v2.so.2.0.0,以及指向动态库的两个软链接文件。
在include目录下可以得到mp4v2库的所有头文件,其中mp4v2.h是顶层include文件。使用mp4v2库时,只需包含mp4v2.h即可。
三、mp4v2 接口函数
MP4FileHandle MP4Create (const char* fileName,uint32_t flags)
功能:创建MP4文件句柄。
返回:MP4文件句柄。
参数:fileName 要录制的MP4文件名;flags 创建文件类型,如果要创建普通文件用默认值0就可以,如要录制大于4G的MP4文件此处要设置MP4_CREATE_64BIT_DATA。
bool MP4SetTimeScale( MP4FileHandle hFile, uint32_t value )
功能:设置时间标度。
返回:成功返回true,失败返回false。
参数:hFile MP4文件句柄,value 要设置的值(每秒的时钟ticks数,如90000)。
MP4TrackId MP4