我的ffmpeg爬坑之路(2)

本文详细记录了在服务器上使用ffmpeg进行视频压缩时遇到的问题及解决过程,包括ffmpeg命令报错、缺少x265编码库的解决方法,以及libx264和x265的编译安装步骤。通过这些步骤,可以成功压缩大体积视频并保持一定清晰度。
摘要由CSDN通过智能技术生成

之前在“我的ffmpeg爬坑之路”里用的是shell脚本一键安装的,现在我有新需求了,需要压缩视频,由于有的视频很大,有200M,播放很卡(PS:而且服务器配置低),于是我需要对视频进行压缩,而且清晰度也不能太差,于是我找到下面的一个命令:

ffmpeg -i original_video.mp4 -c:v libx265 -x265-params crf=18:preset=placebo yasuo_video.mp4

结果报错:

我百度了一下,说是ffmpeg编译的时候缺少 x265编码库,于是我就安装x265编码库,同时也安装了libx264

安装步骤:

一 安装libx264

libx264 需要使用nasm依赖,所以先安装nasm

$ wget https://www.nasm.us/pub/nasm/releasebuilds/2.14/nasm-2.14.tar.gz
$ cd nasm-2.14
$ ./configure
#第一次安装执行如下命令:
$ make && sudo make install
#如果安装过执行如下命令:
$ sudo make clean && make && sudo make install

安装libx264

$ git clone https://code.videolan.org/videolan/x264.git
$ cd x264
// 如果不将include和lib安装在/usr/local目录,之后运行ffmpeg命令时可能仍然报错误
$ ./configure --prefix=/usr/x264/ --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared
#第一次安装执行如下命令:
$ make && sudo make install
#如果安装过执行如下命令:
$ sudo make clean && make && sudo make install

二 编译安装x265

wget https://download.videolan.org/videolan/x265/x265_3.2.tar.gz --no-check-certificate
 tar -zxvf x265_3.2.tar.gz 
 cd x265_3.2
 cd build/linux
 ./make-Makefiles.bash
 make
 make install

三 重新编译ffmpeg

$ wget http://ffmpeg.org/releases/ffmpeg-4.2.2.tar.bz2
$ taf -jxvf ffmpeg-4.2.2.tar.bz2 
$ cd ffmpeg-4.2.2
//提示:--enable-(依赖扩展名) 自己需要那些依赖则加哪些依赖  以下是个例子
$ ./configure --prefix=/home/user/app/ffmpeg --enable-gpl --enable-version3 --enable-pthreads --enable-shared --enable-libmp3lame --enable-libx264 --enable-pic --enable-libfdk-aac --enable-openssl --enable-nonfree
//以下是我自己的实例
./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared --enable-gpl --enable-libx264 --enable-libx265
#第一次安装执行如下命令:
$ make && sudo make install
#如果安装过执行如下命令:
$ sudo make clean && make && sudo make install
$ ldconfig 

关键点说明:

1 ldconfig  一定要执行这个命令。

ldconfig命令 的用途主要是在默认搜寻目录/lib/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。

ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

2 如果不知道之前ffmpeg编译用的参数,可以通过ffmpeg -version查看

3 应用到网站需要在PHP×设置中取消掉 scandir,exec、system、shell_exec函数。

遇到的错误总结:

1 缺少pkg-config

 

解决:编译安装pkg-config wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz 2 ffmpeg老版本报错:libavcodec/libx264.c:892:9: error: ‘x264_bit_depth‘ undeclared (first use in this function)

解决: 我版本ffmpeg-2.5.3,换成ffmpeg-4.2.2.就好了

3 ffmpeg -version报错

 解决方法:执行ldconfig命令

4 ffmpeg -i 输入文件名 -c:v libx265 -x265-params crf=18 output/输出文件名.mp4 报错

 解决方法:安装x265就可以

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xiaopzi123123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值