ffmpeg视频编码出现Unknown encoder ‘libx264‘问题

文章详细描述了在Ubuntu系统中编译x264和ffmpeg的过程中遇到的错误,特别是nasm版本不兼容的问题。作者提供了从源码编译nasm的步骤,并给出了解决gcc新版本与nasm头文件冲突的方案,即修改nasmlib.h文件。最后,文章列出了成功编译ffmpeg的命令流程。
摘要由CSDN通过智能技术生成

ffmpeg系列文章目录


1.下载x264源码

git clone http://git.videolan.org/git/x264.git

2.解压源码 sudo tar -xjf last_x264.tar.bz2

cd x264-snapshot-20180705-2245

三部曲:
./configure
make
make install
运行./configure
出现 错误:
Found no assembler Minimum version is nasm-2.13 If you really want to compile without asm, configure with --disable-asm.
这是因为需要安装2.13版本的nasm

不能简单的运行sudo apt-get install nasm 要安装的rpm文件包tall nasm 这个版本比较低。应该通过源码编译的方式进行安装。

链接地址:https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/

解压:

sudo tar -zxvf nasm-2.13.03.tar.gz

三部曲安装即可。

make 出现以下问题:

In file included from stdlib/vsnprintf.c:15:
./include/nasmlib.h:194:1: error: ‘pure’ attribute on function returning ‘void’ [-Werror=attributes]
  194 | void pure_func seg_init(void);
      | ^~~~
In file included from stdlib/snprintf.c:13:
./include/nasmlib.h:194:1: error: ‘pure’ attribute on function returning ‘void’ [-Werror=attributes]
  194 | void pure_func seg_init(void);
      | ^~~~
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
make: *** [Makefile:75:stdlib/snprintf.o] 错误 1
make: *** 正在等待未完成的任务....
make: *** [Makefile:75:stdlib/vsnprintf.o] 错误 1
In file included from ./include/nasm.h:46,
                 from asm/nasm.c:47:
./include/nasmlib.h:194:1: error: ‘pure’ attribute on function returning ‘void’ [-Werror=attributes]
  194 | void pure_func seg_init(void);
      | ^~~~
cc1: some warnings being treated as errors
make: *** [Makefile:75:asm/nasm.o] 错误 1

解决方法:

解决nasm-2.13在新版ubuntu编译make不过的办法
./include/nasmlib.h:194:1: error: ‘pure’ attribute on function returning ‘void’ [-Werror=attributes] 194 | void pure_func seg_init(void);
因为gcc版本过新。

解决办法:

修改“./include/nasmlib.h”文件

vim ./include/nasmlib.h

找到语句

void pure_func seg_init(void);

注释掉,问题解决。

安装完成nasm之后再重新进入x264目录下./configure 之后就可以。

3.重新编译安装ffmpeg

进入到ffmpeg的目录下,分别执行命令:
1)配置ffmpeg时,加上x264,如:
./configure --enable-gpl --enable-libx264
2)make clean
3)make
4)make install

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值