FFMPEG|音频、视频、图片多格式转换工具
在AI和CG领域其实经常可以看到FFMPEG的影子,该工具可以轻松的将各种类型的媒体文件格式相互转换。在国内较为知名的格式工厂其实核心部件就是FFMPEG,只是给他加了个UI而已。对于AI领域该工具可以快速通过CMD命令行、C++、Python等编程语言快速后台调用批量转换格式,非常实用。
FFmpeg是一款免费、开源的跨平台音视频处理工具,它包括了广泛的音视频编码、解码、转换、过滤和流化的功能。FFmpeg可以在命令行中使用,也可以通过在其他应用程序中集成它的库来使用。由于其高度可定制的性质和广泛的应用,FFmpeg已成为许多领域中的标准工具,如视频编辑、转码、流媒体、广播等。同时,FFmpeg还支持大量的音视频格式和编解码器,包括常见的MP4、AVI、MKV等格式以及H.264、H.265、VP9等编解码器。
安装教程
关于FFMPEG的安装可以分为两种方法,一种是全自动安装,另一种是手动下载后指定环境变量来安装。
站长本人还是比较推荐通过优雅的方式来安装的,因为这实在是太方便了。
注意:本文中所说的CMD窗口打开方式为:您按住键盘上的微软徽标
别松手+键盘R键
,然后在弹出的窗口内输入cmd
并按下回车,此时将会自动弹出CMD窗口,以下不做过多赘述。
优雅安装
安装要求:
- Windows10系统1809以上版本
- Win7或Win10系统版本低于1809都将无法使用
- Windows11系统
- 已内置
- 魔法上网
- 建议开全局魔法模式
安装教程
什么是优雅?优雅就是您可以通过一行CMD即可完成所有你想要的东西。
注意:使用如果您想在在自己的电脑里使用winget命令,那么需要您按住键盘上的微软徽标
别松手+键盘R键
,然后在弹出的窗口内输入cmd
并按下回车,在其中粘贴如下命令。
winget install ffmpeg -e --rainbow
至此,安装完成,我们已经完成了FFMPEG的安装,但是目前还无法正常在CMD窗口内调用,因为此时的FFMEG还没有被添加至系统的环境变量中。
我们将如下命令复制粘贴至CMD窗口内执行,将会自动识别winget下载后的FFMPEG路径。
注意:必须是以管理员身份方式运行的CMD窗口,不然必出错,而且会导致你本身的系统环境错乱。
powershell -Command "[System.Environment]::SetEnvironmentVariable('Path', [System.Environment]::GetEnvironmentVariable('Path', 'User') + ';%LocalAppData%\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-6.0-full_build\bin', 'User')"
执行上面的命令之后,会自动关闭CMD窗口,不用担心。这是因为环境变量更改之后是需要重启Shell才能生效的,所以会自动关闭,重新打开之后输入ffmpeg
即可看到已经能够正常使用啦。
手动安装
手动安装需要自行下载FFmpeg,本站提供两种下载方式。
官网下载
自行前往官网下载已构建版本,如果看不懂下载哪一个,建议选择网盘下载。
网盘下载
本站下载之后,将该文件存放至D盘的openai.wiki\FFmpeg目录内,为了您可以快捷添加环境变量,建议您直接复制如下命令,然后在CMD窗口内执行。
注意:必须是以管理员身份方式运行的CMD窗口,不然必出错。
if not exist D:\openai.wiki\FFmpeg mkdir D:\openai.wiki\FFmpeg
执行该命令之后,将会在D盘自动创建openai.wiki\FFmpeg目录,您将下载好的ffmpeg.exe
、ffplay.exe
、ffprobe.exe
这3个文件移动至该目录内。
操作完成后的路径应该与下面的结构一致:
D:\openai.wiki\FFmpeg └─ffmpeg.exe └─ffplay.exe └─ffprobe.exe
环境变量
此时需要您在CMD窗口内执行如下命令,即可自动添加环境变量。
注意:必须是以管理员身份方式运行的CMD窗口,不然必出错。
powershell -Command "[System.Environment]::SetEnvironmentVariable('Path', [System.Environment]::GetEnvironmentVariable('Path', 'User') + ';D:\openai.wiki\FFmpeg', 'User')"
安装完成
使用教程
FFmpeg 是一个开源的音视频处理工具,拥有丰富的功能和命令行接口。您可以通过在CMD中使用简单的命令行来实现您想的功能。
以下是 FFmpeg 常用的一些方法:
示例:input
是您的输入文件路径,output
为您想保存的文件路径。例如我想使用示例1中的视频转功能,将MP4转为AVI格式,假如当前想转换的视频路径为D:\openAI.mp4
,想要保存的的路径为D:\openAI.avi
。那么完整的命令应该为ffmpeg -i D:\openAI.mp4 D:\openAI.avi
- 视频转换
将视频文件从一种格式转换为另一种格式。例如,将 .mp4 格式的视频转换为 .avi 格式的视频。
ffmpeg -i input.mp4 output.avi
- 视频剪辑
剪辑视频文件的某一部分。例如,从视频的第 10 秒开始剪辑,持续时间为 5 秒。
ffmpeg -ss 00:00:10 -t 00:00:05 -i input.mp4 output.mp4
- 视频旋转
旋转视频文件。例如,将视频逆时针旋转 90 度。
ffmpeg -i input.mp4 -vf "transpose=2" output.mp4
- 视频拼接
将多个视频文件拼接成一个视频。例如,将input1.mp4和input2.mp4
拼接成output.mp4
。
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "concat=n=2:v=1:a=0" output.mp4
- 视频截图
从视频中截取一张静态图像。例如,从视频的第 5 秒处截取一张图像。
ffmpeg -ss 00:00:05 -i input.mp4 -vframes 1 output.jpg
- 音频提取
从视频文件中提取音频。例如,从视频文件input.mp4
中提取音频到output.mp3
。
ffmpeg -i input.mp4 -vn -acodec copy output.mp3
- 音频转换
将音频文件从一种格式转换为另一种格式。例如,将.wav
格式的音频文件转换为.mp3
格式的音频文件。
ffmpeg -i input.wav -vn -ar 44100 -ac 2 -ab 192k output.mp3
- 音频合并
将多个音频文件合并成一个音频文件。例如,将input1.mp3和input2.mp3
合并成output.mp3
。
ffmpeg -i "concat:input1.mp3|input2.mp3" -acodec copy output.mp3
这些是FFmpeg
中常用的一些方法,但实际上FFmpeg的功能非常丰富,可以实现更多的音视频处理需求。
大佬,这个CMD安装方法好像不太行了