前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >测试利器-FFmpeg

测试利器-FFmpeg

作者头像
用户5521279
发布2021-01-12 14:51:58
8380
发布2021-01-12 14:51:58
举报
文章被收录于专栏:搜狗测试搜狗测试

哈喽,艾瑞巴蒂,来和大家聊一聊,最近在工作中遇到的一个强大的工具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就先介绍到这里了,大家有什么问题欢迎在下方留言。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FFmpeg是什么?
  • FFmpeg怎么安装?
  • 这里有坑儿
    • 安装FFmpeg
    • 这里有坑儿
    • FFmpeg命令
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档