[FFmpeg-user] Blending two inputs with custom expression
Paul B Mahol
onemda at gmail.com
Thu May 11 22:59:20 EEST 2017
On 5/11/17, SviMik <svimik at gmail.com> wrote:
> 2017-05-11 19:10 GMT+03:00 Gyan <gyandoshi at gmail.com>:
>> Loop the image input i.e. `-loop 1 -i in.png`
>> Unfortunately, there's a bug at present which prevents the use of
>> shortest=1 in the blend filter. (https://trac.ffmpeg.org/ticket/6292)
>> So, you'll have to terminate using -t N where N is the duration of the
>> video, or if the video has an audio stream, by adding -shortest.
> Works. But the result was still wrong. Then I figured out what was wrong,
> and my idea with swapping layers was actually right. The final solution is
> to change the video format to rgba to fix the wrong result, and swap the
> blend layers to fix the drops, then we don't need that loop. I have also
> stored the premult png separately trying to optimize the speed:
> ffmpeg -i mask.png -filter_complex
> ffmpeg -i tmp.flv -i mask_premult.png -filter_complex
> But the fps=1.0 makes me sad (comparing with fps=40 without filters when
> just encoding). Perhaps writing the filter in C is the right way if I want
> something usable in real-time application...
If this is about alpha premultiply, there is premultiply filter.
More information about the ffmpeg-user