memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

mpeg2ファイル分割

これまで手軽にファイル分割するツールとしてMPEG streamclip 1.2を利用していましたが、このソフトの動作要件としてQuickTime Alternative 1.81をインストールする必要がありました。これがiTunesと干渉して最新のiTunesがインストールできず不便に思っていました。他にmpeg編集ができる軽いツールがないか探してみたところ。。。ありました。しかもMPEG streamclip 1.2より編集しやすい。おススメです。

Link: Free Video Dub


ついでに、mpeg2->wmvの変換にDVD2WMVを使わせて頂いていました。とても簡単なメニューで予備知識なしに使えます。ただ、複数のmpegをまとめて変換するときには少々面倒です。バッチエンコードもできるのですがプロジェクトファイルを事前に用意しなければなりませんでした。


そこで試しにコマンドラインから実行できるffmpegを試してみました。パラメータを少し勉強する必要がありますがとりあえず同じことができます。


ちなみに以下のようなコマンドで私がやっていたことは実現できることがわかりました。mpegからwmvに品質をそれほど落とさずにファイルサイズを小さくするのが目的です。

ffmpeg -i 入力ファイル名.mpg -s 320x240 -qscale 4 出力ファイル名.wmv


もうここまできたらもう少し自動化しましょう。rubyでちょっとしたスクリプトを作りました。カレントディレクトリ内にあるmpegファイルをffmpegでwmvに変換するバッチファイルを生成してくれます。ついでに以下を少し改変すればscpを使えばサーバにアップロードする作業も自動化できます。それは省略します。

fo = File.open("A.BAT","w")

Dir.glob("*.MPG") {|f|
  fname = f.split(".")[0]
  fo.puts "ffmpeg -i " + fname + ".mpg -s 320x240 -qscale 4 " + fname + ".wmv"
}


うーーーん、いい感じです。これでMPEG streamclip 1.2ともDVD2WMVともお別れ。お世話になりました。これでiTunesがインストールできます!


■2009/11/28追記

上記のスクリプトで実行した結果のWMVファイルはXPで見れないことがわかりました。調べてみるとコーデックがWindows Mediaではない。そこで、上記のスクリプトffmpegのオプションを追加することにしました。これでばっちりです。

修正前: fo.puts "ffmpeg -i " + fname + ".mpg -s 320x240 -qscale 4 " + fname + ".wmv"

修正後: fo.puts "ffmpeg -i " + fname + ".mpg -s 320x240 -qscale 4 -acodec wmav2 -vcodec wmv2 " + fname + ".wmv"