FFmpeg详解及常用命令使用

FFMPEG简介

FFMPEG堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器,提供了录制、转换以及流化音视频的完整解决方案。市面上使用FFMPEG作为内核视频播放器有Mplayer,ffplay,射手播放器,暴风影音,KMPlayer,QQ影音等;使用FFMPEG作为内核的Directshow Filter:ffdshow,lav filters.等;使用FFMPEG作为内核的转码工具:ffmpeg,格式工厂,狸窝视频转换器等。

关于FFMPEG的学习资料,http://ffmpeg.org/是FFMPEG的官网,里面有大家需要的各种信息。另外,http://blog.csdn.net/leixiaohua1020/article/details/15811977博客中有很多文章、视频,讲述了ffmpeg的使用方法、配置环境、实例讲解、代码解析等信息。
 

编译好的windows可用版本的下载地址(官网中可以连接到这个网站,和官方网站保持同步):http://ffmpeg.zeranoe.com/builds/。该网站中的FFMPEG分为3个版本:Static,Shared,Dev。前两个版本可以直接在命令行中使用,他们的区别在于:Static里面只有3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe,每个exe的体积都很大,相关的Dll已经被编译到exe里面去了。Shared里面除了3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe之外,还有一些Dll,比如说avcodec-54.dll之类的。Shared里面的exe体积很小,他们在运行的时候,到相应的Dll中调用功能。Dev版本是用于开发的,里面包含了库文件xxx.lib以及头文件xxx.h,这个版本不包含exe文件。

1.应用程序使用方法

打开系统命令行接面,切换到ffmpeg所在的目录,就可以使用这3个应用程序了。首先在开始菜单搜索框中输入cmd并回车到命令行界面,然后切换到ffmpeg所存储的位置,例如将应用程序放在D:\ffmpeg-20160825-01aee81-win64-static\ffmpeg-20160825-01aee81-win64-static\bin,实例如图:

上图实例是将一个bus.avi中视频分离出来,利用三个应用程序中的ffmpeg.exe。

ffmpeg –y –i input –vcodeccopy –an output.avi

其中-y表示覆盖同名文件,-i表示输入文件即bus.avi,-vcodec表示编码方式,后面的copy表示用原来的编码方式,即不重新编码,-an表示去除音频,后面的busv.avi表示分离出的视频文件。

同理将视频中的音频文件分离出来的命令行为:

ffmpeg -ibus.avi -acodec copy -vn busa.wav。

上面举例说明了应用程序的用法,应用程序的命令行相对代码要简单很多,也能实现例如音视频分离、转码、播放等各种功能,如视频转码的命令行为:

ffmpeg -y -i input.mp4 -vcodec libx264 -acodec copy output.mp4

其中libx264为指定的视频编码器。

ffmpeg –s 352x288 -iinput -r 25 original/%04d.bmp

-s用来指定导出帧序列的大小(可缺省),-i表示输入的视频,-r表示提取的帧率(可缺省),original/%04d.bmp中的original/表示用于存放帧图片的文件夹(要提前创建),%04d表示自动按照序列命名,为4位数(0001~9999),其中图片格式可以改为jpg等等。

ffmpeg -f image2 -i original \%04d.jpg -vc

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值