2013-03-06 82 views
0

我需要非常精確的方法來加速音頻。 我正準備用於製作數字影院套裝的開放源代碼工具OpenDCP的電影,以便在影院中放映。 我的源文件通常是QuickTime MOV文件,採用48.000kHz音頻,速度爲23.976fps。 有時我的音頻是一個單獨的48.000kHz的WAV。 (FWIW,源的視頻幀速率實際上是每秒24/100.1幀,這是一個重複的小數)。更改wav,aiff或mov MOV或WAV音頻採樣率無需更改樣本數

DCP標準基於24.000fps和48.000kHz程序,所以音頻和視頻的來源需要加快。 圖像處理的工作流程固有地涉及將MOV轉換爲幀每幀的TIF序列,然後假定爲24.000fps,所以我不必介入QT視頻媒體處理程序的內部。

但加速音頻匹配證明是困難的。大多數音頻程序無法獲得與重定時圖像幀對齊的音頻樣本數量。 Audacity速度增加0.1%導致樣本數量錯誤。我發現唯一可行的方法是使用Apple Cinema Tools將23.976fps/48.000kHz MOV轉換爲24.000fps/48.048kHz(它通過更改QuickTime標題來實現),然後使用Quicktime Player將音頻從該文件在48.000kHz,重新採樣。這是幀準確的。

所以我的問題是:ffmpeg或sox中的設置是否會精確加速MOV或WAV或AIFF中的音頻?我想要一個跨平臺解決方案,所以我不依賴於Cinema Tools,它只是MacOS。

我知道這是很多背景。隨意問澄清問題!

回答

0
sox input-file output-file speed 1.001001001001001 

其中文件可以是WAV或AIFF。 Sox內部認爲小數點實際上是1000/999,所以時間調整是100%準確的(並且重採樣是高質量的)。走另一條路當然是

sox input-file output-file speed 0.999 

FFmpeg的也可以做到準確時間上的,但是它的重採樣已取得了一些質量問題。版本1.1可以使用sox重採樣器(請參閱:http://ffmpeg.org/trac/ffmpeg/wiki/FFmpeg%20and%20the%20SoX%20Resampler),但它最簡單的方法就是使用sox。

+0

感謝鮑勃!這解決了它! 除了正確的速度是速度1.001' 我可能誤導重複小數。 – 2013-03-07 00:08:27

相關問題