Tuesday, October 10, 2006

用linux抓下你的DVD音軌

現在沒有機會跟朋友玩樂團
所以現在多了一個習慣是跟著音樂一起玩
我有些DVD的現場表演有很棒的pattern
不過每次要用mplayer去播放DVD有點痛苦也不方便
因此我會把音軌抓下來存成mp3

在linux這樣的工作其實很容易實現
首先,你可以用一個FIFO pipe來連結mplayer的wav輸出與lame的輸入
這樣的好處是你不用先把整個wav檔案抓到硬碟
(整張DVD的音軌應該也不小....不過現在大家硬碟應該都很大了吧....ㄏㄏ)
所以你可以先建立一個fifo

mkfifo wavbuf

這時候你的目錄下匯出現一個新檔案如下
prw-r--r-- 1 joepass joepass 0 2006-10-09 23:00 wavbuf

再來我們就要開始抓音軌
我們用mplayer來dump整個audio然後指定檔案為我們的fifo檔案

mplayer -quiet -vo null -vc dummy -ao pcm:waveheader:file="wavbuf" dvd://

這時候mplayer會開始把wav資料丟進fifo內
你可以開啟另一個terminal(或你可以將mplayer放入背景執行)
用lame來壓縮mp3檔案

lame --preset standard wavbuf music.mp3

我套用standard的設定,你可以設定自己想要的mp3參數
接下來就是....等待....啦
等一切完成後你就有一個music.mp3的DVD音軌檔案了

如果你覺得這個一整個mp3太不方便
你還可以用mp3splt這類軟體將mp3切成你要的長度
很棒吧....有需要抓片斷的音軌也是很好的選擇歐

No comments: