YouTubeビデオのDivXおよびXviD形式への変換法
昨今話題のYouTubeのビデオクリップだが、かく言う私もこのサイトの中毒患者の1人だ。しかしながら、YouTubeのビデオ再生方式については少々注文を付けたい点がある。私の希望としては、お好みのビデオをスタンドアローン型のDVD/DivXプレーヤで再生したいのだ。またサイトにあるFlash形式のビデオをMPlayerで再生する場合も、早送りや巻き戻しができないという問題がある。よってここに私は、YouTubeのビデオクリップをDivXもしくはXviDフォーマットに変換する作業に着手することを決意した。以下は、具体的な操作手順である。
変換作業をするにあたっては、事前に処理対象のビデオを手元のコンピュータにダウンロードしておく必要がある。こうした作業に最適なツールはYoutube-dlであるが、その詳細についてはJoe Barr氏の解説記事を参照して頂きたい。なおFirefoxユーザであれば、VideoDownloaderという機能拡張も利用できる。MPlayerについては、Flash VideoをサポートしたMencoderが付属したバージョンが必要だが、.flv形式のビデオを再生できるMPlayerであれば問題ないだろう。
準備ができたら、下記のコードをflv2avi.shというファイル名で保存する。chmod 755 flv2avi.sh
というコマンドでこのファイルを実行可能に設定してから、各自のPATHにおける適当なディレクトリにコピーする(例えば/usr/local/bin)。
#!/bin/sh if [ -z "$1" ]; then echo "Usage: $0 {-divx|-xvid} list_of_flv_files" exit 1 fi # video encoding bit rate V_BITRATE=1000 while [ "$1" ]; do case "$1" in -divx) MENC_OPTS="-ovc lavc -lavcopts \ vcodec=mpeg4:vbitrate=$V_BITRATE:mbd=2:v4mv:autoaspect" ;; -xvid) MENC_OPTS="-ovc xvid -xvidencopts bitrate=$V_BITRATE:autoaspect" ;; *) if file "$1" | grep -q "Macromedia Flash Video"; then mencoder "$1" $MENC_OPTS -vf pp=lb -oac mp3lame \ -lameopts fast:preset=standard -o \ "`basename $1 .flv`.avi" else echo "$1 is not Flash Video. Skipping" fi ;; esac shift done
このスクリプトは、-divx
あるいは-xvid
のオプション指定に応じて、.flvファイルをDivXないしはXviD形式に変換するためのもので、変換後のファイル名はオリジナルのファイル名に拡張子.aviを付けたものとなる。実行用のコマンドはflv2avi.sh -divx first_vid.flv second_vid.flv etc.flv
という構文で指定すればよい。なお、mencoderコマンドで使用可能なオプションについては、manページに詳しい解説がされている。
また、お気に入りのYouTubeビデオを集めてビデオDVDを作成することも可能であり、そのための操作手順については以前の記事に解説してある。