Warum ändert avconv die fps beim deinterlacen?

3

Ich habe ein .MTS 1080i mit 25fps (Mediainfo), mit dem ich deinterlaced habe avconv -i input.MTS -vf yadif -c:a copy output.mp4. Wie das Wiki sagt, ist der Standardwert für yadif 0, was "einen Frame für jeden Frame ausgibt" .

Meine Frage ist, warum hat output.mp450fps? Ist es auch normal, dass es viel kleiner als die Eingabe ist?

Wie gewünscht:

wantoast@crunchbang:~/videos/video/videocamera$ avconv -i 00000.MTS
avconv version 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 the Libav developers
  built on Sep 16 2014 23:10:48 with gcc 4.7.2
Input #0, mpegts, from '00000.MTS':
  Duration: 00:00:37.44, start: 1.000033, bitrate: 16506 kb/s
  Program 1 
    Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
    Stream #0.2[0x1200]: Subtitle: pgssub
At least one output file must be specified
wantoast @ crunchbang: ~ / videos / video / videocamera $ avconv -i 00000.MTS -vf yadif -c: eine Kopie output.mp4
avconv version 0.8.16-6: 0.8.16-1, Copyright (c) 2000-2014 der Libav-Entwickler
  gebaut am 16.09.2014 23:10:48 mit gcc 4.7.2
Eingabe # 0, mpegts, von '00000.MTS':
  Dauer: 00: 00: 37.44, Start: 1.000033, Bitrate: 16506 kb / s
  Programm 1 
    Stream Nr. 0.0 [0x1011]: Video: h264 (Hoch), yuv420p, 1920 x 1080 [PAR 1: 1 DAR 16: 9], 50 fps, 50 tbr, 90 k tbn, 50 tbc
    Stream # 0.1 [0x1100]: Audio: ac3, 48000 Hz, Stereo, s16, 256 kb / s
    Stream # 0.2 [0x1200]: Untertitel: pgssub
[buffer @ 0xa5eb40] w: 1920 h: 1080 pixfmt: yuv420p
[yadif @ 0xa5cba0] Modus: 0 Parität: -1 auto_enable: 0
[libx264 @ 0xa59b00] mit SAR = 1/1
[libx264 @ 0xa59b00] mit CPU-Funktionen: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0xa59b00] Profil Main, Ebene 4.2
[libx264 @ 0xa59b00] 264 - Kern 123 r2189 35cf912 - H.264 / MPEG-4 AVC-Codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - Optionen: cabac = 1 ref = 3 deblock = 1: 0: 0 analyse = 0x1: 0x111 me = hex subme = 7 psy = 1 psy_rd = 1.00: 0.00 mixed_ref = 0 me_range = 16 chroma_me = 1 trellis = 1 8x8dct = 0 cqm = 0 deadzone = 21,11 fast_pskip = 1 chroma_qp_offset = -2 threads = 6 sliced_threads = 0 nr = 0 decimate = 1 interlaced = 0 bluray_compat = 0 constrained_intra = 0 bframes = 3 b_pyramid = 0 b_adapt = 1 b_bias = 0 direct = 1 weightb = 0 open_gop = 1 weightp = 2 keyint = 250 keyint_min = 25 scenecut = 40 intra_refresh = 0 rc_lookahead = 40 rc = crf mbtree = 1 crf = 23,0 qcomp = 0,60 qpmin = 0 qpmax = 69 qpstep = 4 ip_ratio = 1,25 aq = 1: 1,00
Output # 0, mp4, to 'output.mp4':
  Metadaten:
    Encoder: Lavf53.21.1
    Stream Nr. 0.0: Video: libx264, yuv420p, 1920x1080 [PAR 1: 1 DAR 16: 9], q = -1-1, 50 tbn, 50 tbc
    Stream # 0.1: Audio: AC3, 48000 Hz, Stereo, 256 kb / s
Stream-Zuordnung:
  Stream # 0: 0 -> # 0: 0 (h264 -> libx264)
  Stream # 0: 1 -> # 0: 1 (Kopie)
Drücken Sie Strg-C, um die Codierung zu beenden
Frame = 1870 fps = 16 q = -1,0 Lsize = 29093 kB Time = 37,38 Bitrate = 6375,8 kBits / s Dup = 935 Drop = 0    
Video: 27902 KB Audio: 1170 KB globale Header: 0 KB Muxing-Overhead 0.070776%
[libx264 @ 0xa59b00] Frame I: 122 Durchschn. QP: 22,47 Größe: 49023
[libx264 @ 0xa59b00] Frame P: 1748 Avg QP: 25.43 Größe: 12923
[libx264 @ 0xa59b00] mb I I16..4: 61,9% 0,0% 38,1%
[libx264 @ 0xa59b00] mb P I16..4: 2,8% 0,0% 0,5% P16..4: 36,5% 2,8% 1,7% 0,0% 0,0% Überspringen: 55,7%
[libx264 @ 0xa59b00] codiert y, uvDC, uvAC intra: 38,5% 80,0% 19,8% inter: 7,1% 27,2% 0,2%
[libx264 @ 0xa59b00] i16 v, h, dc, p: 35% 18% 15% 31%
[libx264 @ 0xa59b00] i4 v, h, dc, ddl, ddr, vr, hd, vl, hu: 28% 18% 35% 4% 3% 3% 4% 3% 2%
[libx264 @ 0xa59b00] i8c dc, h, v, p: 50% 18% 26% 6%
[libx264 @ 0xa59b00] Gewichtete P-Frames: Y: 1,1% UV: 0,7%
[libx264 @ 0xa59b00] ref P L0: 63,3% 9,7% 13,0% 13,9% 0,1%
[libx264 @ 0xa59b00] kb / s: 6111.45
wantoast@crunchbang:~/videos/video/videocamera$ avconv -i output.mp4 
avconv version 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 the Libav developers
  built on Sep 16 2014 23:10:48 with gcc 4.7.2
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x216e460] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf53.21.1
  Duration: 00:00:37.47, start: 0.000000, bitrate: 6358 kb/s
    Stream #0.0(und): Video: h264 (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 6111 kb/s, 50 fps, 50 tbr, 50 tbn, 100 tbc
    Stream #0.1(und): Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
At least one output file must be specified
Wantoast
quelle
Bitte geben Sie auch die vollständige Befehlszeilenausgabe Ihres Konvertierungsbefehls an avconv -i output.mp4.
Slhck
1
Zu Ihrer zweiten Frage: Ja, da die Standardoptionen zum erneuten Codieren des Videobitstroms verwendet werden, was wahrscheinlich zu einer niedrigen Bitrate und folglich zu einer Ausgabe von geringer Qualität führt.
Slhck
Hinzugefügt. Und woher weiß ich genau, was diese Standardeinstellungen sind?
Wantoast
Hm, ich weiß nicht, warum es keine 25 anzeigt. Das Original sollte 50 Felder pro Sekunde sein, was 25 Bilder ergibt. Die Ausgabe sollte nur 25 fps zeigen. Der Standardcodierer für Ihren Build ist x264, der einen konstanten Ratenfaktor von 23 zum Codieren verwendet. Dies ist eine vernünftige Standardeinstellung, daher ist dies in Ihrem Fall kein großes Problem. Sie können beispielsweise verwenden -crf 18, um eine bessere Qualität zu erzwingen.
Slhck
Die standardmäßigen x264-Optionen verwenden aus irgendeinem Grund nicht 8x8dct. Zielt avconv auf das H.264-Hauptprofil (anstelle des normalen High-Profils) für die MP4-Ausgabe ab? Verwenden Sie -preset slower -crf 18 (oder was auch immer, aber 18 ist normalerweise transparent). Verwenden Sie -profile high, wenn 8x8dct = 1 immer noch nicht verwendet wird, es sei denn, Sie zielen auf veraltete Geräte ab, die dies nicht unterstützen. Verwenden Sie stattdessen einen verlustfreien Codec (möglicherweise huffyuv?), Wenn Sie nach dem Deinterlacing vor dem Codieren in eine endgültige Datei Änderungen vornehmen möchten.
Peter Cordes