Meaning of ffprobe output

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Meaning of ffprobe output

Ulf Zibis
Hi,

can anybody explain me the data of ffprobe, I don't find enough hints in
the docu. E.g.:
$ ffprobe CYD_copy.vob
Input #0, mpeg, from 'CYD_copy.vob':
  Duration: 01:16:20.74, start: 0.500000, bitrate: 7068 kb/s
    Stream #0:0[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg,
top first), 704x576 [SAR 12:11 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
What is:
tv
bt470bg
tbr
tbn
tbc

I'm also wondering, why Stream #0:1 is the video, as it was created by
$ ffmpeg -ss 00:03 -t 01:16:20 -i
"concat:001-C001/CYD-001.vob|001-C002/CYD-001.vob|..." -movflags
+faststart -c copy CYD_copy.vob
from files like
$ ffprobe 001-C001/CYD-001.vob
Input #0, mpeg, from
'/home/ich/Videos/dvdrip-data/CYD/vob/001-C001/CYD-001.vob':
  Duration: 00:00:20.41, start: 0.231578, bitrate: 74597 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg,
top first), 704x576 [SAR 12:11 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s

After transcode with
$ ffmpeg -i CYD_copy.vob -movflags +faststart -vf atadenoise -c:v
libx264 -c:a libmp3lame -q:a 4 CYD_atadenoise_H.264.mp4
I get:
$ ffprobe CYD_atadenoise_H.264.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'CYD_atadenoise_H.264_mp3-q4.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 01:16:20.42, start: 0.000000, bitrate: 1403 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
704x576 [SAR 12:11 DAR 4:3], 1276 kb/s, 25 fps, 25 tbr, 12800 tbn, 50
tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 119 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

Does 50 tbc mean, that I still have 50 interlaced half-frames per second?

Thanks for your comments

-Ulf

--
Von meinem Seibert gesendet

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Carl Eugen Hoyos-2
2019-01-11 0:39 GMT+01:00, Ulf Zibis <[hidden email]>:

> can anybody explain me the data of ffprobe, I don't find enough hints in
> the docu. E.g.:
> $ ffprobe CYD_copy.vob
> Input #0, mpeg, from 'CYD_copy.vob':
>   Duration: 01:16:20.74, start: 0.500000, bitrate: 7068 kb/s
>     Stream #0:0[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
>     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg,
> top first), 704x576 [SAR 12:11 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
> What is:

> tv
> bt470bg

Colour-space related information.

> tbr

The least common multiple of all framerates in the stream, a guess.

> tbn

This is the container timebase, 90k for mpeg streams.

> tbc

This is the codec timebase.

> I'm also wondering, why Stream #0:1 is the video, as it was created by
> $ ffmpeg -ss 00:03 -t 01:16:20 -i
> "concat:001-C001/CYD-001.vob|001-C002/CYD-001.vob|..."

vob has no stream order, "0:1" simply means "second stream
found be FFmpeg".

> -movflags +faststart -c copy CYD_copy.vob

Sadly, output option cannot (easily) be checked for correctness.
Using options that cannot have an effect may reduce your
chance to get good help here (consider the increased time it
needs to understand what's going on / what your intentions are).

Not necessarily related: "-c copy" cannot change anything
about fields ("half-frames"), libx264 does not support PAFF
encoding.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Ulf Zibis
Thanks Carl Eugen ...

Am 11.01.19 um 01:47 schrieb Carl Eugen Hoyos:
> 2019-01-11 0:39 GMT+01:00, Ulf Zibis <[hidden email]>:
>
>> tbn
> This is the container timebase, 90k for mpeg streams.

For what stands 90k? For 90,000 milli seconds?

>> -movflags +faststart -c copy CYD_copy.vob
> Sadly, output option cannot (easily) be checked for correctness.
> Using options that cannot have an effect may reduce your
> chance to get good help here (consider the increased time it
> needs to understand what's going on / what your intentions are).

The probably wrong '+' was taken from the example in the Wiki:
https://trac.ffmpeg.org/wiki/Encode/H.264#AdditionalInformationTips
Maybe this is an error?
Because VOB also is coded with MPEG, I thought this flag may have a
positive effect.
Anyway, without the flag I get the same ffprobe data.


*From:*
$ ffprobe CYD_copy.vob
Input #0, mpeg, from 'CYD_copy.vob':
  Duration: 01:16:20.74, start: 0.500000, bitrate: 7068 kb/s
    Stream #0:0[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg,
top first), 704x576 [SAR 12:11 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
*I transcoded with:*
$ ffmpeg -i CYD_copy.vob -movflags +faststart -vf atadenoise -c:v
libx264 -c:a libmp3lame -q:a 4 CYD_atadenoise_H.264.mp4
*and get:*
$ ffprobe CYD_atadenoise_H.264.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'CYD_atadenoise_H.264_mp3-q4.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 01:16:20.42, start: 0.000000, bitrate: 1403 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
704x576 [SAR 12:11 DAR 4:3], 1276 kb/s, 25 fps, 25 tbr, 12800 tbn, 50
tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 119 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

Does 50 tbc mean, that I still have 50 interlaced half-frames per
second, or why is the codecs timebase 50?

Thanks for your comments

-Ulf


> Not necessarily related: "-c copy" cannot change anything
> about fields ("half-frames"),

I didn't expect that, the question was about: -c:v libx264

>  libx264 does not support PAFF
> encoding.

What is PAFF?

Thanks in advance

-Ulf

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Carl Eugen Hoyos-2
2019-01-12 22:32 GMT+01:00, Ulf Zibis <[hidden email]>:

> Am 11.01.19 um 01:47 schrieb Carl Eugen Hoyos:
>> 2019-01-11 0:39 GMT+01:00, Ulf Zibis <[hidden email]>:
>>
>>> tbn
>> This is the container timebase, 90k for mpeg streams.
>
> For what stands 90k? For 90,000 milli seconds?

It stands for a timebase of 1/90000 which is the timebase
for all mpeg streams (and cannot be changed afaik).

>>> -movflags +faststart -c copy CYD_copy.vob
>> Sadly, output option cannot (easily) be checked for correctness.
>> Using options that cannot have an effect may reduce your
>> chance to get good help here (consider the increased time it
>> needs to understand what's going on / what your intentions are).
>
> The probably wrong '+' was taken from the example in the Wiki:
> https://trac.ffmpeg.org/wiki/Encode/H.264#AdditionalInformationTips
> Maybe this is an error?
> Because VOB also is coded with MPEG, I thought this flag may have a
> positive effect.
> Anyway, without the flag I get the same ffprobe data.

The option "movflags" can only have an effect for mov (and friends)
output, not for mpeg streams.

[...]

> Does 50 tbc mean, that I still have 50 interlaced half-frames per
> second, or why is the codecs timebase 50?

No, it means that the codec timebase is 1/50.

(The reason that these answers do not really help you
is that the values are not necessarily meant for you,
they typically have more meaning for developers.)

[...]

>>  libx264 does not support PAFF encoding.
>
> What is PAFF?

H.264 field-encoding, another method of h.264 interlaced
encoding exists, MBAFF (which is supported by libx264).

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Ulf Zibis
Hi,

Am 13.01.19 um 00:25 schrieb Carl Eugen Hoyos:
>>>> tbn
>>> This is the container timebase, 90k for mpeg streams.
>> For what stands 90k? For 90,000 milli seconds?
> It stands for a timebase of 1/90000

Is it 1/90000 second?

> which is the timebase
> for all mpeg streams (and cannot be changed afaik).
Do you mean MPEG-2 with "mpeg"?
My MPEG-4 stream has

12800 tbn


>> Does 50 tbc mean, that I still have 50 interlaced half-frames per
>> second, or why is the codecs timebase 50?
> No, it means that the codec timebase is 1/50.
>
> (The reason that these answers do not really help you
> is that the values are not necessarily meant for you,
> they typically have more meaning for developers.)
>
> [...]
>
>>>  libx264 does not support PAFF encoding.
>> What is PAFF?
> H.264 field-encoding, another method of h.264 interlaced
> encoding exists, MBAFF (which is supported by libx264).

So if I want to retain the interlacing from the vob file, I should use
MBAFF. What is the ffmpeg option for this?

Which is the de-interlacing method, libx264 uses by default?

I'm interested in that, because I imagine, that it would be better for
the quality to retain the interlacing, i.e. then the video player is
able to write 50 half-frames per second to the output display, which
provides better quality than 25 merged progressive frames per second.
Does my assumption hold?
But unfortunately I do not know, if my video (DVD-R recorded from a VHS
cassette) originally was telecined from an analogue celluloid film or
was produced directly on video tape (which should be true interlaced).
Any idea, how I can detect this? It was a low budget production in 1982.

-Ulf


_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Carl Eugen Hoyos-2
2019-01-15 3:13 GMT+01:00, Ulf Zibis <[hidden email]>:

> Am 13.01.19 um 00:25 schrieb Carl Eugen Hoyos:
>>>>> tbn
>>>> This is the container timebase, 90k for mpeg streams.
>>> For what stands 90k? For 90,000 milli seconds?
>> It stands for a timebase of 1/90000
>
> Is it 1/90000 second?

I suspect timebase is a fraction and has no unit but I may
be wrong.

>> which is the timebase
>> for all mpeg streams (and cannot be changed afaik).
> Do you mean MPEG-2 with "mpeg"?

MPEG program and MPEG transport streams are (also)
defined in the MPEG-2 standard (that also defines
several other things).

> My MPEG-4 stream has
>
> 12800 tbn

Command line and complete, uncut console output missing.

[...]

>>>>  libx264 does not support PAFF encoding.
>>> What is PAFF?
>> H.264 field-encoding, another method of h.264 interlaced
>> encoding exists, MBAFF (which is supported by libx264).
>
> So if I want to retain the interlacing from the vob file, I should use
> MBAFF. What is the ffmpeg option for this?

Probably "-flags +ilme+ildct"

> Which is the de-interlacing method, libx264 uses by default?

x264 is an encoder and knows nothing about de-interlacing,
it does not de-interlace.

> I'm interested in that, because I imagine, that it would be better
> for the quality to retain the interlacing

This is correct: If you use progressive encoding for interlaced
content, it either costs (a lot of) quality or bitrate.

> i.e. then the video player is able to write 50 half-frames per
> second to the output display, which provides better quality
> than 25 merged progressive frames per second.

Only (old!) CRTs can do this, so I assume this has no
relevance here.

> Does my assumption hold?

> But unfortunately I do not know, if my video (DVD-R recorded from a VHS
> cassette) originally was telecined from an analogue celluloid film or
> was produced directly on video tape (which should be true interlaced).
> Any idea, how I can detect this?

The "idet" filter can do this.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Ulf Zibis
Hi again,

Am 15.01.19 um 12:54 schrieb Carl Eugen Hoyos:
>>>>>> tbn
>>>>> This is the container timebase, 90k for mpeg streams.
>>>> For what stands 90k? For 90,000 milli seconds?
>>> It stands for a timebase of 1/90000
>> Is it 1/90000 second?
> I suspect timebase is a fraction and has no unit but I may be wrong.

Timebase without unit? What does it serve for?
If it's 1/90000 h, then it would be equal to 1/25 s, which would
perfectly align with the fps 25 of the file.

>>> which is the timebase for all mpeg streams (and cannot be changed afaik).
>> Do you mean MPEG-2 with "mpeg"?
> MPEG program and MPEG transport streams are (also)
> defined in the MPEG-2 standard (that also defines
> several other things).
>
>> My MPEG-4 stream has 12800 tbn
> Command line and complete, uncut console output missing.

I here refer to the output in my post from 2019-01-12 22:32 GMT+01:00

>> i.e. then the video player is able to write 50 half-frames per
>> second to the output display, which provides better quality
>> than 25 merged progressive frames per second.
> Only (old!) CRTs can do this, so I assume this has no
> relevance here.

You may be right. Technically I don't see an obstacle for a software
player to feed the video display buffer with 50 half-frames per second,
as most displays refresh rate is at least 50 per sec.

> The "idet" filter can do this.

I have tried that with:
$ ffmpeg -i CYD_atadenoise_H.264_mp3-q4.mp4 -vf idet
and get:
Trailing options were found on the commandline.
At least one output file must be specified.

Now I'm confused what to do, as I don't want to create another big file.
How is the correct syntax?

-Ulf

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Carl Eugen Hoyos-2
2019-01-18 15:58 GMT+01:00, Ulf Zibis <[hidden email]>:

> Am 15.01.19 um 12:54 schrieb Carl Eugen Hoyos:
>>>>>>> tbn
>>>>>> This is the container timebase, 90k for mpeg streams.
>>>>> For what stands 90k? For 90,000 milli seconds?
>>>> It stands for a timebase of 1/90000
>>> Is it 1/90000 second?
>> I suspect timebase is a fraction and has no unit but I may be wrong.
>
> Timebase without unit? What does it serve for?
> If it's 1/90000 h, then it would be equal to 1/25 s, which would
> perfectly align with the fps 25 of the file.

So it's 1/90000 sec.

[...]

>>> i.e. then the video player is able to write 50 half-frames per
>>> second to the output display, which provides better quality
>>> than 25 merged progressive frames per second.
>> Only (old!) CRTs can do this, so I assume this has no
>> relevance here.
>
> You may be right. Technically I don't see an obstacle for a software
> player to feed the video display buffer with 50 half-frames per second,
> as most displays refresh rate is at least 50 per sec.

I do though.
(It is simply not possible, you can only send frames to your
driver / display.)

>> The "idet" filter can do this.
>
> I have tried that with:
> $ ffmpeg -i CYD_atadenoise_H.264_mp3-q4.mp4 -vf idet
> and get:
> Trailing options were found on the commandline.
> At least one output file must be specified.
>
> Now I'm confused what to do, as I don't want to create another big file.
> How is the correct syntax?

One possibility is to add "-f null -".

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Ulf Zibis
Hi,

Am 18.01.19 um 16:44 schrieb Carl Eugen Hoyos:
>> You may be right. Technically I don't see an obstacle for a software
>> player to feed the video display buffer with 50 half-frames per second,
>> as most displays refresh rate is at least 50 per sec.
> I do though.
> (It is simply not possible, you can only send frames to your
> driver / display.)
Well, but the software player could send 50 frames per second with
alternately updating only each 2nd top/bottom line.

> One possibility is to add "-f null -".

Thanks!

for the input vob I get:
=======================
$ ffmpeg -i CYD_copy.vob -vf idet -f null -
ffmpeg version 4.1-static https://johnvansickle.com/ffmpeg/  Copyright
(c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
[.....]
Input #0, mpeg, from 'CYD_copy.vob':
  Duration: 01:16:20.74, start: 0.500000, bitrate: 7068 kb/s
    Stream #0:0[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg,
top first), 704x576 [SAR 12:11 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> wrapped_avframe (native))
  Stream #0:0 -> #0:1 (ac3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 704x576 [SAR 12:11 DAR
4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 wrapped_avframe
    Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      encoder         : Lavc58.35.100 pcm_s16le
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 881664 >= 881664
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 463 >= 463
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 930816 >= 930816
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1732608 >= 1731073
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 906 >= 906
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 909 >= 909
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1761792 >= 1761792
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1855488 >= 1855488
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 2941440 >= 2941440
[.....]
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 218113536 >= 218113536
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 113606 >= 113606
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 219217920 >= 219217920
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 114181 >= 114181
frame=114684 fps=114 q=-0.0 Lsize=N/A time=01:16:20.72 bitrate=N/A
speed=4.53x   
video:60030kB audio:860178kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
[Parsed_idet_0 @ 0x6e71900] Repeated Fields: Neither:114683 Top:     1
Bottom:     0
[Parsed_idet_0 @ 0x6e71900] Single frame detection: TFF: 18738 BFF:
12770 Progressive: 42496 Undetermined: 40680
[Parsed_idet_0 @ 0x6e71900] Multi frame detection: TFF: 36759 BFF: 19705
Progressive: 58193 Undetermined:    27

for the output mp4 I get:
=======================
$ ffmpeg -i CYD_atadenoise_H.264_mp3-q4.mp4 -vf idet -f null -
[.....]
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'CYD_atadenoise_H.264_mp3-q4.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 01:16:20.42, start: 0.000000, bitrate: 1403 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
704x576 [SAR 12:11 DAR 4:3], 1276 kb/s, 25 fps, 25 tbr, 12800 tbn, 50
tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 119 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe (native))
  Stream #0:1 -> #0:1 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100
    Stream #0:0(und): Video: wrapped_avframe, yuv420p, 704x576 [SAR
12:11 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc58.35.100 wrapped_avframe
    Stream #0:1(und): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
(default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.35.100 pcm_s16le
frame=114502 fps=112 q=-0.0 Lsize=N/A time=01:16:20.08 bitrate=N/A
speed= 4.5x   
video:59935kB audio:860018kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
[Parsed_idet_0 @ 0x5e49d00] Repeated Fields: Neither:114501 Top:     1
Bottom:     0
[Parsed_idet_0 @ 0x5e49d00] Single frame detection: TFF: 11649 BFF: 
8023 Progressive: 78542 Undetermined: 16288
[Parsed_idet_0 @ 0x5e49d00] Multi frame detection: TFF: 14215 BFF:  8454
Progressive: 91824 Undetermined:     9

How do I interpret this data? There is 1 top frame, 0 bottom. Are these
videos interlaced?

Also not, that there is 50 tbc for the input and 25 tbc for the output.

-Ulf

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Ulf Zibis
In reply to this post by Carl Eugen Hoyos-2
Hi,

Am 18.01.19 um 16:44 schrieb Carl Eugen Hoyos:

> One possibility is to add "-f null -".

Thanks!

from the original dvd::rip chunks I get:
=======================

$ ffmpeg -i
"concat:001-C001/CYD-001.vob|001-C002/CYD-001.vob|001-C003/CYD-001.vob|001-C004/CYD-001.vob|001-C005/CYD-001.vob|001-C006/CYD-001.vob|001-C007/CYD-001.vob|001-C008/CYD-001.vob|001-C009/CYD-001.vob|001-C010/CYD-001.vob|001-C011/CYD-001.vob|001-C012/CYD-001.vob|001-C013/CYD-001.vob|001-C014/CYD-001.vob|001-C015/CYD-001.vob|001-C016/CYD-001.vob|001-C017/CYD-001.vob|001-C018/CYD-001.vob|001-C019/CYD-001.vob|001-C020/CYD-001.vob|001-C021/CYD-001.vob|001-C022/CYD-001.vob|001-C023/CYD-001.vob"
-vf idet -f null -
[.....]
Input #0, mpeg, from
'concat:001-C001/CYD-001.vob|001-C002/CYD-001.vob|001-C003/CYD-001.vob|001-C004/CYD-001.vob|001-C005/CYD-001.vob|001-C006/CYD-001.vob|001-C007/CYD-001.vob|001-C008/CYD-001.vob|001-C009/CYD-001.vob|001-C010/CYD-001.vob|001-C011/CYD-001.vob|001-C012/CYD-001.vob|001-C013/CYD-001.vob|001-C014/CYD-001.vob|001-C015/CYD-001.vob|001-C016/CYD-001.vob|001-C017/CYD-001.vob|001-C018/CYD-001.vob|001-C019/CYD-001.vob|001-C020/CYD-001.vob|001-C021/CYD-001.vob|001-C022/CYD-001.vob|001-C023/CYD-001.vob':
  Duration: 00:01:03.16, start: 0.231578, bitrate: 533831 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg,
top first), 704x576 [SAR 12:11 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> wrapped_avframe (native))
  Stream #0:1 -> #0:1 (ac3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: wrapped_avframe, yuv420p(top coded first
(swapped)), 704x576 [SAR 12:11 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25
tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 wrapped_avframe
    Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      encoder         : Lavc58.35.100 pcm_s16le
frame=120012 fps=200 q=-0.0 Lsize=N/A time=01:20:00.51 bitrate=N/A
speed=7.99x   
video:62819kB audio:900096kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
[Parsed_idet_0 @ 0x6144800] Repeated Fields: Neither:119990 Top:    11
Bottom:    11
[Parsed_idet_0 @ 0x6144800] Single frame detection: TFF: 19273 BFF:
13254 Progressive: 42498 Undetermined: 44987
[Parsed_idet_0 @ 0x6144800] Multi frame detection: TFF: 41292 BFF: 20428
Progressive: 58193 Undetermined:    99

Note, that there are no warnings like:
[null @ 0x6afafc0] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 881664 >= 881664

Also note, that there is "yuv420p(top coded first (swapped))" for the
output, which seems to be lost in the remuxing copy from:
$ ffmpeg -ss 00:03 -t 01:16:20 -i
"concat:001-C001/CYD-001.vob|001-C002/CYD-001.vob|001-C003/CYD-001.vob|001-C004/CYD-001.vob|001-C005/CYD-001.vob|001-C006/CYD-001.vob|001-C007/CYD-001.vob|001-C008/CYD-001.vob|001-C009/CYD-001.vob|001-C010/CYD-001.vob|001-C011/CYD-001.vob|001-C012/CYD-001.vob|001-C013/CYD-001.vob|001-C014/CYD-001.vob|001-C015/CYD-001.vob|001-C016/CYD-001.vob|001-C017/CYD-001.vob|001-C018/CYD-001.vob|001-C019/CYD-001.vob|001-C020/CYD-001.vob|001-C021/CYD-001.vob|001-C022/CYD-001.vob|001-C023/CYD-001.vob"
-c copy CYD_copy.vob

-Ulf

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Carl Eugen Hoyos-2
In reply to this post by Ulf Zibis
2019-01-18 18:19 GMT+01:00, Ulf Zibis <[hidden email]>:

> $ ffmpeg -i CYD_copy.vob -vf idet -f null -
> ffmpeg version 4.1-static https://johnvansickle.com/ffmpeg/  Copyright

Not supported here!

> (c) 2000-2018 the FFmpeg developers
>   built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516

> [.....]

Not ok!

[...]

> [Parsed_idet_0 @ 0x6e71900] Repeated Fields: Neither:114683 Top:     1
> Bottom:     0
> [Parsed_idet_0 @ 0x6e71900] Single frame detection: TFF: 18738 BFF:
> 12770 Progressive: 42496 Undetermined: 40680
> [Parsed_idet_0 @ 0x6e71900] Multi frame detection: TFF: 36759 BFF: 19705
> Progressive: 58193 Undetermined:    27

This is not conclusive, possibly mixed progressive - interlaced or
interlaced with many scenes without movement.
Visual inspection should clarify.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Moritz Barsnick
In reply to this post by Ulf Zibis
On Fri, Jan 18, 2019 at 18:19:05 +0100, Ulf Zibis wrote:
> > (It is simply not possible, you can only send frames to your
> > driver / display.)
> Well, but the software player could send 50 frames per second with
> alternately updating only each 2nd top/bottom line.

It could. But if the display is anything else than an old CRT, it will
first deinterlace internally. LEDs and LCDs would give you headaches if
they displayed alternating lines, as the "afterglow" effect of CRTs,
retaining the line's content, is not present.

Now, whether your deinterlacer or the display's is to be considered
better, is up to you. (In my experience, there's a wide variation in
the performance of scalers, both HW and SW. I assume the same is valid
for deinterlacers.) But encoding/compressing interlaced content gives
me a yucky feeling, I would always prefer encoding deinterlaced.

Moritz
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of ffprobe output

Carl Eugen Hoyos-2
> On Fri, Jan 18, 2019 at 18:19:05 +0100, Ulf Zibis wrote:
>> > (It is simply not possible, you can only send frames to your
>> > driver / display.)
>> Well, but the software player could send 50 frames per second with
>> alternately updating only each 2nd top/bottom line.

(I don't see this email)

This deinterlacing method is called "weave", this is not what CRT's
do (as Moritz explained), most people do not like the results.
(Although some do!)

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".