Qt开发笔记之编码x264码流并封装mp4(二):windows平台x264添加mp4支持,gpac库的介绍与编译

简介: Qt开发笔记之编码x264码流并封装mp4(二):windows平台x264添加mp4支持,gpac库的介绍与编译

前言

      上一篇章中编译出来的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文件格式。

 

相关文章
|
7月前
|
编译器 C语言 C++
|
4月前
|
自然语言处理 Linux Windows
Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
45 1
|
7月前
|
算法 Linux Windows
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
在Windows环境下为FFmpeg集成字幕渲染库libass涉及多个步骤,包括安装freetype、libxml2、gperf、fontconfig、fribidi、harfbuzz和libass。每个库的安装都需要下载源码、配置、编译和安装,并更新PKG_CONFIG_PATH环境变量。最后,重新配置并编译FFmpeg以启用libass及相关依赖。完成上述步骤后,通过`ffmpeg -version`确认libass已成功集成。
160 1
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
|
6月前
|
应用服务中间件 Windows
Windows下CMD和Tomcat设置编码为UTF-8
解决CMD和Tomcat中文乱码问题:通过修改注册表永久设置CMD编码为UTF-8,路径 `\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe`,修改CodePage为65001。Tomcat日志乱码时,在 `\HKEY_CURRENT_USER\Console` 下新建Tomcat项,添加DWORD值PageCode,值设为65001。
245 2
|
6月前
|
Windows 计算机视觉 Linux
QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
该文档介绍了Qt的跨平台特性,并推荐在Windows和Linux开发中使用QtCreator。在Windows下添加动态库,可以通过Visual Studio配置.lib文件和.dll文件,或在QtCreator中使用"添加库"功能。在QtCreator中,选择库文件、包含路径,并配置Details,然后更新.pro文件,清除、qmake及构建项目。运行时确保.dll与.exe在同一目录下。
203 0
QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
|
7月前
|
Linux 开发工具 计算机视觉
QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
Qt是跨平台的开发工具,推荐使用QtCreator进行Windows和Linux开发。在Windows下,使用Visual Studio创建动态库时,需要配置.lib文件并确保运行时.dll与.exe在同一目录。在QtCreator中添加DLL动态库,可以通过右键项目,选择添加库,然后在Details界面配置库文件、包含路径和平台,最后更新PRO文件并进行清除、qmake和构建步骤。运行时同样需确保.dll文件与可执行文件在同一目录。
212 5
|
6月前
|
Windows
|
7月前
|
监控 安全 虚拟化
深入浅出:NSSM封装Windows服务工具的使用与介绍
深入浅出:NSSM封装Windows服务工具的使用与介绍
290 3
|
7月前
|
安全 Linux 网络安全
Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
113 0
|
19天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。