最近更新: 2013-03-25

從 DVD/DAD 中抓取高音質錄音

在2013高雄音響展時,我買了一張標榜 DAD 96khz/24bit 規格的 CD 。說它是 CD 也不太正確,因為它是兩片組,一片是音樂CD ,另一片卻是影像DVD。 根據條碼,我在 Amazon 查到的資料在此: The Four Seasons © ARTS Music

DAD是什麼

當初我還很懷疑這片到底是用什麼格式收錄的。使用說明中標示用一般的 DVD 播放機就能播放高音質數位錄音,這顯然不是用 WAV 格式。回到家一看,原來是用標準的影像DVD格式,但是奧妙在於這張DVD的視訊軌內容只是湊數的,真正重要的錄音就放在音訊軌上。它的音訊軌上收錄的音訊品質就是 96khz/24bit ,而不是一般 DVD 常用的 48khz/16bit。 DVD 規格在音訊品質本來就允許使用 96khz/24bit ,只是這種品質的音訊資料量太大,還超過視訊資料量,所以一般只會用 48khz/16bit 。但這片 DVD 剛好反過來,它隨便塞了一段不重要的視訊資料,把空間都挪給音訊部份,就能收錄 96khz/24bit 的音訊資料了。

由於這片DVD的格式是標準影像DVD,所以用一般的 DVD 播放器就能播放。只要你的 DVD 播放器內建的 DAC 晶片支援 96khz/24bit 音頻,那就能放出高音質的音樂。不過早期或廉價的 DVD 播放機,內建的 DAC 晶片可能沒那麼好。比較建議的用法還是放入藍光播放器或是用 DVD 播放器的數位輸出接專業 DAC 處理。

總之呢,這是一個很聰明的收錄方式。兼顧數位的高音質以及使用的便利性。希望以後「高雄音響展的示範光碟」也可以這樣做,我想會比今年用資料DVD放WAV的方式要來得方便。

單獨取出DAD中的音訊

雖然這套錄音的使用方式很方便,但我還是習慣用 foobar2000 + WASAPI 播放。那麼我就要想辦法把裡面的音訊單獨取出來,存成 wav 或 flac 。基本上,這用 ffmpeg 很簡單就能做到,參考「ffmpeg 轉檔與影片連接範例」。

然而我發現 ffmpeg 的 flac 模組似乎有點怪,因為它不接收 24bit sample format 的設定。但我非常肯定 flac 格式可以用 24bit sample format 。我上網查了一下,,根據「Compress using FLAC」的內容來看,這是 ffmpeg 的問題,而我得要分成兩個步驟才能達成我的目標。

音訊來源格式

以下為來自 ffmpeg 所顯示的 DVD 音訊媒體資訊:

  • Audio: 96khz/24bit
  • ar: 96000
  • sample_fmt: s32
  • ac: 2
  • codec: pcm_dvd
  • bitrate: 4608k
使用 ffmpeg 抓取

直接使用 ffmpeg 配合上述媒體資訊設置輸出的參數,結果失敗。問題出在 -sample_fmt s32。因為 ffmpeg 的 flac 模組不接受 16 以上的設置。

所以我改成先抓出 wav 格式。指令如下:

ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" \
  -vn -acodec pcm_s24le D:\dad.wav

這片 DVD 我抓出的 wav 文件,資料大小高達 3.6GB 。幾乎一片單面 DVD 容量的八成。

接著,我用單獨的 flac 工具,將 wav 轉換成 flac 文件。指令很簡單,如下:

flac dvd.wav dvd.flac

我用 Foobar2000 播放。Foobar2000 的媒體訊息正確顯示這是 96khz/24bit 音訊,而 DAC 也抓到同樣的 sample rate 。最後,剩下唯一的麻煩是,我得要自己動手編一個分節的 CUE 文件。

我的電腦用的音樂播放器是 Foobar2000 1.2.3 , Output 透過 WASAPI S/PDIF 。 另外,我慣用的影片播放器 Media Play Classic Home Cinema (MPC-HC) 也支援 WASAPI 。MPC-HC 的「輸出」的「音訊譜製器 (Audio render)」選擇「MPC Audio Renderer」基本上就可以了。

樂多舊網址: http://blog.roodo.com/rocksaying/archives/24820394.html