使用ffmpeg添加音频通道

Raj*_*dal 6 macos cocoa ffmpeg

我正在研究ffmpeg并尝试动态添加音频流.我正在使用AudioQueues,我得到原始音频缓冲区.我用线性PCM编码音频,因此我得到的音频将是原始格式,我知道ffmpeg接受它.但我无法弄清楚如何.我已经研究过AVStream,我们必须为这个音频通道创建一个新的流,但是如何将它编码为已经在另一个AVStream结构中初始化的视频.

总的来说,我想了解ffmpeg的架构.我发现很难工作,因为它记录最少.任何指针或细节都表示赞赏.

谢谢和问候,Raj Pawan G.

Art*_*rke 2

如果您想使用 java,您会发现带有Xuggler的 FFmpeg 的文档更好的 API 包装器。

也就是说,FFmpeg 可以支持 Raw PCM,但并非所有容器都可以包含它。使用 PCM 编解码器(请参阅 avcodec.h)并找到具有您想要的正确大小和属性的编解码器。要将音频添加到同一容器,请找到用于现有视频流的 AVFormatContext 对象,然后使用 av_new_stream(...) 添加新流。然后附加 PCM 编码器并对其进行“编码”并写入结果数据包。有关此 API 的实际示例,请参阅 FFmpeg 中的 output_example.c。