ffmpeg:concat视频和图像

时间:2013-08-26 19:59:22

标签: ffmpeg video-editing

我有2个视频(相同的分辨率,相同的编码)文件,我想连接,我想在它们之间插入一些文本3秒,作为分割器。我在Windows上用ffmpeg做这个。

我感兴趣的可选想法:

  • 避免在此过程中重新编码视频
  • 在每个部分的交叉处有淡入/淡出

目前,我将文字作为图像(但我对其他建议持开放态度)。假设我有:

  • video1.mp4:6:33
  • splitter.png(与video1.mp4相同的分辨率)
  • video2.mp4:16:44

我尝试了一些事情,但我总是遇到同样的问题:视频是23:20(视频1 + 3秒+视频2),但是3秒间隙只是最后一个视频1帧冻结而不是我的图像/文本...

任何想法我做错了什么或我应该如何做到这一点?

这是我到目前为止所尝试的内容:

方法1:图像到视频

将图像转换为3秒mp4胶片,然后将其与其他胶片连接(分离器):

ffmpeg -loop 1 -f image2 -i splitter.png -r 30 -t 3 splitter.mp4
ffmpeg -f concat -i input.txt -codec copy output.mp4

input.txt的样子:

file 'E:\video1.mp4'
file 'E:\splitter.mp4'
file 'E:\video2.mp4'

splitter.png中的内容splitter.mp4可见,但output.mp4中未显示。此外,我不完全确定splitter.mp4尊重与2个视频完全相同的编码,我不知道如何验证。

方法2:插入图像帧

直接在图像上运行concat(demuxer)90次(30fps - > 3秒)

ffmpeg -f concat -i input.txt -codec copy output.mp4

input.txt的样子:

file 'E:\video1.mp4'
file 'E:\splitter.png'
...
file 'E:\splitter.png'
file 'E:\video2.mp4'

编辑:可能的解决方案?

由于我所做的只是截屏,我不妨截取我的分割图片。这样我就能确定音频和音频。视频编码并没有任何问题合并,它不需要任何重新编码...我知道它可能听起来很愚蠢,但它可能会做的伎俩......

注意:我没有尝试过,因为我已经通过Openshot工作了。

1 个答案:

答案 0 :(得分:1)

我猜这是所有编解码器问题 - PNG转向MP4可能与您的真实MP4不同。

试试这个 - concatenation of files of different codecs