博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu下ffmpeg的安装与配置
阅读量:2055 次
发布时间:2019-04-28

本文共 1706 字,大约阅读时间需要 5 分钟。

 

FFmpeg包括了目前领先的音/视频编码库libavcodec,提供了录制、转换以及流化音视频的完整解决方案。其强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。

安装

安装FFmpeg前,需要先安装依赖库:

sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev

汇编库

Yasm是一个完全重写的NASM(The Netwide Assembler)汇编;NASM是一个为可移植性与模块化而设计的一个80x86的汇编器。它支持相当多的目标文件格式,包括Linux,*BSD,a.out,ELF,COFF,Mach−O,Microsoft 16−bit OBJ,Win32以及Win64,同时也支持简单的二进制文件生成。它的语法被设计的简单易懂,相较Intel的语法更为简单,支持目前已知的所有x86架构之上的扩展语法,同时也拥有对宏命令的良好支持。

sudo apt-get install yasm
sudo apt-get install nasm

视频库

要支持X264等视频处理,就需要安装相应的库:

sudo apt-get install libx264-dev
sudo apt-get install libx265-dev

音频库

要支持常见的音频处理,需要安装:

sudo apt-get install libfdk-aac-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install libopus-dev

FFmpeg安装

通过源码安装,需要先下载最新的源码:

cd ~/ffmpegwget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2tar xjvf ffmpeg-snapshot.tar.bz2cd ffmpeg

下载好后,就可以进行安装了,以安装在/opt/ffmpeg为例:

./configure --prefix=/opt/ffmpeg --enable-libx264 --disable-yasm --enable-nonfree --enable-libfdk-aac  --enable-shared --enable-gpl --enable-libmp3lame --enable-libopus  --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/libmakemake install

配置

安装后,需要做基本的配置才可使用。

库配置

配置库所在路径,以便FFmpeg能加载相应库。打开配置文件sudo vi /etc/ld.so.conf,添加一行库路径:

/opt/ffmpeg/lib
然后执行sudo ldconfig,重新加载配置以生效。

路径配置

为能随时使用FFmpeg,需要把对应目录添加到路径中。打开配置文件vi ~/.profile,添加:

FFMPEG=/opt/ffmpegPATH="$PATH:$FFMPEG/bin"

然后执行source ~/.profile,以使配置生效。

使用

配置完成后,在命令行中执行ffmpeg,出现类似如下信息,说明安装成功:

 

从视频文件中提取音频数据:

ffmpeg -i ./test.mp4 -vn -c:a libfdk_aac -ar 44100 -channels 2 -profile:a aac_he test.aacffplay test.acc

 

转载地址:http://agnlf.baihongyu.com/

你可能感兴趣的文章
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>
阿里云《云原生》公开课笔记 第九章 应用存储和持久化数据卷:核心知识
查看>>
linux系统 阿里云源
查看>>
国内外helm源记录
查看>>
牛客网题目1:最大数
查看>>
散落人间知识点记录one
查看>>
Leetcode C++ 随手刷 547.朋友圈
查看>>
手抄笔记:深入理解linux内核-1
查看>>
内存堆与栈
查看>>
Leetcode C++《每日一题》20200621 124.二叉树的最大路径和
查看>>
Leetcode C++《每日一题》20200622 面试题 16.18. 模式匹配
查看>>
Leetcode C++《每日一题》20200625 139. 单词拆分
查看>>
Leetcode C++《每日一题》20200626 338. 比特位计数
查看>>
Leetcode C++ 《拓扑排序-1》20200626 207.课程表
查看>>
Go语言学习Part1:包、变量和函数
查看>>
Go语言学习Part2:流程控制语句:for、if、else、switch 和 defer
查看>>
Go语言学习Part3:struct、slice和映射
查看>>
Go语言学习Part4-1:方法和接口
查看>>
Leetcode Go 《精选TOP面试题》20200628 69.x的平方根
查看>>
Leetcode C++ 剑指 Offer 09. 用两个栈实现队列
查看>>