[FFmpeg-user] ffprobe bug in 'interlaced_frame'?
markfilipak.windows+ffmpeg at gmail.com
Mon Jan 27 06:07:16 EET 2020
On 01/26/2020 09:02 PM, Carl Eugen Hoyos wrote:
> Am Mo., 27. Jan. 2020 um 02:42 Uhr schrieb Mark Filipak
> <markfilipak.windows+ffmpeg at gmail.com>:
>> What I'd prefer is to encode the NTSC TV sections as 30i and encode
>> the movie clips as 24p.
> Isn't that what happens if you do the following?
> $ ffmpeg -i input out.mkv
> (You may need to enable interlaced encoding, x264 is smart enough
> to only use it for frames that need it)
I'm using HandBrake. I assume that HandBrake uses ffmpeg libs. The
HandBrake team gave me the impression that making progressive frames,
only, was an ffmpeg requirement.
> Or is your problem that the input is cfr and hard-telecined? Maybe
> fieldmatch and mpdecimate help (I have never tried but you can
> force mpdecimate to only throw away identical frames). But note that
> mpdecimate is not supposed to reduce output file size for a modern
> codec if you only throw away identical frames, so if your issue is
> really file size, it shouldn't matter.
I'm not using ffmpeg directly. Should I be using ffmpeg directly?
I submitted a feature request that HandBrake list, in the log file it
creates during a transcode, the ffmpeg parameters it used, but the
HandBrake team refused the feature request.
HandBrake allows user parameters to be added as text, via a text box,
but there's no documentation regarding what those user parameters might be.
>> I think it's possible to mix those two [30i & 24p] as separate GOPs, but I must
>> confess that I'm not sure.
> I don't think this is necessary.
So, ffmpeg's encoder is smart enough to detect the difference, eh? Wow.
>> Right now, if I detelecine both sections, of course I get extreme
> You cannot detelecine the "TV sections"...
That's exactly what HandBrake does (and it looks awful of course). The
HandBrake team explains that HandBrake simply takes the decoder's
progressive output (which is why I have to transcode to 60p). I could
simply decomb the 30p pictures, but I can plainly see the difference
between that and the 60p line-doubled version, and I much prefer the 60p
version. In fact, the 60p version is often smoother -- better motion
objects -- than the source. I originally asserted that no transcode
could be better than the source, but I was wrong. I was wrong because I
didn't consider motion objects. I can see the difference between 30i
versus 30p that's been decombed versus 30i that's been detelecined to
24p. The differences are subtle, but seeing them came as a revelation.
>> combing in the NTSC TV sections, and if I hard telecine both sections, I
>> get judder in the movie clips.
> This is difficult to understand because you (again) change the subject
> here (first from soft-telecine that is not supported by FFmpeg to vfr
> encoding that is supported except for mov, now to combing artefacts).
All 3 approaches are interrelated, are they not? When some sections of a
video are 60 fields/sec and others are 24p that is soft-telecined to
30i, the various approaches (detelecine + decomb, versus hard telecine +
decomb, versus line-doubling to 60p) are interrelated; there are
tradeoffs for each approach.
You would not believe how long I worked on understanding this stuff
before I realized that modern "NTSC" DVD movies are actually 24p with
30i metadata (i.e., soft-telecined). Modern "NTSC" DVDs are marked "NTSC
30i", but they aren't really 30i; they're closer to BDs and can be
transcoded to 24p without adding any filters -- another revelation.
> The fact that an output file is larger than an input file is by itself
> not related to anything of the above: If you need best quality, it
> is actually expected.
Well, whenever I transcode from h262 source to h265 target I invariably
get a reduction of almost 50%. So, why not go with h265? What modern
player doesn't support h265? Right now my media server is filled with
ISOs. I want to replace all of them with MKVs.
Why not use an h265 encoder? <-- this is a serious question.
> If you want the "best" output file, you should not re-encode if
> output file size matters (it sadly always does, even for archivists).
I tried using MKVToolNix to simply repackage h262 as an MKV without
transcoding. The result was fine, but transcoding to h265 was better,
especially at 60p.
> Did you tell the encoder that parts of your video are interlaced?
In HandBrake, I always have deinterlace enabled. There appears to be no
penalty for having it enabled, even when it's not needed.
Thanks for your help, Carl. I'm trying hard to understand every word you
write. Even when you say that something doesn't matter, even though you
don't recognize that you're giving me valuable clues, that's what you're
doing. I hope that has meaning to you. Thank you.
More information about the ffmpeg-user