ばらをのChangeLog

‹前の記事 | 次の記事›

2009-08-04

Motion JPEGを変換 [Video][Camera][Ubuntu]

デジカメで撮った動画の形式がMotion JPEGで、ファイルサイズが巨大だったので圧縮したい。
参考: Motion Jpeg のコンバート(続)

MEncodeでH.264に変換

apt-getでmencoderとx264 (実際必要なのはlibx264) をインストール。

まずlibavcodecを使ってみた。これは画質がいまいちだった。細かい調整方法もよく分からない。

$ mencoder ???.AVI -o ???.h264.avi -oac mp3lame -ovc lavc -lavcopts vcodec=libx264



libx264を使ってみた。画質は良い。

$ mencoder ???.AVI -o ???.h264.avi -oac mp3lame -ovc x264 -x264encopts crf=18
または
$ mencoder ???.AVI -o ???.h264.avi -oac mp3lame -ovc x264 -x264encopts qp=18


qpやcrfの値を下げると高画質でファイルサイズが大きくなる。0が最高画質で51が最低画質。crf=18は少し小さすぎたかも。

H.264の.mp4に変換

H.264のAVIはデフォルトのWindows Media Playerでは再生できなかった。これだと人に送りづらいので、QuickTimeで再生できるようmp4にする。

$ mencoder ???.AVI -o ???.mp4 -oac faac -ovc x264 -x264encopts crf=18 -of lavf -lavfopts format=mp4


しかし、MPlayerでは再生できるけどQuickTimeで再生できない。。

今回使ったmencoderのオプション

-o ???.avi: 出力ファイル名
-oac: オーディオコーデック。今回はMP3(mp3lame)。
-ovc: ビデオコーデック。libavcodec(lavc)やx264を指定する。libavcodecはメジャーなオープンソースのコーデックらしい。(libavcodec - Wikipedia)
-lavcopts: libavcodecのオプション。libavcodecを使ってH.264を作るにはvcodec=libx264にする。デフォルトはvcodec=mpeg4。
-x264encopts: x264のオプション。よく分からないので適当にコピペ。とりあえずbitrateかqp(量子化?)、crf(固定画質)を決めてやると適当にやってくれそう。
-srate 44100: サンプルレート。44100Hz。無くても良い。

その他参考

How to Use ffmpegXメモ was here (2005/04~2006/08): x264cli,ffmpeg,MEncoder
ffmpegとmencodeの比較など。

Ubuntu日本語フォーラム / 【HowTo】MEncoderの基本的な使い方とちょっとしたTips
Ubuntu日本語フォーラム / 動画編集・変換ソフト