[FFmpeg-user] Meaning of ffprobe output

Carl Eugen Hoyos ceffmpeg at gmail.com
Mon Mar 11 12:58:21 EET 2019

2019-02-21 11:31 GMT+01:00, Ulf Zibis <Ulf.Zibis at gmx.de>:
> Am 21.02.19 um 01:41 schrieb Carl Eugen Hoyos:
>> 2019-02-04 23:29 GMT+01:00, Ulf Zibis <Ulf.Zibis at gmx.de>:
>>> Now I've checked the files with mediainfo:
>>> - The vob file is stated as interlaced top first. (I know, this does
>>> nothing say about the content, only the flag is evaluated.)
>> Doesn't FFmpeg also report this?
>> (I believe it should.)
> This is what I had asked several times, what the meaning of the string
> "top first" on the vob input is. It's just the indication of the flag or
> something else?

I believe you are right, I missed / forgot this.
I expect it is not shown for all interlaced encoded
(x264) streams though.

>>> - The transcoded mp4 is stated as progressive.
>> Did you specify that you want x264 to encode using
>> algorithms for interlaced input material?
>> Should be "-flags +idct"
> Aha, this appears to be the long awaited answer to my question what you
> mean by "encoded interlaced". The x264 encoder has a special
> mode/optimization for interlaced material, which should be enabled
> manually, as the encoder can't detect the nature of the input material
> automatically.


> So I guess, the interlaced flag is set automatically when
> "-flags +idct" is used, but never just copied from the input stream.

It shouldn't.

>>> I don't know, why libx264 doesn't retain the flag, maybe it evaluates
>> Again (afair, I already wrote that at some point):
>> x264 neither retains nor drops "the flag", it doesn't know
>> about the input content, it cannot "evaluate" its content.
> Hm, as mediainfo shows, the flag "interlaced top first" was dropped when
> transcoding from vob to mp4, which seems to be the same what
> ffmpeg/ffprobe states by the string "top first".

It wasn't dropped: It is a property of the input stream (only).

>>> I still must admid, that I don't really understand what is meant by
>>> "encoded interlaced", is it the same than "has the interlaced flag set"?
>>> I see no reason why ffmpeg "cannot know" this flag.
>> Of course it knows this flag but since the flag is completely useless
>> (for encoding, it may be needed to decode correctly) it cannot be
>> used to determine correct settings for encoding.
>> Allow me to repeat: Except for the intro, the video you provided
>> is not interlaced, it has artefacts that may or may not be easier
>> to encode when using interlaced encoding.
>> (Because of the given quality, this is mostly a moot discussion:
>> Just use a low quantiser or keep the "originals", if you are really
>> interested in the movie buy a dvd that will beat the quality of
>> your recording by far.)
> In the meantime I had the chance to phone with the original producer
> Moritz Boerner. The film was recorded with 36 mm celluloid and he had
> above 250.000 DM, not 20.000 DM to produce the film.

So our suspicion after visual inspection was right.

> So I buyed the DVD now. Except that it has 3 audio tracks to choose and
> the VHS head switching artefacts are missing, it unfortunately has the
> equal bad quality than my DVD recorder copy, but even has a worst colour
> quality than my copy. The purchased DVD is not a direct telecined copy
> from the 36 mm material (disappointing), it seem to be a capture of the
> in earlier times provided VHS cassette, but with a better adjusted VHS
> player, so the head switching artefacts are missing.

Thank you for the info!
Maybe you should buy a copy of the film?

>> PS: Rethinking, it may be a good idea to add the flags for
>> your x264 encoding, I believe the encoder is smart enough
>> to decide when / how to use it. I suspect it won't make a
>> difference for the native FFmpeg video encoders though.
> Is native vs. x264 encoder something different?

The native (FFmpeg-internal) encoders may be a little less
sophisticated than x264 (and they don't know a special
adaptive interlaced setting because it didn't exist in earlier

Carl Eugen

More information about the ffmpeg-user mailing list