ffmpeg将多段视频合成一个视频
创作时间:
作者:
@小白创作中心
ffmpeg将多段视频合成一个视频
引用
CSDN
1.
https://m.blog.csdn.net/2401_88244350/article/details/143370376
ffmpeg视频拼接需要用 concat
参数。 此外ffmpeg拼接的视频和原视频的封装格式有关
一、方法一:利用文件列表
- 建立一个
.txt
文件,例如文件名为 filelist.txt ,里面存放的是三段小视频的文件名,如下:
file '/path/to/video1.mp4'
file '/path/to/video1.mp4'
file '/path/to/video1.mp4'
- 用ffmpeg 合成一段视频
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 过滤器会重新编码它们。注意这是有损压缩
。
- [0:0] [0:1] [1:0] [1:1] [2:0] [2:1] 分别表示第一个输入文件的视频、音频、第二个输入文件的视频、音频、第三个输入文件的视频、音频。
- concat=n=3:v=1:a=1 表示
有三个输入文件
,输出
一条视频流和一条音频流。 - [v] [a] 就是得到的视频流和音频流的名字,
注意在 bash 等 shell 中需要用引号,防止通配符扩展。
四、注意事项
- 输入文件必须是有序的
- 输入文件格式最好相同
- 输入文件大小不同时后面的文件会被自动拉伸为和第一个文件同分辨率,当然也存在编码问题,自然会很慢
- 对于 Packed B-Frames 的视频,如果封装成 MKV 格式的时候提示 Can’t write packet with unknown timestamp,尝试在 FFmpeg 命令的 ffmpeg 后面加上 -fflags +genpts
Reference:
1、https://blog.csdn.net/doublefi123/article/details/47276739
2、http://www.voidcn.com/article/p-xzdyrfxk-bhs.html
热门推荐
揭秘包青天:从清官到神明的演变与宋代司法真相
包青天之死:是病逝还是被毒害?
多邻国英语测试口语练习:逐步提升指南
富贵竹的浇水方法,遵循不干不浇、浇则浇透的原则
如何正确修剪富贵竹?(精细修剪让富贵竹生机勃勃)
《肢体的绣感》:意大利电影如何通过身体语言展现情感的细腻与深刻
秋冬养生新宠:山药枸杞炖猪脑&芹菜粥
南瓜子和三文鱼:偏头痛患者的饮食救星?
大连市中医医院专家:这样吃,远离偏头疼困扰
历史上的李信有哪些功绩?他的结局如何?
命理学专家推荐:科学职业规划法
男人50岁过后,感觉越来越疲惫怎么办?医生提醒:做好这3件事
男人七种促进睡眠的好方法
北大7个专业位居全国第一,文理学科全面开花
最新世界大学学科排名出炉:清华四学科跻身Top10,这些学校首次入榜
湖南高速公路车流增长迅猛!春节后半段车流持续高位运行,科学避堵看这里!
顺利抵达!湖南高速交警驾车实测路况!长途驾车返湘务必注意这些事项
德语达人助力国际贸易新趋势
学德语提升职场竞争力:中德经贸合作下的新机遇
学德语,职场晋升快车道!
焦虑症与抑郁症:看似轻微,实则严重干扰健康生活的隐形杀手
正念冥想:如何将正念融入日常生活
马来西亚的文化礼仪:综合指南
卡内基梅隆大学如何利用AI找到新材料?
谷歌DeepMind和UC Berkeley AI加速新材料发现
630亿能源金属龙头涨停,发生了什么?
如何尊重孩子的隐私,构建和谐家庭?
如何在家中保护孩子的隐私?
青春期孩子隐私权保护指南
汉语言文学考研高效复习攻略