等待加载

如何使用ffmpeg命令合并视频与音频流(或替换)

系统设置     2020-07-24

ffmpeg是非常强大的视频音频处理工具,但没有gui界面,很多其它的视频处理工具其实都是使用它来完成工作,它们拥有更好的操作界面。其实如果只想做些简单的任务,使用ffmpeg命令就挺好的。

ffmpeg本文会介绍如何使用ffmpeg命令简单的合并视频与音频流,比如,合并从youtube下载的分离的视频和音频,或者将视频中的音乐进行替换。本文介绍的参数只是最基本的简单的参数,并不能处理所有情况。

为了方便操作,在Windows平台上,建议将ffmpeg.exe文件所在的目录加入到环境变量,方法如下(Windows 10)。

在开始菜单中搜索环境变量,或者右键点击“此电脑”,选择属性,进入“高级系统设置”,点击“环境变量”按钮。在环境变量窗口中,选择“用户变量”下的Path,点击“编辑”按钮。也可以是系统变量,根据情况而定。

编辑用户变量Path双击下面的空行,填入ffmpeg.exe所在目录的路径,也可以点击右边的浏览按钮添加。

添加ffmpeg目录点击确定关闭窗口即可。

示例文件:1.mp4(完整的视频1),1v.mp4(仅视频1中的视频流),2.mp4(完整的视频2),2a.mp3(仅视频2中的音频流)。

它们在同一目录下,直接在当前目录的地址栏中输入cmd打开命令提示符。

示例文件合并单独的视频流和音频流

ffmpeg -i 输入文件1的路径 -i 输入文件2的路径 -c:v copy -c:a copy 输出文件的路径

合并单独的视频流和音频流由于它们在同一目录,所以直接使用相对路径。这条命令会将视频流和音频流合并为一个文件,直接复制不重新编码,所以速度很快。

替换视频中的音频为其它的音频流

有时候原视频的音乐不是很理想,比如忽大忽小,有杂音等,我们可以使用下面的命令将其替换。不管是其它的单独的音频文件还是其它视频中的音频流。

ffmpeg -i 输入1 -i 输入2 -c:v copy -c:a copy -map 输入索引:v -map 输入索引:a 输出文件

替换视频流或音频流

上图中的命令会采用复制的方式将视频1中的音频流替换为视频2中的音频流,比较重要的参数是 -map。

0:v 代表选择第一个输入文件的视频流,1:a 代表选择第二个输入文件中的音频流,v和a代表什么相信不用说了。输入文件的索引按前面 -i 参数的顺序排,从0开始。

上面的两条命令是比较常用的,当然,还有更复杂的情况,比如字幕,或者多个音频流选择的问题,编码的问题,可以参考ffmpeg的官方文档:https://ffmpeg.org/ffmpeg.html

本文链接:https://www.xstui.com/read/992