要处理多段视频太费劲啦,如果直接把多段小视频合成一段长视频处理起来就会方便很多,类似剪辑之后的视频合并操作!!!
ffmpeg视频拼接需要用
concat
参数。 此外ffmpeg拼接的视频和原视频的封装格式有关
.txt
文件,例如文件名为 filelist.txt ,里面存放的是三段小视频的文件名,如下:file '/path/to/video1.mp4'
file '/path/to/video1.mp4'
file '/path/to/video1.mp4'
ffmpeg -f concat -i filelist.txt -c copy output.mp4
注意:
使用 FFmpeg concat 分离器时,如果文件名有奇怪的字符,要在 filelist.txt中转义。
合成命令如下:
ffmpeg -i "concat:video1.mp4|video2.mp4|video3.mp4" -c copy output.mp4
这种方法不友好,有些情况下用不成功
合成命令如下:
ffmpeg -i video1.mp4 -i video2.webm -i video3.avi -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' <编码器选项> output.mkv
参数说明:
如你所见,上面的命令合并了三种不同格式的文件,FFmpeg concat 过滤器会重新编码它们。注意这是有损压缩
。
有三个输入文件
,输出
一条视频流和一条音频流。注意在 bash 等 shell 中需要用引号,防止通配符扩展。
Reference:
1、https://blog.csdn.net/doublefi123/article/details/47276739
2、http://www.voidcn.com/article/p-xzdyrfxk-bhs.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。