[FFmpeg-user] 'image trails'
Mark Filipak
markfilipak.windows+ffmpeg at gmail.com
Wed Apr 8 14:19:07 EEST 2020
Command employing 'interleave' filter in lieu of 'mix' filter:
fmpeg -i "M:\Test Videos\23.976p.mkv" -filter_complex
"split=3[B][C][D],[B]select='bitand(not(eq(mod(n+1\,10)\,3))\,not(eq(mod(n+1\,10)\,8)))'[E],[C]select='eq(mod(n+1\,10)\,3)'[G],[D]select='eq(mod(n+1\,10)\,8)'[H],[E][G][H]interleave=3"
-map 0 -c:v libx264 -crf 28 -c:a copy -c:s copy "C:\AVOut\23.976p.MKV"
The 'interleave' filter temporally muxes 2 (or more) streams. It orders the stream frames based on
their time stamps (with extensive buffering).
This is discouraging.
The 'mix' filter is no good. It's single-threaded. I've been waiting over 2-1/2 hours to finish
interleaving a 10-second video that ordinarily takes about 10 seconds to transcode. According to
Windows' Sysinternals Process Explorer, the process *is* alive and executing.
A better solution?
Better would be a filter that accepts a template in lieu of time stamps. It would simply fetch and
process the stream frames in the order they are presented to the inputs (fifo-style), and interleave
the input streams according to the template.
In my case, the filter would have 3 inputs and the template would be: 1 1 2 1 1 1 1 3 1 1.
Do *you* know of such a filter? Or have a better idea?
Thanks,
Mark.
More information about the ffmpeg-user
mailing list