赞
踩
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文件。
打开系统命令行接面,切换到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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。