2014-03-13 91 views
2

我有幾個從CAF文件轉換而來的AAC文件,用於HTTP實時流式傳輸。這個流是有效的,但是每個AAC文件之間有一個小小的差距。我的理解是,這種差距是由CAF轉碼後附加到AAC文件的「啓動」和「剩餘」幀引起的。AAC從CAF轉換爲HTTP實時流式傳輸

我的問題是,有什麼辦法消除這個差距?或者使用FFMpeg來封裝這些文件(可能是m4a?),以便音頻播放器(VLC,JWPlayer)能夠理解,以避免這種差距?

回答

1

您可以嘗試刪除啓動幀。數據流仍然可以播放(假設你有ADTS標題,所有的AAC幀都可以隨機訪問),但是當編碼器變暖時,這可能會導致一些'丟失'音頻。它可能會或可能不會被察覺。要做到這一點的最好方法是將原始音頻格式連接起來,因此將CAF解碼爲PCM的原始PCM連接並將AAC編碼爲一個文件。

+0

這樣做的問題是,這必須在iOS上完成並實時上傳到服務器。我不能等到AAC完成後,我必須分段上傳,因爲它是由設備(例如iPhone)的麥克風接收的。 – MouseTech

+0

不要等到它完成。當它變得可用時,將其分片發送。 – szatmary

+0

我不知道我關注。將傳入的CAF解碼爲原始PCMS,將PCMS連接在一起,然後將連續文件編碼爲單個AAC文件。這不會讓我有一個大的AAC文件發送到服務器嗎? – MouseTech