FFmpeg最新版是一款开源视频编辑处理应用程序,FFmpeg官方版提供了录制、转换以及流化音视频的完整解决方案,FFmpeg还包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
软件介绍
FFmpeg最新版在Linux平台下开发,但FFmpeg同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS
X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael
Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast
Forward"。
FFmpeg作为Linux下的LGPL开源程序,在Windows下编译需要特殊的工具。我这里提供的版本,使用MinGW编译,只有一个可执行文件,可直接运行(命令行程序)。
FLV向其它格式(avi(mpeg4)、asf、mpeg)转换的简易方法:(圆括号内必填,方括号内可选)。
转换成wmv/asf
ffmpeg -i (要转换的flv文件完整路径) -f asf -vcodec (wmv1或wmv2) [-b 视频码率] -acodec mp3
[-ab 音频码率] (输出的asf/wmv文件完整路径)。
转换成mpeg1
ffmpeg -i (要转换的flv文件完整路径) -f mpeg -vcodec mpeg1video [-b 视频码率] -acodec mp2
[-ab 音频码率] (输出的mpg文件完整路径)。
转换成avi(msmpeg4)
ffmpeg -i (要转换的flv文件完整路径) -f avi -vcodec (msmpeg4或msmpeg4v1或msmpeg4v2) [-b
视频码率] -acodec mp3 [-ab 音频码率] (输出的avi文件完整路径)。
软件功能
1.视频采集:
FFmpeg不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。
2.视频格式转换:
FFmpeg可以轻易地实现多种视频格式之间的相互转换,例如可以将多种视频格式转换为flv格式,还可以将摄录下的视频avi等转成视频网站所采用的flv格式。
3.视频截图:
对于选定的视频,FFmpeg可以截取指定时间的缩略图。
4.视频抓图:
FFmpeg可以获取静态图和动态图,但不提倡抓gif文件,因为抓出的gif文件大而播放不流畅。
5.给视频加水印:
FFmpeg可以将视频的压缩编码数据解码为像素数据,也可以将视频像素数据编码为视频压缩数据。
6.音视频编解码:
FFmpeg能够抓取实时的音频/视频流,它能够在任意的采样率之间转换调整视频,也能够用高质量的多相滤波器动态的调整视频的大小。
7.网络功能:
FFmpeg能够从任意数量的输入“文件”(它能够是常规文件,管道,网络数据流,抓取设备等)中读取,由-i选项指定,能够写入任意数量的输出文件,这些文件由普通的输出文件名字指定。
软件特色
1 音频转换
ffmpeg -i my_audio.wav my_audio.mp3-i 后为要转换的音频文件,my_audio.mp3为目的音频文件
2 视频转换
ffmpeg -i my_video.mpeg -s 500×500 my_video.flv-i 后为源视频文件, -s
表示设置目标视频文件的分辨率 my_video.flv为目的视频文件
3 从视频中截取图片
ffmpeg -i test.mpg image%d.jpg默认1s截取25张图片,可以通过-r设置每秒截取的图片数量
-r fps 设置帧率,也就是每秒截取图片的数量(默认25)
ffmpeg -i test.mpg -r 1 image%d.jpg这样子每1s截取1张图片
还可以设置截取间隔,起止
-ss 设定时间位置,语法:hh:mm:ss[.xxx]
-t 时长:限制转码/捕获视频的时间,语法:hh:mm:ss[.xxx]
ffmpeg -i test.mpg -r 25 -ss 00:00:10 -t 00:00:05
images%05d.png在第10秒开始,以每秒截取25张图片的速度,截取5秒时长的图片
4 从视频中截取音频
ffmpeg -i video.avi -f mp3 audio.mp3-f 强制选择格式
ffmpeg -i video.avi -vn audio.mp3-vn 取消截取视频(也就是只输出音频文件)
5 创建截屏视频
ffmpeg -f x11grab -r 25 -s wxga -i :0.0 /tmp/outputFile.mpg0.0 是你X11
server的屏幕显示号吗,和DISPLAY一样样的.
此条命令以每秒25帧的速率来截取wxga屏幕视频,当然这里可以用-s 来设置视频分辨率,输出文件是/tmp/outputFile.mpg
6 用图片制作视频
ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg
将`img001.jpg’, `img002.jpg'这种顺序排列的图片文件转制作为视频
7 从webcam中截取视频
ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 out.mpg
同时截取音频和视频:
ffmpeg -f oss -i /dev/dsp -f video4linux2 -s 320x240 -i /dev/video0
out.mpg
/dev/video0为视频设备 /dev/dsp为音频设备
使用说明
配置环境变量
1、打开控制面板,选择:系统和安全
2、选择: 系统
3、选择:高级系统设置
4、选择:高级菜单,双击打开右下角的环境变量
5、选择:系统变量中的path。点击编辑。
6、选择:新建
7、输入你解压后的ffmpeg文件的路径(注意,路径写到ffmpeg文件下的bin目录
配置完成后,打开命令提示符(windows徽标键+R键,输入cmd):
打开后输入命令:ffmpeg -version
常见问题
什么是ffmpeg?
FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能1,包含了libavcodec
─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。
怎样修改途径更新中文输出?
在FFmpeg中文版界面选项formard_路径用utf8编码,即可重新刷新即可。
用ffmpeg不能正确生成中文名字的文件,怎么解决?
确定下,是ffmpeg不支持中文,还是ffmprg字符集不一致导致的乱码。如果后者,转换下就能支持中文了;
那就生成英文文件后再改名。