赞
踩
最近要做到有关于x264相关的项目,需要用到FFmpeg
来使用x264
的编码以及解码,网上的一些关于FFmpeg支持x264的文档不完全对,我几乎都试了一遍,都会出现libx264 not found的错误提示,最终还是在z_muyangren这位博主的博客中找到了答案。
接下来我将记录从MSYS安装到FFmpeg支持x264的整个过程。一来为了后面遇到同样问题的同行少走点弯路。二来是当做笔记本,以免时间长了忘记掉。
首先下载MSYS:传送门下载可执行文件.exe
,如下图所示,
接下来按照这位博主的流程从头到尾实践就行了。但需要注意的是:
安装过程也很简单,照着来就行了,结果如下图所示:
这三个终端都是指向同一个的,所以一般打开哪个都行,不过好想听说打开第二个比较好,不太会出问题。
MSYS是仿生UNIX操作系统的window工具集,UNIX成立比较早,后续的windows和Linux都是参照它来的,其指令也和linux差不多。
FFmpeg的编译环境配置好了,接下来可以去官网下载最新的FFmpeg源码
了—传送门(FFmpeg官网有提供编译好的,但是官方建议用户自行编译最新版本,因为一些编译好的版本普遍比较老,有些新功能并不支持)
接下来就是正式编译FFmpeg了:
./configure
生成Makefile文件。(这里建议将FFmpeg和x264下载后解压的源码放入msys64/home/Administer/下,这是每次启动终端的默认初始访问地点,这样就不用了每次都cd到相关目录下了)make
进行编译。make install
进行安装。./ffmpeg.exe -h
来验证。这样依赖FFmpeg的简易
编译以及安装就完成了,结果是在源码目录生成3个可执行文件ffmpeg.exe、ffprobe.exe、ffplay.exe以及在MSYS默认安装路径usr/local/下安装了lib、a、dll、h等相关文件。但这只是简易的FFmpeg,并没有H.264、加字幕的编码支持。如需要支持这些,比如H.264,则需要安装以及通过额外参数定制来进行支持。可以使用./configure --help来查找所需要的第三方库(比如libx264、libass)。
./configure --enable-shared --enable-static
。make
。make install
。接下来这里就是困扰我多时的,用了很多命令,都是libx264 not found的错误提示,最终还是在z_muyangren这位博主的博客中找到了答案。
./configure --enable-gpl --enable-nonfree --enable-libx264 --enable-shared --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
。关键在于–extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib这里。make
编译。make install
。ffmpeg -h encoder=libx264
来验证FFmpeg是否成功支持H.264。输出是一些x264的参数:至此,FFmpeg成功支持H.264,可以实现工程的基本需要了!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。