まず、Ubuntuに入っているffmpegのバージョンは古い、というより本家ffmpegが1日に1コミット以上という凄まじい早さで開発が進んでいるので、とりあえずSVNリポジトリからチェックアウトして、コーデックもろもろもインストールし、ffmpegのビルド&インストールも済んでいるものとします。
参考URLはこちら: http://ubuntu.futene.net/
変換は make で行おうと思ったのですが、ファイル名にスペースがあると面倒なことになりそうなので、Rakeを使うことにしました。といっても、ルールの定義をするだけな上に基本的なことも理解していないので、特に clean タスクの定義はぞんざいです。まぁ自分用なので、気に入らない方はスルーでおk。
さて、ffmpegへ渡すコマンドラインですが、ffmpegの取る引数はもう現代の魔法ですね。ボクも意味はほとんどわかりませんが、ネットの海から持ってきた情報をかき集めただけのものです。こんな感じ。
$ ffmpeg -i infile.avi -qmin 1 -qmax 51 -pix_fmt yuv420p -vcodec libx264 -coder 0 -vpre medium -bufsize 1000 -g 60 -vlevel 12 -qns -qpel -mbd 2 -s 320x240 -r 29.97 -b 512k -maxrate 5000 -acodec libfaac -ac 2 -ar 44100 -ab 96k -f 3g2 outfile.3g2
コーデックには一応フリーのものを使っています。で、これを2パスエンコードしようということで、Rakefileの登場なわけですね。
SRC = FileList["*mp4"]
DST = SRC.ext("3g2")
INSTALL_DIR = "/media/********************/Video/"
FFMPEG = "ffmpeg"
UNRECOGNIZED_OPTIONS = "-hq -bitexact -vprofile baseline -4mv -trell -aic -me full -fixaspect -muxvb 192 -muxab 64"
OPTIONS = "-qmin 1 -qmax 51 -pix_fmt yuv420p -vcodec libx264 -coder 0 -vpre medium -bufsize 1000 -g 60 -vlevel 12 -qns -qpel -mbd 2 -s 320x240 -r 29.97 -b 512k -maxrate 5000 -acodec libfaac -ac 2 -ar 44100 -ab 96k -f 3g2 -threads 8 -y"
task :default => DST
task :clean do
DST.each do |file|
if File.exists? file
sh "rm '#{file}'"
end
end
sh "rm -f *log"
sh "rm -f *mbtree"
end
task :install => :default do
raise RuntimeError, "マウントされてませんよ" if not File.exists? INSTALL_DIR
DST.each{ |file| sh "cp '#{file}' #{INSTALL_DIR}" }
end
rule ".3g2" => ".mp4" do |t|
sh "#{FFMPEG} -i '#{t.source}' -pass 1 #{OPTIONS} '#{t.name}'"
sh "#{FFMPEG} -i '#{t.source}' -pass 2 #{OPTIONS} '#{t.name}'"
end
ほんとシンプルですが、 rake install とすると特定のディレクトリへコピーするようにしました。携帯への転送がWindowsじゃないと行えないので、NTFSパーティションに書き込むための措置です。それが見えなかったら RuntimeError 投げます。
というわけで自分用でした。
※転送しても見れなかったらごめんなさい。
押してねっ→BlogPeople「趣味の世界」ブログランキング
2011年1月4日火曜日
2011年1月2日日曜日
Windowsで再生できるのにUbuntuで再生できないDVD
知り合いの家に「ニャーン」じゃなくて「ニャァア(↑)〜(↓)ン」となく不思議な猫ちゃんがいるんだけど、しかも2匹いるんだけど、なんであんな色っぽいというか、(いや色っぽくはないな、雄だし)変な、というか、ツッコミたくなる鳴き声になっちゃったのでしょうね。甘え上手…? 違うと思う!
あいむふぁいんあんじゅー? 今日はDVD関連のお話ですよ。
レンタル屋さんで「おおかみかくし」を借りてきたら、「動画プレイヤーで開く」を選択しても再生できないでやんすよ。ちなみにUbuntu 10.10のお話。これは結局CSSという方式で暗号化されているからで、再生もろもろには辿り着けたのだけれども、それを忘れて何度も同じことをGoogle先生に尋ねてしまいそうなのでメモメモ。
まず「Ubuntu Tweak」をインスコしまする。そして medibuntu をどうにかして有効にして、ついでに HandBrake も有効化しておきます(※HandBrakeはDVD→MP4動画な変換ソフトちゃんです)。
すると Synaptics から libdvdcss2 と handbrake-gtk が見えるようになっているはずなので、そのふたつをインスコローリング。結論から言うと libdvdcss2 だけあれば Totem だろうが mplayer だろうが再生できるようにはなるんですが(もちろん各種コーデックのインストールも忘れずに)、HandBrakeも libdvdcss2 を自動的に参照して読めるようになってくれるようなので、お察しください。
それでは簡単リッピング作業じゃないじゃないじゃない、動画鑑賞をお楽しみくださいNE☆
押してねっ→BlogPeople「趣味の世界」ブログランキング
あいむふぁいんあんじゅー? 今日はDVD関連のお話ですよ。
レンタル屋さんで「おおかみかくし」を借りてきたら、「動画プレイヤーで開く」を選択しても再生できないでやんすよ。ちなみにUbuntu 10.10のお話。これは結局CSSという方式で暗号化されているからで、再生もろもろには辿り着けたのだけれども、それを忘れて何度も同じことをGoogle先生に尋ねてしまいそうなのでメモメモ。
まず「Ubuntu Tweak」をインスコしまする。そして medibuntu をどうにかして有効にして、ついでに HandBrake も有効化しておきます(※HandBrakeはDVD→MP4動画な変換ソフトちゃんです)。
すると Synaptics から libdvdcss2 と handbrake-gtk が見えるようになっているはずなので、そのふたつをインスコローリング。結論から言うと libdvdcss2 だけあれば Totem だろうが mplayer だろうが再生できるようにはなるんですが(もちろん各種コーデックのインストールも忘れずに)、HandBrakeも libdvdcss2 を自動的に参照して読めるようになってくれるようなので、お察しください。
それでは
押してねっ→BlogPeople「趣味の世界」ブログランキング
登録:
投稿 (Atom)