DVDのmp3化、上下の黒い部分を削除してmov化

参考サイト

先にDVD Dectyptor等でHDDにVOBファイルを読み込んでおく。
VOBはffmpegでビデオとして扱える。ビデオ部分のリサイズやコーデック変更、上下の黒い部分の削除等はffmpegでできる。
音はffmpegでVOBからwavとして切り出して、lameでmp3に変換し、最後にffmpegを使ってリサイズしたビデオと合体させると高音質を保てる。


DVDの音は48kHzなので、44.1kHz 2chに変換しつつwavだけを取り出す。

ffmpeg -i VTS_01_CHAPTER_33_1.VOB -ar 44100 -ac 2 -sameq 33.wav

ディレクトリ内まとめてやる場合

ruby -e 'Dir.glob("*.VOB").each{|i| puts `ffmpeg -i #{i} -ac 2 -ar 44100 -sameq #{i.split(/./).first}.wav`}'

lameでmp3に変換。VBRで最高音質にする

lame -V 0 -h VTS_01_CHAPTER_01_1.wav 01.mp3

ディレクトリ内まとめて

ruby -e 'Dir.glob("*.wav").each{|i|puts `lame -V 0 -h #{i} #{i.split(/\./).first}.mp3`}'


mp3と動画を合体。movが好きなのでmovにする。

  • acodec copyするとmp3が音声部分に入る。ビデオのソースにはVOBをそのまま使い、上下60ピクセルずつ削って720x480が720x360になり、アスペクト比が3:2に変わったので-aspectで指定する。-aspectしないとquicktime player等で再生した時に縦長になってしまう。
ffmpeg -i -i VTS_01_CHAPTER_33_1.mp3 -acodec copy -i VTS_01_CHAPTER_33_1.VOB -croptop 60 -cropbottom 60 -s 720x360 -aspect 3:2 -sameq 33.mov
ruby -e 'Dir.glob("*.VOB").each{|i| puts `ffmpeg -y -i #{i.split(/\./).first}.mp3 -acodec copy -i #{i} -croptop 60 -cropbottom 60 -s 720x360 -aspect 3:2 -sameq #{i.split(/\./).first}.mov`}'

動画部分を縦横半分ずつにして、ファイルサイズを減らした。ファイル名の後ろに_small付けた。

ffmpeg -i -i VTS_01_CHAPTER_33_1.mp3 -acodec copy -i VTS_01_CHAPTER_33_1.VOB -croptop 60 -cropbottom 60 -s 360x180 -aspect 3:2 -sameq 33_small.mov
ruby -e 'Dir.glob("*.VOB").each{|i| puts `ffmpeg -y -i #{i.split(/\./).first}.mp3 -acodec copy -i #{i} -croptop 60 -cropbottom 60 -s 360x180 -aspect 3:2 -sameq #{i.split(/\./).first}_small.mov`}'

ファイル名を連番に直す

ruby -e 'Dir.glob("*").each{|i| File.rename(i, i.gsub(/VTS_01_CHAPTER_/, "")}'
ruby -e 'Dir.glob("*").each{|i| File.rename(i i.gsub(/_1/, "")}'