MPlayer は Linux 上で動作するマルチメディアプレーヤー。
MP3 を再生するため、
LAME
をインストール。/usr/local/ 以下に入る。
$ cd /usr/local/ $ tar zxvf lame-3.93.1.tar.gz $ cd lame-3.93.1 $ ./configure $ make # make install
DVD を観るために、
libdvdcss と
libdvdread ( UNIX 上で動作する DVD Player
Ogle のページからダウンロードできる )
をインストール。両者とも /usr/local/ 以下に入る。
$ cd /usr/local/src $ tar jxvf libdvdcss-1.2.8.tar.bz2 $ cd libdvdcss-1.2.8 $ ./configure $ make # make install
$ cd /usr/local/src $ tar zxvf libdvdread-0.9.4.tar.gz $ cd libdvdread-0.9.4 $ ./configure $ make # make install
Windows Media などのコーデックのファイルを再生できるように、
MPLAYERHQ.HU
から w32codec をダウンロードし、
/usr/local/lib/codecs 以下にインストール。
# cd /usr/local/lib # tar jxvf extralite.tar.bz2 # mv extralite codecs
MPLAYERHQ.HU
から
CVS snapshot
をダウンロードして、/usr/local/src/ 以下に展開。
$ cd /usr/local/src $ tar jxvf MPlayer-current.tar.bz2
CVS 版の MPlayer をコンパイルするためには、 FFMPEG に含まれている libavcodec が必要。 FFMPEG の CVS snapshot をダウンロードし、 その中に含まれている libavcodec ディレクトリを MPlayer のディレクトリの中へコピー。 (もしくは、FFMPEG をコンパイルするつもりがなければ移動)
$ cd /usr/local/src $ tar zxvf ffmpeg-cvs-2003-08-22.tar.gz $ cd MPlayer-20030822 $ mv ../ffmpeg-cvs-2003-08-22/libavcodec .
あとは ./configure ; make ; make install。
/usr/local/ 以下に入る。
$ ./configure $ make # make install
基本的には以下のようにする。
$ mplayer dvd://1
-v オプションを付けて起動すると、
音声や字幕に関する、DVD に記録されているいろいろな情報が出力される。
例えば、音声を指定する場合には -alang オプションを指定する。
$ mplayer dvd://1 -alang 130
DVD の動画を DivX で 2 pass エンコード、 音声を MP3 でエンコードして AVI ファイルに出力。
まず音声だけ MP3 にエンコードし、frameno.avi
というファイル名で出力。後々 2 pass エンコードする時に、
この名前のファイルがあれば音声として使われる。
最初の nice はプログラム実行の優先度の設定。
+19 は最低に設定されるので、他のプロセスが優先される。
$ nice -+19 mencoder -ovc frameno -o frameno.avi \ > -oac mp3lame -lameopts abr:br=128 dvd://1
音声のエンコードが終わった時点で、 1枚の CD-R にこのコンテンツを収めるために 最適な動画のビットレートが表示されるので、参考にする。
動画をエンコード。
$ nice -+19 mencoder -oac copy -o /dev/null \ > -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1300:vhq:vpass=1 \ > -vop scale=352:240,crop=708:480:7:0,pp=lb dvd://1
1度エンコードが終わると、
divx2pass.log
という名前のファイルが作成される。
2度目のエンコードはこのファイルの情報を元に行われる。
$ nice -+19 mencoder -oac copy -o hoge.avi \ > -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1300:vhq:vpass=2 \ > -vop scale=352:240,crop=708:480:7:0,pp=lb dvd://1
-vop 以下は出力される動画のオプション。
後ろから前に処理されるらしい。この例では、
pp=lb は deinterlacecrop=708:480:7:0 は
上から 0 ドット、左から 7 ドットの位置から
x軸方向に 708 ドット、y 軸方向に 480 ドットの大きさで抜き出すscale=352:240 は 352 x 240 のサイズに出力の意味。
crop の大きさを決めるためには
-vop cropdetect
オプションが使える。
$ mplayer dvd://1 -vop cropdetect
上のコマンドを実行すると、 コンソールに crop で抜き出す推奨サイズがプリントされるので、 それを元にカットアンドトライで値を決める。
hoge.avi の1分〜31分までの30分を hoge2.avi に保存する場合。
$ mplayer hoge.avi -ovc copy -oac copy -ss 60 -endpos 1800 -o hoge2.avi
コーデックが DivX の場合、切り抜きだけなら作成されたファイルに問題は無いが、 切り抜いたファイル同士を連結するとおかしなことになる。
本格的な編集には avidemux を使う方がいいかもしれない。
まずはリンクの張られている asx ファイルをダウンロード。 XML のような文法になっているので、 その中から href で指定されている URLを見つける。 そして、以下のように実行。
$ mplayer mms://somewhere/hoge.asf -dumpstream
すると、実行したディレクトリに stream.dump というファイルが
作成される。これを適当にリネームする。
$ move stream.dump hoge.asf
TV を観るためには、以下のコマンドを実行。
$ mplayer tv:// -tv driver=v4l2:device=/dev/video0:input=1:norm=NTSC\ > :width=640:height=480:chanlist=japan-bcast:channel=1
driver=v4l だと音が出ない。
device=/dev/video0 を指定しないと、
/dev/video がデフォルトで使用され、
Red Hat Linux 9 ではこれはディレクトリなのでエラーになる。
入力を S-Video にしたければ input=0 にする。
modprobe で saa7134 関係のドライバを組み込んだ直後 mplayer で TV を観ようとすると、画面が乱れたり音が出なかったりする。 ドライバを組み込んだ後、一度 xawtv を起動させてからだとちゃんと動作する。
ビデオデッキから PC にデータを取り込む。
コーデックには huffyuv を使用。
vstrict=-1 オプションを併用しないとエラーになる。
mencoder tv:// \ -tv driver=v4l2 \ -tv device=/dev/video0 \ -tv norm=NTSC \ -tv input=0 \ -tv forceaudio \ -tv width=640 \ -tv height=480 \ -tv amode=1 \ -ovc lavc \ -lavcopts vcodec=huffyuv:vstrict=-1 \ -oac pcm \ -endpos 4560 \ -o huffyuv.avi
huffyuv で取り込んだデータを DivX で 2pass エンコード。
mencoder huffyuv.avi \ -oac copy \ -ovc lavc \ -lavcopts vcodec=mpeg4:vbitrate=1800:vhq:vpass=1 \ -vop scale=640:480,crop=622:462:8:0,pp=lb \ -o /dev/null mencoder huffyuv.avi \ -oac copy \ -ovc lavc \ -lavcopts vcodec=mpeg4:vbitrate=1800:vhq:vpass=2 \ -vop scale=640:480,crop=622:462:8:0,pp=lb \ -o vpass2.avi
ここで必要なら avidemux で編集。その後、音声を MP3 でエンコード。
mencoder vpass2.avi -ovc copy -oac mp3lame -lameopts cbr:br=128 -o final.avi
最初から MP3 で音声を記録しないのは、 avidemux で編集する時に音声がずれるからだそうだ。 以上の情報は Linux でビデオ録画 [2ch 691] のコピー。
PC の電源を入れ、Linux が起動する前にビデオデッキの電源を入れておいたら、 ドライバの動作がおかしくなった。
viusulce@hotmail.com
Last modified: Sun Sep 14 14:51:34 JST 2003