[FFmpeg-user] deinterlacing with ntsc-dvd

Francois Visagie francois.visagie at gmail.com
Fri May 24 09:27:23 CEST 2013


> -----Original Message-----
> From: ffmpeg-user-bounces at ffmpeg.org [mailto:ffmpeg-user-
> bounces at ffmpeg.org] On Behalf Of Matthew Morgan
> Sent: 24 May 2013 03:00
> To: ffmpeg-user at ffmpeg.org
> Subject: Re: [FFmpeg-user] deinterlacing with ntsc-dvd
> 
> On 05/22/2013 11:29 AM, Francois Visagie wrote:
> >> -----Original Message-----
> >> From: ffmpeg-user-bounces at ffmpeg.org [mailto:ffmpeg-user-
> >> bounces at ffmpeg.org] On Behalf Of Matthew Morgan
> >> Sent: 22 May 2013 14:41
> >> To: FFmpeg user questions
> >> Subject: Re: [FFmpeg-user] deinterlacing with ntsc-dvd
> >>
> >> On 05/22/2013 08:08 AM, Francois Visagie wrote:
> >>>> -----Original Message-----
> >>>> From: ffmpeg-user-bounces at ffmpeg.org [mailto:ffmpeg-user-
> >>>> bounces at ffmpeg.org] On Behalf Of Matthew Morgan
> >>>> Sent: 22 May 2013 13:08
> >>>> To: ffmpeg
> >>>> Subject: [FFmpeg-user] deinterlacing with ntsc-dvd
> >>>>
> >>>> I'm having trouble with some material I'm converting to DVD with
> >>>> ffmpeg; there is significant ghosting on some players, and some
> >>>> google searches
> >>> have
> >>>> pointed out that this is often related to interlacing.
> >>>>
> >>>> The source materialis interlaced, top-field dominant, but when I
> >>>> run it throughffmpeg using "-target ntsc-dvd", mediainfo shows the
> >>>> output as being progressive.
> >>>>
> >>>> Here is my ffmpeg command line:
> >>>>
> >>>> ffmpeg -i dora_fairytale_cut.mpg -pass 1 -target ntsc-dvd -b:v
> >>>> 4000K /dev/null && ffmpeg -i dora_fairytale_cut.mpg -pass 2 -target
> >>>> ntsc-dvd
> >>> -b:v
> >>>> 4000K dora_fairytale_cut_compressed.mpg ffmpeg version N-53018-
> >>>> ge70e258 Copyright (c) 2000-2013 the FFmpeg developers
> >>>>   built on May 13 2013 07:50:37 with gcc 4.6 (Ubuntu/Linaro
> >>> 4.6.3-1ubuntu5)
> >>>>   configuration: --prefix=/opt/mmedia --enable-libxvid --enable-gpl
> >>> --enable-
> >>>> libtheora --enable-libmp3lame --enable-libfaac --enable-nonfree
> >>>> --enable-
> >>>> libv4l2 --enable-x11grab --enable-libvpx
> >>>>   libavutil      52. 30.100 / 52. 30.100
> >>>>   libavcodec     55.  9.100 / 55.  9.100
> >>>>   libavformat    55.  7.100 / 55.  7.100
> >>>>   libavdevice    55.  0.100 / 55.  0.100
> >>>>   libavfilter     3. 65.100 /  3. 65.100
> >>>>   libswscale      2.  3.100 /  2.  3.100
> >>>>   libswresample   0. 17.102 /  0. 17.102
> >>>>   libpostproc    52.  3.100 / 52.  3.100
> >>>> [mpeg @ 0xa43ae00] max_analyze_duration 5000000 reached at
> 5024000
> >>>> microseconds [NULL @ 0xa43b780] start time is not set in
> >>>> estimate_timings_from_pts Input #0, mpeg, from
> >> 'dora_fairytale_cut.mpg':
> >>>>   Duration: 00:46:56.26, start: 0.500000, bitrate: 6569 kb/s
> >>>>     Stream #0:0[0x1bf]: Data: dvd_nav_packet
> >>>>     Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
> >>>>     Stream #0:2[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480
> >>>> [SAR
> >>> 8:9
> >>>> DAR 4:3], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc File '/dev/null'
> >>> already exists.
> >>>> Overwrite ? [y/N] y Output #0, dvd, to '/dev/null':
> >>>>   Metadata:
> >>>>     encoder         : Lavf55.7.100
> >>>>     Stream #0:0: Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR
> >>>> 4:3],
> >>> q=2-
> >>>> 31, pass 1, 4000 kb/s, 90k tbn, 29.97 tbc
> >>>>     Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
> >>>> Stream
> >>> mapping:
> >>>>   Stream #0:2 -> #0:0 (mpeg2video -> mpeg2video)
> >>>>   Stream #0:1 -> #0:1 (ac3 -> ac3)
> >>>> Press [q] to stop, [?] for help
> >>>> frame=84404 fps=107 q=3.4 Lsize= 1562918kB time=00:46:56.28
> >>>> bitrate=4546.2kbits/s dup=8 drop=0 video:1375112kB audio:154016kB
> >>>> subtitle:0 global headers:0kB muxing overhead 2.209759%
> >>>>
> >>>> My question is, should I be specifying any kind of options to make
> >>>> the deinterlacing happen correctly?  Is this even likely to be my
> >>>> problem?  If
> >>> you
> >>>> need it, I can also post mediainfo output for the source and output
> > files.
> >>> PS. The options ' -flags ildct+ilme' _preserve_ interlacing. This is
> >>> accepted by the DVD standard and incurs least quality loss.
> >> Thanks!  Where in the command line should I put this?  After `-target
> > ntsc-
> >> dvd`?
> > I normally do, to prevent my options being overridden by macro
> > settings such as -target.
> >
> Just in case anyone else on this list has had the same ghosting problem,
> preserving the interlacing DOES fix it!  I did have to add `-top 1` to get
it to
> mark it as top-field-first, but otherwise Francois' flags were perfect.
So it's all
> in one place, here's my command now:
> 
> ffmpeg -y -i dora_map_cut.mpg -pass 1 -target ntsc-dvd -b:v 4000K -flags
> ildct+ilme -top 1 /dev/null &&  ffmpeg -y -i dora_map_cut.mpg -pass 2 -
> target ntsc-dvd -b:v 4000K -flags ildct+ilme -top 1
> dora_map_cut_compressed.mpg
> 
> My question now is what do these flags actually do:  prevent a
deinterlacing
> filter from being run, or simply change what the header info says?
Without
> the flags is the output video still interlaced but incorrectly marked as
> progressive?

>From 'ffmpeg -h':

...
ilme                    E.V.. interlaced motion estimation
...
ildct                   E.V.. use interlaced dct
...

> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user



More information about the ffmpeg-user mailing list