2010-03-04 153 views
6

我正在研究ffmpeg並試圖添加音頻流。我正在使用AudioQueues,並獲得原始音頻緩衝區。我用線性PCM編碼音頻,因此我得到的音頻將是原始格式,我知道ffmpeg確實接受它。但我無法弄清楚如何。我已經看過AVStream,我們必須爲這個音頻通道創建一個新的流,但是如何將它編碼爲已經在另一個AVStream結構中初始化的視頻。總的來說,我想了解一下ffmpeg的體系結構。我發現工作很困難,因爲它的記錄最少。任何指針或細節表示讚賞。使用ffmpeg添加音頻頻道

感謝和問候, 拉吉爬完摹

+0

嗨,你有沒有與OSX有關的任何示例,m試圖在相同的工作 – Swati 2016-10-20 07:14:54

+0

我不幸的是沒有訪問源代碼! – 2016-10-21 06:01:42

回答

2

如果你想使用Java,你會發現FFmpeg的一個更好的文檔化API包裝與Xuggler

也就是說,FFmpeg可以支持Raw PCM bu tnot所有的容器都可以包含它。使用PCM編碼解碼器(請參閱avcodec.h)並找到具有合適大小和您想要的屬性的編解碼器。要將音頻添加到同一個容器,請找到您用於現有視頻流的AVFormatContext對象,並使用av_new_stream(...)添加新流。然後連接你的PCM編碼器和'編碼'並寫入結果數據包。請參閱FFmpeg中的output_example.c以獲取此API的實例。

+1

雅謝謝,我已經開始朝那個方向走。我基本上跟隨output_example.c,如果我遇到任何問題,我會回覆你。我雖然使用可可,而不是java。但無論如何,實現語言是FFMpeg調用的抽象! – 2010-03-09 04:31:56