在头20秒内使用FFMPEG将图像添加到视频的最快方法

时间:2019-03-01 11:51:51

标签: ffmpeg

有人知道在开始的20秒内将图像添加到视频的最快方法吗? 我已经尝试过了,但是FFMPEG似乎重新编码了整个视频,即使经过了20秒,这也花费了很长时间。

这是我的代码:

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=5:5:enable='between(t,0,20)'" output.mp4

1 个答案:

答案 0 :(得分:0)

快速

使用更快的-presetstream copy(重新混合)音频,而不是重新编码:

SEXP awesomefun(SEXP x) 
{
    int nprot = 0;
    if(MAYBE_SHARED(x)) {
        PROTECT(x = duplicate(x)); nprot++; 
    }
    /* do awesome things to x that modify it inline
        protect other things as necessary but always increment nprot when you do, 
        decrement nprot if you ever unprotect */
    if(nprot) UNPROTECT(nprot);
    return x;
}

更快

您可以对〜20段进行编码,使其符合与主输入相同的参数,然后在流复制模式下与concat demuxer串联。但是,这将很麻烦,因为对于大多数用户而言,一致性参数并不是一件容易的事,concat ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=5:5:enable='between(t,0,20)'" -preset fast -c:a copy output.mp4 指令不能保证在非内部输入的情况下仍能准确查找,并且无论如何您最终都可能遇到时间戳问题。

最快

最快的方法是使用播放器覆盖徽标:

inpoint