2008年07月30日

今更ながら ffmpeg, mplayer

暗号化された VOB が VLC で読めないようなので、一番読めるフォーマットが多いと豪語している mplayer をインストールしてみる。

C:\Program Files\...\MPlayer\ の下に mplayer というディレクトリがあり、その下に mplayer.exe が入っている。これがコマンドラインオプションと取る mplayer として仮定し、以下進む。
まずは DVD のダンプだ。すべてを MPEG に出すなら非常に簡単で
mplayer dvd://1 -dev-devide E: -dumpstream -dumpfile outfile.mpg
とするとディスクを激しくアクセスした後、数ギガバイトのファイルを作成する。現時点のmplayer(2008/7/29)は DVD ドライブが C ドライブの直後にあると決め打ちしているようで、マニュアルせってしないと動かなかった。

ここで「30分55秒から10秒間だけを再生したい場合は
mlayer -ss 33:55 -endp 10
と入力すればよいだが、圧縮率によっては38分以上の長さを指定すると、終了しなくなってしまう。これをさらに
mplayer -ss 33:55: -endp 10 -dumpstream -dumpfile
などとすると始点も終点も無視されて映像の先頭から最後までを連結した巨大なファイルを作成する。

この問題を回避するための回避策はあまりきれいではないが、sb オブションで再生オフセットバイト数を指定する(なぜかこちらはうまくいく)、外部プロセスでダウンロードバイト数を監視してあふれそうなら止める。というところになるだろう。
chapter 指定は効くようだ。
endp の代わりに frames パラメータを試してみたが全く駄目だった。

どうもオクテット数が2Gを超えるあたりから動作が不安定化しているのではないか?

時間はかかったものの、ビデオファイルの必要部分へのアクセスは一応できた。これを静止画に変換しようとするとまた森に入ってしまうのだが、これは明日書くことにしよう。
posted by みのしす at 01:05| Comment(3) | TrackBack(0) | 日記
この記事へのコメント
参考にさせてもらっています。

mplayerで再生終了時間を指定するオプションはもしかして「-endp」でなく「-endpos」でしょうか?
バージョン「1.0rc2-4.1.2」のmplayerをlinuxで使用してるのですが、こちらではendoposでした。

-dumpstream、-dumpfile(あとおそらく-dumpaudioも)は始点も終点も無視されちゃうみたいですね。
自分はmencoderで取り出したい始点〜終点間を切り取って、切り取ったファイルをdumpaudioしてますがいい方法はないものかなあ…
Posted by p2pob at 2008年08月14日 06:07
コメントありがとうございます。
なるほど、endpos ですか。dump しないと
Windows 版では endp でもうまく機能する
ようです。

ちなみに Windows 版インストーラには
mencoder が同梱されていなんです…
Posted by みのしす at 2008年08月20日 20:14
QuickTime streaming を mplayer に食わしたら
異常終了した…
Posted by みのしす at 2008年08月20日 20:15
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/17427856

この記事へのトラックバック