FFmpeg.exe中文版是一款音频视频转换软件。比较特殊的是,它是运行在windows下dos系统中,支持avi,FLV,asf,mpeg,mp3等等格式。支持音频、视频以及各种系统上面进行运行,非常的强大。
FFmpeg是领先的多媒体框架,能够解码、编码、转码、多路复用、双路复用、流、过滤和播放几乎任何人类和计算机创造的媒体。多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。FFmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。FFmpeg在各种各样的构建环境、机器架构和配置下编译、运行,支持Linux、Mac OS X、Microsoft Windows、bsd、Solaris等。
本文以Windows 64位操作系统为例演示
一、下载&解压
首先来9663下载FFmpeg,或者去官网进行下载,如图:
选择Windows平台,下面有两个链接,都是可以的,选择其一。
本文以点击第一个链接为例,进去以后,选择左边的release builds,右边出现如下内容:
你可以选择下载上面红色圈中的release-full版本,或者选择下面红色圈中的前一个稳定版本xxx-full_build。
“release-full 版本会比 xxx-full_build 版本更新,你可以根据个人喜好选择其中一个。
至于你想选择带 shared 的版本还是不带 shared 的版本,实际上都可以。因为同一个版本的带 shared 和不带 shared 的功能是完全一致的。”
带 shared 的版本包含了include和lib目录,这两个目录的主要作用如下:
include 目录:这里包含了 FFmpeg 的头文件,方便开发者在编写程序时引用 FFmpeg 的接口。通过这些头文件,开发者可以访问 FFmpeg 提供的各种功能,比如音视频编解码、格式转换等。
lib 目录:这个目录中存放了 FFmpeg 依赖的共享库模块。这些库文件可以在多个应用程序之间共享,节省了存储空间并减少了内存占用。通过使用共享库,程序在运行时可以动态加载所需的功能模块。
可执行文件:ffmpeg.exe、ffplay.exe和ffprobe.exe是 FFmpeg 的主要可执行文件。它们的体积相对较小,因为实际的功能和实现都在lib目录中的共享库中。当这些可执行文件运行时,如果需要某些特定的功能,它们会动态调用lib目录中的相应共享库。这种设计使得 FFmpeg 的主程序文件保持轻量,并且能够灵活地使用不同的功能模块。
总的来说,带 shared 的版本通过将功能模块分离到共享库中,提高了程序的灵活性和可扩展性。
不带 shared 的版本的结构稍有不同,主要体现在以下几个方面:
bin 目录:在这个版本中,bin目录包含了ffmpeg.exe、ffplay.exe和ffprobe.exe三个可执行文件。这些文件是 FFmpeg 的主要程序,提供了音视频处理、播放和信息查询的功能。
可执行文件体积:与带 shared 的版本相比,这些可执行文件的体积稍大,因为它们已经将所需的功能模块和库静态编译到了各自的可执行文件中。这意味着每个可执行文件包含了所有必要的代码和资源,而不需要在运行时去加载外部库。
独立性:不带 shared 的版本使得每个可执行文件在运行时不依赖于外部库。这种独立性带来了更高的便捷性,因为用户不需要担心缺失库文件的问题,所有需要的功能都已经集成在 exe 文件中。
更新和维护:由于所有功能都在可执行文件中,更新某个模块通常需要重新编译整个 exe 文件。这可能会使得更新的灵活性相对较低,但在某些情况下,静态链接也能提高性能,因为省去了动态加载库的开销。
总的来说,不带 shared 的版本将所有必要的功能封装在可执行文件中,虽然这使得文件体积增大,但带来了更好的独立性和易用性。
解压以后的内容,如上图所示;进入bin目录,复制bin目录路径
二、配置环境变量
1、配置系统环境变量
1、在电脑桌面上,打开我的电脑
2、在空白处,右键,选择[属性]
3、选择 高级系统设置 -> 高级 -> 环境变量
4、在系统变量中,选择Path,然后编辑:
5、然后在出来的[编辑环境变量]表中,新建一个,将刚才复制的bin目录路径粘贴进去,保存即可。
三、验证
重新打开一个命令行窗口,输入:ffmpeg -version,有版本信息输出,则证明配置成功!!
额外补充
对于windows电脑可以将解压文件放到系统的system32目录中去,就不用配置环境变量了。
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为音频设备