专栏首页搜狗测试测试利器-FFmpeg

测试利器-FFmpeg

哈喽,艾瑞巴蒂,来和大家聊一聊,最近在工作中遇到的一个强大的工具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怎么安装?

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

  • 执行configure配置命令
./configure --enable-shared --prefix=/monchickey/ffmpeg
这里有坑儿

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

yasm/nasm not found or too old. Use --disable-yasm for a crippled build.

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

  • 在官网下载最新的yasm安装包
tar -xvzf yasm-1.3.0.tar.gz

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

  • 安装成功之后继续回到ffmpeg解压后的目录,执行下面命令编译并安装
./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,执行命令
./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命令
  • 查看文件信息
ffmpeg -i input.mp4
  • 转换编码格式
ffmpeg -i [input.file] -c:v libx264 output.mp4
  • 转换容器格式
ffmpeg -i input.mp4 -c copy output.webm
  • 调整码率
ffmpeg \
  • 改变分辨率
ffmpeg \
  • 提取音频
ffmpeg \

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

本文分享自微信公众号 - 搜狗测试(SogouQA),作者:Py

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-01-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 测试利器Mocha

    mocha 是一个功能丰富的javascript测试框架,可以运行在nodejs和浏览器环境,使异步测试变得简单有趣。mocha 串联运行测试,允许灵活和精确地...

    笔阁
  • Web直播点播平台EasyDSS如何利用ffmpeg拉RTSP流转推RTMP服务器?

    当视频流不能在浏览器直接进行播放时,可以使用ffmpeg进行转码,如何利用ffmpeg拉RTSP流转推RTMP服务器,实现内网视频上互联网?

    TSINGSEE青犀视频
  • iOS 测试利器:idb

    对于android的开发以及测试人员,对adb命令一定会很熟悉,adb工具可谓android测试的入门神器,安装、卸载、抓log、截图等等一应俱全。很多自动化以...

    腾讯移动品质中心TMQ
  • 开源流媒体服务器SRS学习笔记(1) - 安装、推流、拉流

    SRS(Simple RTMP Server) 是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播...

    菩提树下的杨过
  • 信手拈来的开(mian)源(fei)视频转码方法

    优点: 1. 支持批量转码,一次配置批量转码; 2. 支持多操作系统; 3. 中文界面,简化操作; 2. AVANTI-FFmpeg 项目链接: http...

    用户5521279
  • 腾讯云直播+点播全线产品支持AV1,带来极致视频体验

    日前,腾讯视频云直播、点播、媒体处理全线产品均已支持AV1标准,据悉,腾讯云也是国内首家直播+点播同时支持AV1视频处理业务的公有云厂商。 据悉,AV1(Al...

    腾讯云音视频
  • 通过WebAssembly在移动端解码H.265

    随着音视频业务的快速发展,作为前端工程师,我们团队也逐步深入到音视频编解码领域,涉及到流媒体技术中的文本、图形、图像、音频和视频多种理论知识的学习,并有机会大规...

    LiveVideoStack
  • FFmpeg-音视频产品不容忽视的隐形王者

    目前,业界的视频播放主要有三种架构:MPC, MPlayer和VLC,占据市场90%的份额。而三个架构均使用或者融合FFmpeg的视频解码技术。FFmpeg犹...

    用户5521279
  • FFmpeg封装格式处理2-解复用例程

    本例实现,将输入文件中的视频流和音频流分离出来,保存为单独的文件,所保存的文件是不含封装格式的裸流文件。

    叶余

扫码关注云+社区

领取腾讯云代金券