2016-06-11 119 views
2

我發現使用可變比特率編碼的MP3會導致currentTime屬性爲reported incorrectly,尤其是在擦除時。這對我的應用程序造成了很大的影響,一直是調試的噩夢。如何使用FFMPEG將MP3轉換爲恆定比特率

我相信我需要將我所有的MP3轉換爲恆定比特率。 FFMPEG(或其他)可以幫助我有效地做到這一點嗎?

+0

可能是* XY問題*。我不相信這是一個很好的解決方案。鏈接提到它只使用使用FFmpeg的編碼器,而FFmpeg又使用libmp3lame。沒有其他編碼器被測試。你是否直接從LAME嘗試輸出?你有沒有試過非基於LAME的MP3編碼器? – LordNeckbeard

+0

我沒有。儘管涵蓋我原來的問題的帖子在這裏(沒有真正的解決方案):http://stackoverflow.com/questions/25468063/html5-audio-currenttime-attribute-inaccurate?noredirect=1#comment62766676_25468063 ...那些傢伙是不正確的(imo)認爲它和使用.ogg格式一樣簡單(不起作用)。另外,在我的應用程序中,我從世界各地發送mp3,所以手動對它們全部進行編碼是不可行的。我需要快速批量編碼它們,並確保它們具有固定比特率,以便html5音頻currentTime屬性準確報告。 –

+0

爲什麼值得LordNeckbeard,如果是這樣的話,我很高興在這個問題上出錯。認真對待這個問題的任何事情。如果任何人都可以幫助我做到這一點,他將擁有一個巨大的領袖,所以我認爲我們正在做的事情...要回答你的問題,我不知道如何知道要使用其他編碼器和/或是否或者它不使用LAME。你是否知道我應該試一試,試試把它弄下來? –

回答

-1

別的東西是怎麼回事。 currentTime不應受到您使用可變比特率MP3的事實的影響。

也許上下文sampleRate與MP3s的採樣率不一樣?這將擾亂音頻樣本的時間,因爲WebAudio會將MP3重新採樣到上下文采樣率。

+0

感謝您的回覆,雷蒙德。我們正在討論一個只發生在長mp3文件中的問題,並且我能夠用來自不同來源的多個文件進行再現。這傢伙去年寫了一些東西:http://terrillthompson.com/blog/624 –

+1

哦,我只記得。如果您使用的是chrome,那麼chrome如何使用webaudio解碼mp3會有問題。它使用持續時間的估計值,如果估計值較短,則文件被截斷。至少可以說這是不幸的。 –

+0

如果您在音頻播放中必須準確定時,您會做什麼?例如,要準確地將文本字幕與音頻文件中的文字進行同步。感謝您分享的任何見解。 –

相關問題