2016-06-22 19 views
4

Wie kann ich ein Video von H.264 (Hoch 4: 4: 4 Profil) zu H.264 (Hauptprofil) mit ffmpeg?ffmpeg konvertieren von H.264 (Hoch 4: 4: 4 Profil) zu H.264 (Hauptprofil)

Ich kann das mit diesem Befehl nicht tun: ffmpeg -i 1/25359.mp4 -profile:v main out.mp4.

, dass ein Fehler zurückgeben würde:

... 
That'd return an error: 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1/25359.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf56.40.101 
    Duration: 00:00:06.08, start: 0.000000, bitrate: 1059 kb/s 
    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1/0x31637661), yuv444p, 351x297, 1057 kb/s, 12.50 fps, 12.50 tbr, 12800 tbn, 25 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 
No pixel format specified, yuv444p for H.264 encoding chosen. 
Use -pix_fmt yuv420p for compatibility with outdated media players. 
x264 [error]: main profile doesn't support 4:4:4 
[libx264 @ 0x8fa9640] Error setting profile main. 
[libx264 @ 0x8fa9640] Possible profiles: baseline main high high10 high422 high444 
Output #0, mp4, to '1/24545.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf56.40.101 
    Stream #0:0(und): Video: h264, none, q=2-31, 128 kb/s, 12.50 fps (default) 
    Metadata: 
     handler_name : VideoHandler 
     encoder   : Lavc56.60.100 libx264 
Stream mapping: 
    Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) 
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height 

Antwort

12

Ihr Partner Video hat Full-Size-Chroma-Ebenen - wie durch die beiden letzteren 4s in YUV444P angegeben - und Hauptprofil nicht unterstützt dieses Format, Sie so muss ein Pixelformat wie YUV 4: 2: 0

ffmpeg -i 1/25359.mp4 -vf "scale=2*trunc(iw/2):-2,setsar=1" -profile:v main -pix_fmt yuv420p out.mp4 
+0

Nur eine Frage auswählen. Ist es in Ordnung, "-pix_fmt yuv420p" für jedes Video zu verwenden? Ich meine, würde es bei einigen Videos einen Fehler geben? Wie wirkt sich das auf die Videos aus? (Ich möchte nur einen guten ffmpeg-Befehl erstellen, um es auf meiner Website zu verwenden.) – Milad

+2

Für die Wiedergabe im Internet müssen Sie es verwenden. Es ist das einzige unterstützte Pixelformat. – Mulvya