当前位置: 首页 > news >正文

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
http://www.lryc.cn/news/603940.html

相关文章:

  • 编程算法在金融、医疗、教育、制造业等领域的落地案例
  • 单片机(STM32-WIFI模块)
  • windows电脑如何截屏 windows电脑截屏教程汇总
  • 【机器学习深度学习】DeepSpeed框架:高效分布式训练的开源利器
  • Python Flask: Windows 2022 server SMB账户(共享盘账户)密码修改
  • 影刀RPA_初级课程_玩转影刀自动化_EXCEL操作自动化
  • 数据结构(5)单链表算法题(中)
  • 第二十二天(数据结构,无头节点的单项链表)
  • 期刊基础学习
  • 抵御酒店管理系统收银终端篡改攻击 API 加密的好处及实现——仙盟创梦IDE
  • 携全双工语音通话大模型亮相WAIC,Soul重塑人机互动新范式
  • BitMart 启动中文品牌“币市”:引领加密资产本地化发展新篇章
  • 【Linux】批量处理多个用户的 sudo 权限问题
  • 01背包问题:Python动态规划深度解析与工程实践
  • napping-1.0.1靶机练习
  • MySQL(配置)——MariaDB使用
  • 2025年Solar应急响应公益月赛-7月笔记ing
  • Java 10 新特性解析
  • 机器学习笔记(四)——聚类算法KNN、Kmeans、Dbscan
  • 域名常见问题集(九)——域名市场介绍
  • 基于JavaWeb的兼职发布平台的设计与实现
  • LangChain和LangGraph 里面的 `create_react_agent`有什么不同
  • 从0到1理解大语言模型:读《大语言模型:从理论到实践(第2版)》笔记
  • Marin说PCB之POC电路layout设计仿真案例---10
  • AI 对话玩具的语音芯片模块方案设计与应用场景​
  • 如何解决人工智能在社会治理中面临的技术和伦理挑战?
  • 【tips】小程序css ➕号样式
  • 项目质量如何把控?核心要点分析
  • 信号上升时间与带宽的关系
  • 技术QA | GNSS模拟器如何赋能自动驾驶?聚焦HIL、多实例与精准轨迹仿真的技术优势