mingw编译ffmpeg+x265过程记录
来源:互联网 发布:js字符串可逆加密算法 编辑:程序博客网 时间:2024/06/06 03:11
1.相关资源下载
Ffmpeg-2.3 http://ffmpeg.org/releases/ffmpeg-2.3.3.tar.bz2
X265-1.3下载 https://bitbucket.org/multicoreware/x265/wiki/Home
http://ffmpeg.zeranoe.com/builds/source/external_libraries/
X264下载 http://ffmpeg.zeranoe.com/builds/source/external_libraries/
2.编译x265-1.3
x264、x265、ffmpeg等都需要yasm编译器,需要将yasm编译器下载,复制到ming/bin目录下。
X265需要安装cmake来生产工程文件,需要下载最新的cmake-2.8.12版本,并安装,注意需要将其安装路径加入windows环境变量的PATH变量下。
2.1 进入到x265/build/msys目录,执行 make-Makefiles.sh
先点下面的configure,然后点generate即可,然后关闭,回到命令行。同上面的执行make 然后是 make install。最后编译成功应该可以找到对应的lib文件在/loacal/lib目录下。
3.编译ffmpeg-2.3
3.1. Ffmpeg编译配置选项
将x264、x265编译后的头文件,静态库文件copy至/usr/local/对应的目录下
将tyd.sh文件copy值ffmpeg-2.3.3目录下。运行tyd.sh脚步即可
3.2 运行编译选项存在的问题
ERROR: x265 not found
3.2.1. 缺少pkg-config程序、缺少x265.pc文件
查看config.log日志文件,根据以下的错误信息,应该是缺少pkg-config程序,以及缺少对应的x265.pc文件。
pkg-config程序的安装参考一下文章,或者直接下载pkg-config copy到/ming/bin目录下
pkg-config
安装 http://blog.csdn.net/chaosllgao/article/details/3984462
下载 http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-0.23-2.zip
x265.pc文件copy /usr/local/lib
可以通过pkg-config得到x265相关的文件信息。
3.2.2 config.log错误日志信息
a) 缺少gcc依赖库
如下图所示,链接new\delete函数失败,显然是缺省gcc相关的函数导致
原因是msys版本的pkg-config不能正确读取x265库的依赖库导致,需要手动添加
b) 奇怪的链接错误
c:/mingw/lib/libstdc++.a(new_op.o):new_op.cc:(.text+0x34): undefined reference to `_Unwind_SjLj_Register'
c:/mingw/lib/libstdc++.a(new_op.o):new_op.cc:(.text+0x87): undefined reference to `_Unwind_SjLj_Unregister'
c:/mingw/lib/libstdc++.a(new_op.o):new_op.cc:(.text+0xb7): undefined reference to `_Unwind_SjLj_Resume'
通过分析查找,发现时上述链接使用的gcc函数库与x265.exe使用的函数库不一致的原因导致。本质原因还是pkg-config不能正确解析x265.pc文件所致,解决方案如下:
c) 正确执行configure配置的结果
可以看到ffmpeg依赖的第三方库已经正确的配置好了libx264和libx265
4.编译ffmpeg项目
到这一步基本上大功告成了,只需要执行make && make install即可。
最后可以在目录output下找到编译的结果。
- mingw编译ffmpeg+x265过程记录
- mingw编译ffmpeg+x265过程记录
- mingw编译ffmpeg+x265过程记录
- mingw编译ffmpeg+x265过程记录
- mingw+ffmpeg+x265编译配置
- mingw编译ffmpeg+librtmp过程记录
- mingw编译ffmpeg+librtmp过程记录
- mingw编译ffmpeg+librtmp过程记录
- mingw编译ffmpeg+librtmp过程记录
- mingw下ffmpeg编译添加x265支持
- mingw中编译ffmpeg过程
- 编译x265+FFMPEG
- ffmpeg+x265+m3u8-segmenter编译
- 用MinGW编译ffmpeg
- mingw编译ffmpeg
- MinGW编译FFMpeg
- 使用MinGW编译FFmpeg
- MinGw 下编译 FFMPEG
- linux 获取某一天的日期
- 【Git学习笔记】历史版本中穿梭,仅需要两步git log \git rest --hard
- Tomcat负载均衡原理详解及配置(Apache2.2.19+Tomcat7.0.12)
- 【Leetcode】Best Time to Buy and Sell Stock II
- 第十周项目4-大奖赛计分(十个评委)
- mingw编译ffmpeg+x265过程记录
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式等)介绍
- 李德馨 漢陰 道不可假
- 安卓 数据库的版本升级问题
- 对于十月的一个交代
- shell中$0,$?,$!等的特殊用法
- oracle的字符集(NLS_LANGUAGE)
- A. 24 Game
- Valid Parentheses- LeetCode