2015-09-07 78 views
0

我正在寫一個小的python腳本,將mp3文件轉換爲aac。我通過使用avconv這樣做,我想知道我是否正確。 目前我的命令如下:正確的參數轉換爲使用avconv的mp3到aac

avconv -i input.mp3 -ab 80k output.aac 

這使我想起我的第一個問題:我用-ab 80k,因爲這工作與我的測試文件。在某些文件中,我可以更高級地使用100k。但我寧願總是在最高的設置。有沒有辦法說這個?

另一個問題:我在一個python腳本中使用它。目前我稱之爲子過程。我更喜歡的不是這樣做,因爲這迫使我寫一個文件到光盤,然後在完成一切後再次加載它。有沒有辦法只在內存中執行它?我之後使用web.py返回文件,並且不需要或不需要它在我的光盤上?所以會很酷,根本不需要使用臨時文件。

感謝任何的竅門和技巧:)

回答

1

我沒有-AB選項,但如果它等同於芳(指定採樣率),我要指出,你的耳朵不會能夠分辨80k和其他任何東西之間的差異。
關於臨時文件的問題,您是否考慮使用/ tmp或爲此目的創建的特定tmpfs文件系統。

編輯: 爲了迴應關於臨時文件的評論,是的,您仍然使用它們,但是在/ tmp或您爲作業創建的tmpfs文件系統中創建它們。它應該在重新啓動時被清除,但是我希望你在通過它之後刪除文件。
關於無損aac的另一點我可能會在稍後再回來。由於我懷疑aac格式被描述爲mp3的邏輯後繼者,我強烈懷疑,你或其他人可能會知道不同,即mp3就是所謂的有損,壓縮即位(不是雙關意圖)失蹤,你的無損轉換的願望是註定的,儘管來源已經是有損的。
當然,在這個問題上不是專家,我有待糾正。

編輯3: 您的評論對too many frames使我相信,你是混爲一談-ar和-B
的-b用於視頻,並指定用於視頻和音頻的輸出比特率兩個avconv選項。您使用它的方式,我懷疑它試圖將相同的比特率應用於音頻和視頻,但音頻流有一個限制。
您將不得不使用-b:v來告訴avconv設置視頻比特率並保留單獨的音頻比率。
我建議您丟失-ab選項並使用-ar,因爲這只是音頻。

+0

感謝您的幫助:關於'-ar' ...當使用它而不是'-ab'參數時,我的機器抱怨'[aac @ 0x11d0820]不支持的採樣率80000'。任何想法?對不起......我是一個媒體文件noobie :) – Georg

+0

我也看看'tmpfs',thx。但基本上我仍然會使用臨時文件,對吧? – Georg

+0

好的...忘了採樣率... :)我想要一個無損aac文件。所以我的輸入有256k的比特率。我想對我的aac文件有相同的內容。但是avconv抱怨:「每幀請求的位太多」。如果你知道我能如何解決這個問題,那會很好。 – Georg