Wie deinterlacing mit ffmpeg?

Ich habe folgende VOB-Datei:

ffmpeg -i input.vobAusgabe:

ffmpeg version N-77455-g4707497 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libdcadec --enable-libfreetype --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvo-aacenc --enable-libvidstab
  libavutil      55. 11.100 / 55. 11.100
  libavcodec     57. 20.100 / 57. 20.100
  libavformat    57. 20.100 / 57. 20.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 21.101 /  6. 21.101
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mpeg, from 'input.vob':
  Duration: 00:31:36.96, start: 0.335967, bitrate: 6517 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg), 720x576 [SAR 64:45 DAR 16:9], max. 9800 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s

mediainfo input.vobAusgabe:

General
Complete name                            : input.vob
Format                                   : MPEG-PS
File size                                : 1.44 GiB
Duration                                 : 31mn 36s
Overall bit rate mode                    : Variable
Overall bit rate                         : 6 518 Kbps

Video
ID                                       : 224 (0xE0)
Format                                   : MPEG Video
Format version                           : Version 2
Format profile                           : Main@Main
Format settings, BVOP                    : Yes
Format settings, Matrix                  : Default
Format settings, GOP                     : M=3, N=12
Format settings, picture structure       : Frame
Duration                                 : 31mn 36s
Bit rate mode                            : Variable
Bit rate                                 : 6 132 Kbps
Maximum bit rate                         : 9 800 Kbps
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 25.000 fps
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Interlaced
Scan order                               : Top Field First
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.591
Time code of first frame                 : 00:00:00:00
Time code source                         : Group of pictures header
Stream size                              : 1.35 GiB (94%)
Color primaries                          : BT.601 PAL
Transfer characteristics                 : BT.470 System B, BT.470 System G
Matrix coefficients                      : BT.601

Audio
ID                                       : 189 (0xBD)-128 (0x80)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Muxing mode                              : DVD-Video
Duration                                 : 31mn 36s
Bit rate mode                            : Constant
Bit rate                                 : 256 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 57.9 MiB (4%)

Ich habe es mit dem folgenden Befehl in mp4 konvertiert:

ffmpeg -i input.vob -c:v libx264 -preset slow -crf 19 -c:a aac -b:a 256k -threads 0 output.mp4

Im resultierenden Video sehe ich diesen Effekt:

Bild1 Bild2 Bild3

Wie kann ich lösen?

Ich habe eine App mit qTGMC geschrieben, die viel bessere Ergebnisse liefert als Yadif github.com/hclivess/videer

Antworten (1)

Fügen Sie den Yadif-Filter hinzu, dh

ffmpeg -i input.vob -vf yadif -c:v libx264 -preset slow -crf 19 -c:a aac -b:a 256k output.mp4

Weitere Informationen finden Sie in der Yadif -Dokumentation .

Aus empirischen Vergleichen denke ich, dass der bwdif-Deinterlacing-Algorithmus Yadif überlegen ist, QTGMC ist jedoch allen überlegen. Wenn Sie bei FFmpeg bleiben müssen, ist der nnedi-Filter definitiv überlegen , jedoch auf Kosten einer massiven Verringerung der Verarbeitungsgeschwindigkeit . Was ist Ihr Anwendungsfall, wie kritisch ist die Renderzeit und müssen Sie bei FFmpeg bleiben oder könnten Sie auf andere Tools ausweichen, die FFmpeg zusammen mit anderen Dingen wie Vapoursynth verwenden?
-vf yadif_cudawenn Sie NVidia und CUDA installiert haben.