MP4V2库与MP4AV库编译

news/2025/2/12 0:13:35/

最近在开发一个将RTP流存储为MP4文件的功能。其中针对MP4文件读写,用到了两个开源的库。其中MP4V2用于数据的读写,MP4AV用于对其中的数据帧进行分析。

 

MP4V2和MP4AV都是开源项目MPEG4IP的一部分,当前MPEG4IP已经不再维护。

但是MP4V2最为其中的一部分,还有开源组织再进行更新,其项目主页:http://code.google.com/p/mp4v2/,当前最新版本为mp4v2-2.0.0。

 

关于MP4文件的生成可以参考,MPEG4IP中MP4Creat的实现代码。

 

在这里将编译库过程中遇到的问题记录一下:

MP4V2 Windows环境编译

MP4v2项目工程有windows下的工程,但是缺少几个文件,分别为platform_win32.cpp,platform_win32_impl.h,Version.rc

这几个文件可以到http://code.google.com/p/mp4v2/的最新SVN库中下载到,将这几个文件更新到相应工程后,即可编译成功。

 

MP4V2 Linux环境编译

MP4v2在linux上编译没有遇到什么问题,直接按照工程中install文档中步骤操作即可。

 

MP4AV Windows环境编译

由于MP4AV库时MPEG4IP的一部分,当前我只是在编了MPEG4IP的MP4AV的一部分,MPEG4IP在windows下的编译从网上查的资料来看,存在一些问题,但是有的网友已经给出了解决的方法,本人是按照资源:http://download.csdn.net/detail/zhangcuizhi/1737512中的文档进行操作的,MPEG4IP不能完整编译成功,但是MP4AV库可以成功编译。

 

MP4AV Linux环境编译

参考MPEG4IP库中README.html,中的编译步骤执行即可。

1 执行./bootstrap ,将生成一系列的makefile

2 由于我只需要获取MP4AV库,只需要进入MP4AV工程,执行make即可

编译过程有有以下错误:

In file included from config_opts.cpp:1:
../../include/mpeg4ip.h:126: error: new declaration 'char* strcasestr(const char*, const char*)'
/usr/include/string.h:367: error: ambiguates old declaration 'const char* strcasestr(const char*, const char*)'

 

解决方法:

修改mpeg4ip.h从126行起,按照如下修改

修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

重新编译,通过。

 

 


http://www.ppmy.cn/news/170858.html

相关文章

MP4V2

MP4录制程序是根据mpeg4ip中mpeg4ip-1.5.0.1\server\mp4live\file_mp4_recorder.cpp文件改的。程序支持h264aac(raw 流)的写入方式,用到了动态库mp4v2-2.0.0,不要用mpeg4ip中那个较老的版本,因为在录制大文件时会有效率…

MP4V2 录制mp4(h264+aac)视频

MP4录制程序是根据mpeg4ip中mpeg4ip-1.5.0.1\server\mp4live\file_mp4_recorder.cpp文件改的。程序支持h264aac(raw 流)的写入方式,用到了动态库mp4v2-2.0.0,不要用mpeg4ip中那个较老的版本,因为在录制大文件时会有效率…

EV4加密转换MP4

亲测可用,不用再需要机器码了。 大家下载教程的时候很多教程都是ev4格式的视频,这种视频是需要授权密码才能播放的。 遇到这种情况,可以用本程序,可以把 .ev4格式的视频转换为 .mp4格式的。 这样就可以用任意播放器播放该视频了&a…

MP4(一)-结构

 本文转载自网络,不过没找到原文在哪,感谢写这篇博文的哥们 一、基本概念 1.mp4概述 MP4文件中的所有数据都装在box(QuickTime中为atom)中,也就是说MP4文件由若干个box组成,每个bo…

flv,mkv和mp4 等

flv,mkv和mp4哪个更好编辑,更加高清 https://www.zhihu.com/question/441820446 flv mp4 mov mkv ts m3u8这几种视频格式哪个最清晰 https://wenda.so.com/q/1596642711618476 mp4 mov mkv 是视频格式, FLV是网页流媒体格式,…

《相信》读后感

近日阅读了蔡磊的《相信》一书,蔡磊先生曾是京东集团副总裁,中国电子发票的推动者。上天给了他优越的智商条件,从上学到工作,前半生几乎顺风顺水、获誉无数,却在初为人父、本该享受家庭幸福的时候,接到突患…

(通用0bug)纯原生实现一个类似浏览器搜索功能(ctrl + f)

如果可以实现记得点赞分享,谢谢老铁~ 一、问题的描述 由于公司业务需要在搜索框中,模拟Ctrl F 的搜索功能,支持自选可搜索区域范围,且支持回车查看下一个,上下查看,自动滚动定位,…

pc端好用的txt阅读器推荐及下载地址

Koodo Reader:一款界面简洁,功能强大的pc端阅读器,适合阅读文献及小说,支持包括txt在内的多种主流格式 Koodo Reader 是一个开源免费的电子书阅读器,支持多达15种主流电子书格式, 内置笔记、高亮、翻译功能…