Verwenden von ffmpeg zum Codieren eines Rohvideos im H.264-Format

9

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:

  1. Gibt es eine Beziehung zwischen dieser libx264, die ffmpeg benötigt, und dem x264-Programm?
  2. Wie installiere ich libx264 und verwende ffmpeg, um ein Video im H.264-Format zu kodieren?
goldene Mitte
quelle
Was ist mit deiner vorherigen Frage, war das nicht gelöst? ffmpeg-Verwendung zum Codieren eines Videos im H264-Codec-Format
slhck
@slhck - Danke aber, als ich verwendet habe: - ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4. Es gab Fehler - "Unbekannter Encoder 'libx264'". Alle weiteren Hinweise. Ist libx264 dasselbe wie die x264-Bibliothek oder etwas anderes.
goldenmean

Antworten:

10

Zuallererst sehen die Befehle, die Sie verwenden, syntaktisch falsch aus. Damit ffmpeg x264 verwendet, müssen Sie das -c:v libx264Argument angeben .

Wenn Sie eine YUV-Rohdatei haben, müssen Sie ffmpeg mitteilen, welches Pixelformat, welche Größe usw. verwendet wird:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

Ändern Sie diese gemäß den Spezifikationen Ihrer YUV-Datei. Schauen Sie sich ffmpeg -pix_fmtseine 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 .264Datei haben möchten :

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 -f rawvideo output.264
slhck
quelle
-1

ffmpeg -f rawvideo -pix_fmt yuv420p -s: v 1920x1080 -r 23.976 -i raw_i420_1920_1080 -vcodec libx264 -f rawvideo output.264

-vcodecgibt an, welcher Codec verwendet werden soll. man ffmpegwird Ihnen helfen, mehr zu lernen.

Vishwanath Patil
quelle