[FFmpeg-user] ffmpeg Swiss army knife -- mixed content (e.g. "Making of" documentaries)

Mark Filipak (ffmpeg) markfilipak at bog.us
Mon Mar 8 14:53:43 EET 2021


I'm well on my way to creating a single, non-cosmetic, filter complex that will transcode any video 
found on DVDs & BDs with excellent results and with zero combing & zero judder. The filters are 
purely mechanical -- no blend, no blur, no yadif -- and with results that are far better than 
Handbrake, for example, and that are automatic -- no presets or passed-in parameters whatsoever.

I'm getting pretty jazzed by it.

I'm now trying to incorporate videos that have mixed content (e.g. "Making of" documentaries) and I 
need expert information (or guidance).

Of interest is a portion of the filter pipeline:

...,fieldmatch,decimate,showinfo...


*Question #1*: Can frame rate within the filter pipeline change over time?
I ask this because if the frame rate changes, I can use that information,
1, to determine whether the current focus is in frames that originated as telecined (that are 
subsequently decimated) vs. frames that originated as scan-interlaced (that do not decimate), and
2, to then split-select appropriate follow-on pipeline elements that are optimized to each portion 
of video.

Note: However, the showinfo (above) shows the same frame-to-frame dalta'PTS's for decimated portions 
that it shows for non decimated portions. Since the video is CFR (forced), the only possible 
explanation I can think of is that decimate is dropping frames in the non decimated portions. If 
true, it's a disaster.


*Question #2*: Is there some way to flag frames that are combed for a follow-on select expr?
I ask because, if Answer #1 is "No", then I could use the flag to achieve the same end.

Note: Is that "side data"? I've read about side data, but I don't know what it is, or how to use it.


*Question #3*: Will fieldmatch & decimate always drop 1 frame, each?
...,fieldmatch,decimate,...
    |          |        |
    |          |        Per showinfo here, 1st frame = 2
    |          Per showinfo here, 1st frame = 1
    Per showinfo here, 1st frame = 0
I ask because I can compensate, but only if the 1st frames' numbers are fixed numbers.


Thanks, Folks!
I'm hoping that in a week or two I can post here, a single, ffmpeg Swiss army knife script that 
automatically handles all DVD & BD content, with automatic VOB concat for DVDs, and with automatic 
video species selection.


Oh, one last question.
*Question #4*: Do you have a 60Hz TV that nonetheless handles 120fps?
I ask because my el cheapo, 60Hz TV handles 120fps just fine, presumably by dropping frames but 
that's okay (and is certainly better than telecine for videos that have been motion vector 
interpolated).


More information about the ffmpeg-user mailing list