ugnagブログ

たいした内容はありません。思いつきで書いているだけ。
開発日記がメインかな。

<< ギガビットイーサネットの環境でNASを使った感想 | main | 月と地球の距離 >>

ffmpegによるエンコードのコーデックの指定の覚書

簡単に。
基本構文

ffmpeg -i 入力ファイル 出力ファイル




ffmpeg -i aaa.flv bbb.mp4


これで一応は変換可能。

出力ファイルの拡張子から、必要なコーデックを自動で判断してくれる。

コンテナが複数のコーデックに対応している場合、何を使うかは、「おまかせ」となる。



次に、コーデックを指定したい場合。


例えば,mp4のコンテナでは、音声はaacやmp3などがあるが、あえてmp3を使いたいというような場合。


ffmpeg -i 入力ファイル -acode mp3 出力ファイル


といった感じ。



「-acode」というのは音声コーデックなので、ビデオコーデックを指示する場合は「-vcode」とする。


さて、ここで問題なのは、「-acode」や「-vcode」に渡すキーワードだ。


例えば「h.264やh.265でエンコードしたい」とか「v8」を使いたいとか言う場合、-vcodeに何を指定すればいいか。


それを調べるには、次のコマンドを実行する。

ffmpeg -codecs


すると、

--------------------------------------------

Codecs:
D..... = Decoding supported
.E.... = Encoding supported
..V... = Video codec
..A... = Audio codec
..S... = Subtitle codec
...I.. = Intra frame-only codec
....L. = Lossy compression
.....S = Lossless compression
-------
D.VI.S 012v Uncompressed 4:2:2 10-bit
D.V.L. 4xm 4X Movie
D.VI.S 8bps QuickTime 8BPS video
.EVIL. a64_multi Multicolor charset for Commodore 64 (encoders: a64multi )
.EVIL. a64_multi5 Multicolor charset for Commodore 64, extended with 5th color (colram) (encoders: a64multi5 )
D.V..S aasc Autodesk RLE
D.VIL. aic Apple Intermediate Codec
DEVI.S alias_pix Alias/Wavefront PIX image
DEVIL. amv AMV Video
D.V.L. anm Deluxe Paint Animation
.
.
.
.

--------------------------------------------

という結果が表示される。



最初の6文字は、デコード用/エンコード用、映像/音声/字幕用などという情報。


その次の単語が、コーデックのidで-vcodecなどには、これを指定すればいい。
ただし、1つのidに対し、複数のエンコーダーライブラリが存在するケースもあるのだが、その場合は「おまかせ」で使用される。


その次は、コーデックの長い名称。

その次に括弧書きで、

(decoders: h264 h264_vdpau h264_cuvid )
だとか
(encoders: libx264 libx264rgb h264_nvenc h264_vaapi nvenc nvenc_h264 )

などという記述がある場合がある。


これは、先ほどの出たコーデック1つに対し、複数のライブラリが存在するケースだ。


きっちり指示したい場合は、このライブラリの名称を-vcodeなどで指示する。





ffmpeg -i aa.flv -vcode libx264rgb bbb.mp4





という感じ。
パソコン(その他) | comments (0) | -

Comments

Comment Form

本文に書いて下さい
本文にh抜きで書いて下さい