Ich möchte einige Videos konvertieren, damit sie auf einer digitalen Canon-Kamera abgespielt werden können.
Die Videos der Canon PowerShot-Kamera haben folgende Spezifikationen:
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s, 29.97 fps
Audio: pcm_u8 (raw / 0x20776172), 12000 Hz, mono, u8, 96 kb/s
Wie müsste die ffmpeg
-Befehlszeile aussehen, um solche Videos zu erzeugen? Oder wo kann ich darüber lesen? Ich habe versucht, sie zu finden, und ffmpeg -formats
bekomme eine große Liste mit Formaten angezeigt. Dadurch und durch weiteres Lesen der Manpage bin ich zu diesem Befehl gekommen:
ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec copy -pix_fmt yuvj420p MVI_2655.MOV
aber es funktioniert immer noch nicht. Die Videospezifikation ist anders.
Das Video, das ich bekomme, ist:
Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x272 [SAR 153:154 DAR 180:77], 326 kb/s
aber das richtige Video sollte
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s
Ich denke, die Lösung ist nicht das Problem, sondern dieHochgegenEingeschränkte Baseline. Und dasyuv420pgegenüber demyuvj420p. Wie erreiche ich diese Spezifikationen?
Antwort1
Mit dem Hinweis von Ely und etwas weiterer Recherche habe ich diese Kommandozeile gefunden, die genau die gleichen Formatangaben erzeugt:
ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec libx264 -pix_fmt yuvj420p -profile:v baseline -s 1280x720 -r ntsc -colorspace smpte170m -color_primaries bt709 -color_trc bt709 MVI_2655.MOV
Wo
-vcodec libx264
zusammen mit-profile:v baseline
und-pix_fmt yuvj420p
stellt das Video auf Eingeschränkte Baselineund das Pixelformat aufyuvj420p-colorspace smpte170m
und setzt die drei Pixelformat-Unterspezifikationen nach yuvj420p(pc,…), die ich gefunden-color_primaries bt709
habe-color_trc bt709
Hier-r ntsc
stellt eine Framerate von 29,97 ein (wobei ntsc ein Alias für die Framerate ist)-s 1280x720
skaliert das Video auf die gleiche Breite und Höhe wie das Original-Canon-Video
Der einzige Unterschied besteht jetzt in der Bitrate, die für mein mit ffmpeg erstelltes Video 4065 kb/s und für das Canon-Video 21588 kb/s beträgt.
Trotzdem lässt sich das Video auf der Canon Kamera nicht abspielen. :-(