前言

现需要将一批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

CentOS安装ffmpeg并转码视频为mp4的更多相关文章

  1. CentOS安装ffmpeg+h264

    CentOS安装ffmpeg+h264 前言 坑!坑!坑! 全是坑. 本文安装系统环境为CentOS7.2.我这里提供安装所需的四个源码包,均需要编译安装.所有组件最好都安装最新的稳定版,或者下载使用 ...

  2. centos 安装 ffmpeg

    使用yum方式安装ffmpeg: 先安装Nux Dextop仓库: Nux Dextop库依赖于EPEL库,所有要先安装EPEL库(需要管理员权限). 如果安装过则跳过. $ su root $ yu ...

  3. centos 安装ffmpeg

    wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz tar -zxvf ffmpeg-3.1.tar.gz cd ffmpeg-3.1 ./co ...

  4. CentOS 安装 linux kernel 源码

    原文链接:https://blog.csdn.net/qaz1qaz1qaz2/article/details/52825389 1.下载系统包yum install rpm-buildyum ins ...

  5. centos 安装qrcode  二维码

    先安装yum install  mingw64-pkg-config.x86_64 yum install cairo-devel 然后报错,好像是gcc版本有点低,现在的版本是4.4.7 那么接下来 ...

  6. Centos安装ffmpeg

    yum install -y ffmpeg 使用上面的命令安装却出现以下问题: Google后发现缺少一些扩展: wget https://download1.rpmfusion.org/free/e ...

  7. CentOS 安装MySQL5.7 源码方式安装

    MySQL rpm方式安装:https://www.cnblogs.com/deverz/p/9560403.html 1.卸载已经安装的MySQL yum list installed mysqlr ...

  8. CentOS下yum安装FFmpeg

    一.yum安装FFmpeg 1.    最偷懒的方式就是yum安装了,自动解决依赖.不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置 ...

  9. 阿里云服务器---centos编译安装ffmpeg

    环境 系统环境:CentOS release 6.7 (Final) 需求 编译安装ffmpeg 获取依赖 安装依赖包 yum install -y autoconf automake cmake f ...

  10. Linux下源码安装ffmpeg及ffmpeg的简单使用说明

    一.编译安装 ffmpeg在安装时依赖的包和版本都很让人头疼,不同编译环境也各不相同.公司之前封装了一个又各种出错. 其实办法很简单,就是到官网一步一步按着做就行了:http://trac.ffmpe ...

随机推荐

  1. 2020-09-24:jvm监控系统是通过jmx做的么?

    福哥答案2020-09-24:#福大大架构师每日一题# [此答案来自知乎:](https://www.zhihu.com/question/422632973) 一般都是,但是要是记录比较详细的性能定 ...

  2. LeetCode 周赛 345(2023/05/14)体验一题多解的算法之美

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 往期回顾:LeetCode 双周赛第 104 场 · 流水的动态规划,铁打的结构化思考 周赛概览 T1. 找 ...

  3. HTB靶场之Busqueda

    准备: 攻击机:虚拟机kali和win10(常规操作就直接用本机win10来操作了). 靶机:Inject,htb网站:https://www.hackthebox.com/,靶机地址:https:/ ...

  4. RabbitMQ系列-概念及安装

    1. 消息队列 消息队列是指利用队列这种数据结构进行消息发送.缓存.接收,使得进程间能相互通信,是点对点的通信 而消息代理是对消息队列的扩展,支持对消息的路由,是发布-订阅模式的通信,消息的发送者并不 ...

  5. mac部署flutter时执行brew update无反应

    找来找去还是镜像的问题 1.替换brew 镜像 git remote set-url origin https://mirrors.ustc.edu.cn/ew.git 2.替换homebrew-co ...

  6. 警惕看不见的重试机制:为什么使用RPC必须考虑幂等性

    0 文章概述 在RPC场景中因为重试或者没有实现幂等机制而导致的重复数据问题,必须引起大家重视,有可能会造成例如一次购买创建多笔订单,一条通知信息被发送多次等问题,这是技术人员必须面对和解决的问题. ...

  7. SPI通信协议

    1. SPI 通信协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设 备接口,是一种高速全双工的通信总线.它被广泛地使用在 A ...

  8. 第三届陕西省大学生网络安全技能部分WP

    web easyrce 题目代码如下: <?php error_reporting(0); highlight_file(__FILE__); if (!empty($_GET['PK'])){ ...

  9. CANopen转ProfiNet网关在大跨径门机起重设备同步纠偏控制应用案例

    大型门机起重设备纠偏控制系统采用CanOpen通讯协议,而PLC使用的是ProfiNet协议,看似不兼容的两种协议如何实现互通?今天我们来看一下这个案例. 通过捷米特JM-COP-PN设置纠偏系统的参 ...

  10. linux150常用命令

    Linux最常用150个命令汇总 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作 ...