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
解决方法:
- 编辑
/etc/ld.so.conf - 追加内容:
/usr/local/ffmpeg/lib/和/usr/local/lib/ - 完整内容示例如下:
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的更多相关文章
- CentOS安装ffmpeg+h264
CentOS安装ffmpeg+h264 前言 坑!坑!坑! 全是坑. 本文安装系统环境为CentOS7.2.我这里提供安装所需的四个源码包,均需要编译安装.所有组件最好都安装最新的稳定版,或者下载使用 ...
- centos 安装 ffmpeg
使用yum方式安装ffmpeg: 先安装Nux Dextop仓库: Nux Dextop库依赖于EPEL库,所有要先安装EPEL库(需要管理员权限). 如果安装过则跳过. $ su root $ yu ...
- 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 ...
- CentOS 安装 linux kernel 源码
原文链接:https://blog.csdn.net/qaz1qaz1qaz2/article/details/52825389 1.下载系统包yum install rpm-buildyum ins ...
- centos 安装qrcode 二维码
先安装yum install mingw64-pkg-config.x86_64 yum install cairo-devel 然后报错,好像是gcc版本有点低,现在的版本是4.4.7 那么接下来 ...
- Centos安装ffmpeg
yum install -y ffmpeg 使用上面的命令安装却出现以下问题: Google后发现缺少一些扩展: wget https://download1.rpmfusion.org/free/e ...
- CentOS 安装MySQL5.7 源码方式安装
MySQL rpm方式安装:https://www.cnblogs.com/deverz/p/9560403.html 1.卸载已经安装的MySQL yum list installed mysqlr ...
- CentOS下yum安装FFmpeg
一.yum安装FFmpeg 1. 最偷懒的方式就是yum安装了,自动解决依赖.不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置 ...
- 阿里云服务器---centos编译安装ffmpeg
环境 系统环境:CentOS release 6.7 (Final) 需求 编译安装ffmpeg 获取依赖 安装依赖包 yum install -y autoconf automake cmake f ...
- Linux下源码安装ffmpeg及ffmpeg的简单使用说明
一.编译安装 ffmpeg在安装时依赖的包和版本都很让人头疼,不同编译环境也各不相同.公司之前封装了一个又各种出错. 其实办法很简单,就是到官网一步一步按着做就行了:http://trac.ffmpe ...
随机推荐
- 2022-04-29:厨房里总共有 n 个橘子,你决定每一天选择如下方式之一吃这些橘子: 吃掉一个橘子。 如果剩余橘子数 n 能被 2 整除,那么你可以吃掉 n/2 个橘子。 如果剩余橘子数 n 能被
2022-04-29:厨房里总共有 n 个橘子,你决定每一天选择如下方式之一吃这些橘子: 吃掉一个橘子. 如果剩余橘子数 n 能被 2 整除,那么你可以吃掉 n/2 个橘子. 如果剩余橘子数 n 能被 ...
- phpstudy-sqlilabs-less-1
题目:POST - Error Based - Double quotes- String - with twist 基于错误的双引号post型字符变形的注入 先抓下包,拿到格式 uname=1#&a ...
- AcWing 1019. 庆功会
为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员. 期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力. 输入格式 第一行二个数n,m,其中n代表 ...
- 代码随想录算法训练营Day51 动态规划
代码随想录算法训练营 代码随想录算法训练营Day51 动态规划| 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费 总结 309.最佳买卖股票时机含冷冻期 题目链接:309.最佳买 ...
- 代码随想录算法训练营Day39 动态规划
代码随想录算法训练营 代码随想录算法训练营Day38 动态规划|62.不同路径 63. 不同路径 II 62.不同路径 题目链接:62.不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点 ...
- drf——jwt
jwt原理 使用jwt认证和使用session认证的区别 三段式 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibm ...
- 【GIS】图层中多个面要素融合成一个面要素
对于那些利用GIS信息进行编辑,设计的GIS专业人士来说,桌面GIS占有主导地位.GIS专业人士使用标准桌面作为工具来设计,共享,管理和发布地理信息. ArcGIS Desktop是一 ...
- Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递
前言 前面完成了页面的跳转.登录,很多时候不刷新页面就想刷新局部数据,此时ajax就是此种技术,且是异步的. 本篇实现网页内部使用js调用ajax实现异步交互数据. 在js中使用 ajax是通 ...
- Kotlin协程-那些理不清乱不明的关系
Kotlin的协程自推出以来,受到了越来越多Android开发者的追捧.另一方面由于它庞大的API,也将相当一部分开发者拒之门外.本篇试图从协程的几个重要概念入手,在复杂API中还原出它本来的面目,以 ...
- Android-NDK开发——基本概念
在Android开发中,有时候出于安全,性能,代码共用的考虑,需要使用C/C++编写的库.虽然在现代化工具链的支持下,这个工作的难度已经大大降低,但是毕竟万事开头难,初学者往往还是会遇到很多不可预测的 ...