Unter Ubuntu 10.04 versuche ich, ein Rohvideo (YUV-Format) mit den folgenden ffmpeg-Befehlen in ein H.264-codiertes Video zu codieren:
ffmpeg -i input.mp4 output.h264
aber ich bekomme eine Fehlermeldung
Nicht unterstützter Codec für Ausgabestream # 0.0
Wenn ich dann diese Option versuche:
ffmpeg -i input.mp4 -formats h264 output.h264
es codiert immer noch nicht.
Jetzt habe ich verstanden, dass ffmpeg libx264 für die Codierung im H.264-Format verwendet. Jetzt habe ich das Paket x264 - Fast H.264 Encoder auf diesem Ubuntu installiert.
Meine Fragen:
- Gibt es eine Beziehung zwischen dieser libx264, die ffmpeg benötigt, und dem x264-Programm?
- Wie installiere ich libx264 und verwende ffmpeg, um ein Video im H.264-Format zu kodieren?
Antworten:
Zuallererst sehen die Befehle, die Sie verwenden, syntaktisch falsch aus. Damit ffmpeg x264 verwendet, müssen Sie das
-c:v libx264
Argument angeben .Wenn Sie eine YUV-Rohdatei haben, müssen Sie ffmpeg mitteilen, welches Pixelformat, welche Größe usw. verwendet wird:
Ändern Sie diese gemäß den Spezifikationen Ihrer YUV-Datei. Schauen Sie sich
ffmpeg -pix_fmts
eine Liste der unterstützten Pixelformate an. fourcc.org ist auch eine gute Quelle dafür.Wenn Sie nur den unformatierten H.264-Bitstream in einer
.264
Datei haben möchten :quelle
-vcodec
gibt an, welcher Codec verwendet werden soll.man ffmpeg
wird Ihnen helfen, mehr zu lernen.quelle