测试利器-FFmpeg

2021-01-12 14:51:58 浏览数 (1)

哈喽,艾瑞巴蒂,来和大家聊一聊,最近在工作中遇到的一个强大的工具FFmpeg这是一个音频处理工具,小编也是最近才对它有了一些了解,让我来告诉大家它是干嘛的~!

FFmpeg是什么?

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。 FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的”FF”代表”Fast Forward”。[1] FFmpeg编码库可以使用GPU加速

FFmpeg怎么安装?

  • 在官网下载安装包,这里我们选择最新的版本即可,首先解压安装包
代码语言:javascript复制
tar -xjvf ffmpeg-3.3.4.tar.bz2

  • 执行configure配置命令
代码语言:javascript复制
./configure --enable-shared --prefix=/monchickey/ffmpeg
这里有坑儿

执行configure配置的话,可能会出现错误:

代码语言:javascript复制
yasm/nasm not found or too old. Use --disable-yasm for a crippled build.

意思就是 yasm/nasm 包不存在或者很旧,可以使用–disable-yasm禁用这个选项编译或者可以安装一下yasm

  • 在官网下载最新的yasm安装包
代码语言:javascript复制
tar -xvzf yasm-1.3.0.tar.gz

  • 编译参数都是默认的,直接安装到系统中即可
安装FFmpeg

  • 安装成功之后继续回到ffmpeg解压后的目录,执行下面命令编译并安装
代码语言:javascript复制
./configure --enable-shared --prefix=/monchickey/ffmpeg

  • 执行make和make install之后你会看到你的画面上跳动的代码,但是这里你不要慌,可以趁机喝口水什么的。
  • 确认安装文件是否存在
    • make和make install会把ffmpeg相关执行程序、头文件、lib库安装在/monchickey/ffmpeg/下
    • cd /monchickey/ffmpeg/查看一下发现有bin,include,lib,share这4个目录: (1) bin是ffmpeg主程序二进制目录 (2) include是C/C 头文件目录 (3) lib是编译好的库文件目录 (4) share是文档目录
  • 进入bin,执行命令
代码语言:javascript复制
./ffmpeg -version
这里有坑儿

查看FFmpeg版本时,可能会出现错误: libavdevice.so.57: cannot open shared object file: No such file or directory 遇到这个问题不要慌,原因是lib目录未加载到链接到系统库中。

如何解决

  • 进入/etc/ld.so.conf.d/目录
  • vim /etc/ld.so.conf.d/ffmpeg.conf
  • 最后添加 /xxxx/ffmpeg/lib ,xxxx为自己的目录
FFmpeg命令
  • 查看文件信息
代码语言:javascript复制
ffmpeg -i input.mp4
  • 转换编码格式
代码语言:javascript复制
ffmpeg -i [input.file] -c:v libx264 output.mp4
  • 转换容器格式
代码语言:javascript复制
ffmpeg -i input.mp4 -c copy output.webm
  • 调整码率
代码语言:javascript复制
ffmpeg 
  • 改变分辨率
代码语言:javascript复制
ffmpeg 
  • 提取音频
代码语言:javascript复制
ffmpeg 

好了,今天我们的FFmpeg就先介绍到这里了,大家有什么问题欢迎在下方留言。

0 人点赞