CLIタイプの便利なビデオ・コンバーターmencoder

mencoderはMPlayerメディア・プレーヤー・パッケージに含まれているツールだ。MPlayerはオーディオとビデオのファイルを再生するが、mencoderはマルチメディア・ファイルを変換し管理する。このツールにはさまざまなGUIがあるが、コマンドラインからも、ほとんどあらゆる形式のビデオ・ファイルを作ることができる。ここでは、その使い方を紹介しよう。

mencoderで扱えるファイル形式は、MPEG/VOB、AVI、ASF/WMA/WMV、RM、QT/MOV/MP4、Ogg/OGM、MKV、VIVO、FLI、FLVだ。コマンドのオプションは多いが構文は直感的でわかりやすく、マルチメディアの変換なら、ほぼあらゆる処理が可能だ。

たとえば、MPGファイルをAVI形式に変換する場合のコマンドは次の通り。

mencoder file.mpg -o file.avi -ovc lavc -oac lavc

ここで、「-ovc」と「-oac」は出力時に使うビデオ・コーデックとオーディオ・コーデックを指定するオプションで、システムにインストールされているビデオ・コーデックとオーディオ・コーデックはコマンド「mencoder -ovc help」または「mencoder -oac help」で調べることができる。

オーディオを圧縮せずPCMにしたい場合は、acodecオプションでオーディオ・コーデックのタイプを指定すればよい。

mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts acodec=pcm

MP3で圧縮する場合は、abitrateオプションでビットレートを指定することもできる。

mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts acodec=libmp3lame:abitrate=128

libmp3lameのエンコードを詳細に指定したい場合は、lameoptsオプションを使う。たとえば、可変ビットレート方式で圧縮する場合は次のように指定する。

mencoder file -o file.avi -ovc lavc -oac mp3lame -lameopts vbr=2:q=3

ここで、qには0~9のいずれかを指定する。

ビデオについても同様だ。

mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts acodec=libmp3lame:abitrate=128 vcodec=xvid

ビデオを圧縮したくない場合は、vcodec=copyとする。これにより、ソース・ファイルのフレームがそのまま一画面ずつコピーされる。

xvidまたはdivxは、lavcを介さず直接指定することもできる。

mencoder -ovc xvid -oac mp3lame -o destination.avi source.avi

ビデオの品質を指定したい場合は、XviDコーデックのオプションを利用する。

mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=878 -o destination.avi source.avi

ビットレートが大きい方がビデオ・ファイルの品質は高くなるが、ファイルも大きくなる。

次に、もう少し高度な使い方を紹介しよう。まず、passオプションを使ってDVDのXviD形式のコピーを作る方法。第1のパスでファイルのコンテンツを分析し、第2のパスで、その情報に基づいて出力ファイルをエンコードする。このようにすると効果的に圧縮することができる。その代わり処理時間が少々長くなり、変換中はCPUの90%を占有することになる。

mencoder dvd:// -oac mp3lame -ovc xvid -xvidencopts pass=1 -o /dev/null
mencoder dvd:// -oac mp3lame -ovc xvid -xvidencopts pass=2:bitrate=800 -o xvidfile.avi

bitrateオプションには次のような使い方もある。たとえば、DVDを700MBのXviDファイルにしたい場合、次のコマンドで、生成されるAVIファイルのサイズを強制的に700MBにすることができる。

mencoder dvd:// -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o file.avi

CPUを独占せず、ほかのアプリケーションのために余裕を残して置きたい場合は、niceコマンドを使えばよい。次のコマンドは、スケジューリングでの優先度を最低にする。

nice -n 19 mencoder dvd:// -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o file.avi

あるフォルダにさまざまな形式の小さなビデオ・ファイルがたくさん溜まっているとしよう。mencoderを利用すると、オムニバスとして1つの大きなファイルに編集することができ、閲覧が容易になる。まず、オムニバスに登場する順序でファイルが一覧表示されるように、ビデオ・ファイルの名前を変更しておく。そして、次のコマンドを実行する。

mencoder * -o output.avi

特定のオーディ・ファイルを映像に挿入したい場合は、次のコマンドだ。

mencoder source.avi -o destination.avi -ovc copy -oac mp3lame -audiofile file.wav(圧縮されていない場合)
mencoder source.avi -o destination.avi -ovc copy -oac copy -audiofile file.mp3(圧縮されている場合)

ビデオ・ファイルをiPodLinuxが動作する機器で使えるようにしたい場合は、次のコマンドを使う。

mencoder -ovc raw -ofps 15 -oac pcm -vf scale=176:-2,expand=176:132,format=bgr16 input.file -o output.avi

このコマンドを実行すれば、オーディオ・データは非圧縮、画像はNanoの小さな画面に完全に収まるようにスケールされたRAW AVIファイルができあがる。

出張の際にPocket PCを携行することがあるが、次のコマンドを使えば未見の映画2本が512MBのSDカードに収まり、出張のお供にすることができる。

mencoder -oac mp3lame -lameopts mode=3:preset=24 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=384:keyint=250 -vop expand="320:240" -o outputfile.avi inputfile.avi

または、

mencoder input.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=200:abitrate=48 -vop scale=320:240 -oac copy -o output.avi

この2つのコマンドには、後者はファイルをスケールし、前者は映画をPDAの持つ320×240のピクセルの画面に収めるという違いがある。

ウェブカムの出力を保存したい場合は、次のコマンドを使う。

mencoder tv:// -tv driver=v4l:device=/dev/video0:width=640:height=480:forceaudio -ovc lavc -oac lavc -lavcopts vcodec=mpeg4:acodec=mp3 -ffourcc divx -o test.avi

このコマンドは、/dev/video0へのすべての出力を解像度640×480ドットで記録する。形式はDivX、オーディオはMP3だ。

以上のように、mencoderを使えば、ほぼあらゆる形式のビデオ・ファイルをさまざまに変換することができる。処理は速く、機能的にも申し分ない。GUIであろうがなかろうが、ほかのアプリケーションを使う気にはなれない。

とはいえ、GUIでビデオ変換したいという人には、KMencoderKonverterKmenc15GMencoder、AcidRip、MenGUIがある。

Razvan T. Coloja  雑誌やオンライン・マガジンに150編を超えるLinuxやIT関連の記事を執筆。ルーマニアの雑誌の編集、同国のLinux/OSSポータル・サイトでありコミュニティーでもあるwww.mylro.orgの管理と編集にも携わっている。

Linux.com原文