windows 编译libx264 ffmpeg H264编码

之前用FFmpeg的情形一般是 FFMpeg 拉RTSP流 解封装,然后将读出来的packet数据交给硬件去做解码编码,现在出现了一个新的轻装要求支持FFMeg软解。

即利用FFMpeg来解码 编码,然后FFMpeg默认的解码器是不包含H264 H265的,需要先下载libX264 编译出来库 ,然后编译FFMpeg的时候 大概lib264的开关 这里记录下

首先下载lib264

lib264官网

下载下来之后 放到msys2的目录下

通过vs 的prompt打开msys2 export一下 各位替换成自己的目录就可以

export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.30.30705/bin/Hostx64/x64":$PATH

然后需要安装一些工具

pacman -Syu
pacman -S make
pacman -S diffutils
pacman -S yasm
pacman -S nasm

然后 新建一个build.sh 内容如下

OPTIONS="--enable-shared"

 CC=cl ./configure $OPTIONS --enable-shared --prefix=$BUILD_DIR/install

保存 执行一下 ./build.sh 如果没错误 就会产生makefile 有错的话会提示

  然后 make make install 就可以 

 

 

 

 需要的文件 就 出来了 

接下来需要编译FFMpeg 打开lib264的开关  FFMpeg的 配置文件如下 记得把那个libx264.dll.lib改成libx264.lib


X264_INCLUDE=/install/include
X264_LIB=/install/lib

./configure --prefix=./output	\
	--enable-x86asm	\
	--arch=x86_64	\
	--toolchain=msvc	\
	--enable-static	\
	--enable-shared	\
	--enable-w32threads	\
	--disable-doc	\
	--enable-libx264	\
	--enable-gpl	\
	--enable-optimizations	\
	--extra-cflags="-I$X264_INCLUDE"	\
	--extra-ldflags="-LIBPATH:$X264_LIB"
	

然后 make make install 就可以了 

之前如果转码 这么写的话 会提示如下错误


ffmpeg -i middle.mp4 -c:v libx264 -movflags faststart -b 600k -r 25 -s 640*360 -ab 48k -strict -2 test_C4.mp4

之前 ffmpeg转码的时候指定 H264会提示 找不到libx264

重新编译好之后 再敲这个命令 就不会提示正常工作了 

需要把libx264-164.dll 放到ffmpeg 同目录下 之后 正常开发的时候 也需要这个dll

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QMCY_jason

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值