ffmpegを使用して生のビデオをH.264形式にエンコードする


10

Ubuntu 10.04では、以下のffmpegコマンドを使用して、生のビデオ(YUV形式)をH.264エンコードされたビデオにエンコードしようとしています。

ffmpeg -i input.mp4 output.h264

しかし、私は言ってエラーが出ます

出力ストリーム#0.0でサポートされていないコーデック

次に、このオプションを試すと:

ffmpeg -i input.mp4 -formats h264 output.h264

それでもエンコードされません。

今では、ffmpegがH.264形式へのエンコードにlibx264を使用していることがわかりました。今私はパッケージx264-このUbuntuにインストールされた高速H.264エンコーダーを持っています。

私の質問:

  1. ffmpegが必要とするこのlibx264とx264プログラムの間には何か関係がありますか?
  2. libx264をインストールし、ffmpegでこれを使用してビデオをH.264形式にエンコードするにはどうすればよいですか?

あなたの前の質問はどうですか、それは解決しませんでしたか?ffmpegを使用してビデオをH264コーデック形式にエンコード
slhck

@slhck-ありがとうございますが、私が使用したとき:-ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4。エラーが発生しました-「不明なエンコーダー 'libx264'」。その他のポインタ。libx264はx264ライブラリまたはその他のものと同じですか。
ゴールデンミーン

Linuxでのffmpegおよびx264のコンパイルについては、こちらを参照してください:ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

回答:


11

まず、使用するコマンドは構文的に正しくありません。ffmpegでx264を使用するには、-c:v libx264引数を指定する必要があります。

ここで、未加工のYUVファイルがある場合は、ffmpegに使用するピクセル形式、サイズなどを指定する必要があります。

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

YUVファイルの仕様に従ってこれらを変更します。見ていffmpeg -pix_fmtsサポートピクセルフォーマットのリストについては、を。fourcc.orgもそのための優れたリソースです。

.264ファイルにそのままのH.264ビットストリームが必要な場合:

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

-1

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

-vcodec使用するコーデックを指示します。man ffmpegあなたがもっと学ぶのを助けます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.