若该文为原创文章,未经允许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/103418602
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...(点击传送门)
Qt开发笔记之编码x264码流并封装mp4
《Qt开发笔记之编码h264码流并封装mp4(一):x264介绍、windows平台x264库编译》
《Qt开发笔记之编码h264码流并封装mp4(二):windows平台x264添加mp4支持,gpac库的介绍与编译》
《Qt开发笔记之编码h264码流并封装mp4(三):Qt使用x264库对.yuv文件编码为.h264文件》
《Qt开发笔记之编码h264码流并封装mp4(四):mp4v2库的介绍和windows平台编译》
《Qt开发笔记之编码h264码流并封装mp4(五):ubuntu平台编译x264》
《Qt开发笔记之编码h264码流并封装mp4(六):ubuntu平台编译mp4v2并封装mp4》
前言
上一篇章中编译出来的x264库对.mp4后缀文件不支持(理解为mp4格式),于是添加对mp4文件的支持。
windows下x264添加mp4支持
x264库编译出来是不支持mp4的,如要支持mp4,那么需要添加gpac库。
步骤一:下载,放入编译文件夹并解压
下载地址:https://github.com/gpac/gpac/
CSDN地址:https://download.csdn.net/download/qq21497936/12010070
步骤二:在mysy中configure配置gpac
./configure
(注意:发现之前的complie写错了,改了下文件夹命名,截图带了prefix,后发现没必要带,直接编进系统即可)
步骤三:编译mingw32-make.exe
实际用到的是make编译的,查看makefile是引入了config.mak,修改修改下config.mak文件
或者重新配置
./configure --make=mingw32-make
用下面的,直接编译到环境中去(为了添加到x264,笔者尝试包含头文件和库以及库路径失败)
./configure --make=mingw32-make
修改后编译:
漫长的等待,出现错误
步骤四:解决编译错误“ln -sf libgpac.dll.8.0.0 ../bin/gcc/libgpac.dll.8”,继续编译
定位错误
调试ok
直接修改src下的Makefile如下图:
# ln -sf $(notdir $@).$(VERSION_SONAME) $@.$(VERSION_MAJOR)
# ln -sf $(notdir $@).$(VERSION_SONAME) $@
ln -sf $@.$(VERSION_SONAME) $@.$(VERSION_MAJOR)
ln -sf $@.$(VERSION_SONAME) $@
继续编译,编译成功。
步骤五:直接修改configure文件即可
此处回到《一》中的“步骤五:linux的常规编译步骤,右键configure配置”,修改”mp4=yes”,如下图,然后配置。
步骤六:编译x264库,mingw32-make
步骤七:找不到gpac头文件,路径已经包含
检查了路径还是不行,那直接简单粗暴的拷贝吧
修改源码
步骤八:解决”gf_isom_set_pixel_aspect_ratio少参数问题
错误如下图:
5个参数,而头文件是6个参数(估计是gpac版本太高,先强制设为1):
改完后,如下图:
继续编译。
步骤九:解决错误连接问题
简单粗暴将库也拷贝过来,还是不行。
步骤十:暂时无解,调整思路,切换版本至gpac 0.8.0,重新从步骤一至步骤此。
步骤十一:多次配置编译,再三确认是”mp4:yes”,仍不支持.mp4有问题但可转.mp4v2
此处添加gpac库并定义MP4_OUTPUT 1都尝试了,还是行不通。
结论
所以,本篇章的目标没有达到!!!
笔者不太明白.mp4与.mp4v2的关系,查到的资料也是mp4v2是可以将.h264编码成.mp4的库,但是后缀.mp4v2与工具mp4v2是什么关系,还也没弄清楚,但是可以确定的是mp4v2可以将h264的裸码流编码成.mp4文件格式。
原博主博客地址:https://blog.csdn.net/qq21497936
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/103418602