CentOS安装ffmpeg并转码视频为mp4

前言

现需要将一批avi格式的视频转码为mp4,以下为操作步骤。系统版本为CentOS 7。

如果不安装x264,转码后只有声音,没有视频。

编译安装nasm

复制代码
wget https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz
tar xf nasm-2.15.05.tar.xz
cd nasm-2.15.05
./configure --prefix=/usr/local/nasm/
make
make install
# 自行配置PATH环境变量

编译安装libfdk-aac

复制代码
wget https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.1.tar.gz
tar zxvf fdk-aac-2.0.1.tar.gz
cd fdk-aac-2.0.1
./configure --disable-static
make
make install

编译安装x264

复制代码
git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --prefix=/usr/local/x264/ --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared
make
make install
# 自行配置PATH环境变量

安装yum依赖

复制代码
yum install -y openssl gnutls gnutls-devel lame lame-devel faac faac-devel

安装ffmpeg

复制代码
wget http://ffmpeg.org/releases/ffmpeg-4.4.tar.xz
## 解压后cd
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-pthreads --enable-shared --enable-libmp3lame --enable-libx264 --enable-pic --enable-libfdk-aac --enable-openssl --enable-nonfree
make
make install
# 自行配置PATH环境变量

问题记录

缺少库函数

复制代码
ffmpeg: error while loading shared libraries: libavdevice.so.58
# 或
ffmpeg: error while loading shared libraries: libfdk-aac.so.2

解决方法:

  1. 编辑/etc/ld.so.conf
  2. 追加内容:/usr/local/ffmpeg/lib//usr/local/lib/
  3. 完整内容示例如下:
复制代码
include ld.so.conf.d/*.conf
/usr/local/ffmpeg/lib/
/usr/local/lib/

avi转mp4

复制代码
ffmpeg -i test.avi -vcodec h264 -f mp4 test.mp4
# 限制线程数(不限制可能会吃满CPU)
ffmpeg -i test.avi -vcodec h264 -threads 2 -f mp4 test.mp4
相关推荐
qing2222222214 分钟前
FFmpeg:因码流采集与封装不同步导致录制出来的MP4文件会出现黑屏、绿屏的问题
ffmpeg·黑屏、绿屏
Antonio9152 小时前
【音视频】WebRTC-Web 音视频采集与播放
前端·音视频·webrtc
❀͜͡傀儡师7 小时前
修改CentOS的SSH登录端口(22端口)
linux·centos·ssh
那年一路北7 小时前
Deforum Stable Diffusion,轻松实现AI视频生成自由!
人工智能·stable diffusion·音视频
狙个栗子8 小时前
Centos 7.9安装部署cobbler-自动化部署服务器完整教程
linux·运维·服务器·centos·自动化
移远通信8 小时前
不止 “听懂”,更能 “感知”!移远通信全新AI 音频模组 重新定义智能家居“听觉”逻辑
人工智能·音视频·智能家居
DogDaoDao8 小时前
WebRTC 2025全解析:从技术原理到商业落地
音视频·webrtc·实时音视频·p2p·流媒体·编解码
天天进步201520 小时前
Python全栈项目--基于深度学习的视频内容分析系统
python·深度学习·音视频
瀚高PG实验室21 小时前
CentOS 8 安装HGDB V4.5 psql命令执行报错
linux·运维·centos·瀚高数据库
小醉你真好21 小时前
6、CentOS 9 安装 Docker
linux·docker·centos