2016-05-01 4 views
1

Ich versuche, einen grünen Bildschirmhintergrund zu machen, den ich verwenden kann, um andere Sachen oben auf zu überlagern. Ich verwende Informationen aus this answer und mit dem folgenden Befehl:Einen grünen Bildschirmhintergrund in ffmpeg machen

ffmpeg -f lavfi -i color=color=green -s 1920x1080 -t 3600 -r 60 small_green.mp4 

Allerdings, wenn ich es in Quicktime öffne, scheint das Inspektor-Fenster zu sagen, dass es eigentlich 1440x1080 statt 1920x1080.

enter image description here

Und wenn ich es in VLC bringen, scheint es zu sagen, dass es 1920x1090 ist enter image description here

Aber ffprobe scheint 1920x1080 es ist zu sagen:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'small_green.mp4': Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf56.36.100 Duration: 01:00:00.00, start: 0.000000, bitrate: 40 kb/s 
    Stream #0:0(und): Video: h264 (High) (avc1/0x31637661), yuv420p, 1920x1080 [SAR 3:4 DAR 4:3], 34 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 

Und wenn ich Bring es in Garmin VIRB Edit, es berichtet, dass es 1440x1080 ist. Also, wie mache ich ausspucken ein Video, das wirklich HD 1920x1080 Auflösung ist?

Antwort

2

Die FFmpeg-Quellfilter haben eine Standardgröße, an die sie ausgegeben werden, falls nicht angegeben. Im Fall des Farbfilters ist es 320x240. Ihr Skalaregister passt die Ausgabe des Farbfilters auf 1920x1080 an, aber ffmpeg denkt, dass Sie das Seitenverhältnis der Quelle beibehalten möchten, in diesem Fall 4: 3, also das Seitenverhältnis, das in die Datei geschrieben wird. Ein 1920x1080 Video mit einem 4: 3 Verhältnis ist effektiv 1440x1080, was QT berichtet.

Sie müssen die Größe direkt innerhalb der Farbe einstellen (oder das korrekte Seitenverhältnis danach einstellen).

ffmpeg -f lavfi -i color=color=green:s=1920x1080 -t 3600 -r 60 small_green.mp4 
+0

Gibt es einen Vorteil, es so zu machen gegenüber '-s 1920x1080 -aspect 16: 9'? –

+1

'-s' fügt einen Skalierer ein, nachdem die Farbe erzeugt wurde, während die in der Farbe angegebene Größe die Ausgabegröße des Farbfilters festlegt, dh der erste ist wie ein 4'x6' Foto zu drucken und dann auf 8'x12 zu blasen ', letzterer führt den Originaldruck bei 8'x12' aus. In diesem speziellen Fall wird die Qualität für eine gleichförmige Vollfarbenvisualisierung nicht beeinträchtigt, aber der Skalierer erbt das durch das Filter erzeugte Seitenverhältnis (4: 3), was zu einem unerwünschten Ergebnis führt. Der Aspekt-Schalter setzt das Aspekt-Flag im Container, nicht den Videostream. Einige Spieler respektieren es, andere nicht. – Mulvya

Verwandte Themen