使用ffmpeg添加音频通道

6
我正在处理ffmpeg并尝试实时添加音频流。我正在使用AudioQueues并获取原始音频缓冲区。我正在使用线性PCM对音频进行编码,因此我得到的音频将是原始格式,我知道ffmpeg可以接受它。但是我无法弄清楚如何操作。我查看了AVStream,其中我们必须为此音频通道创建一个新的流,但是如何将其编码到已在另一个AVStream结构中初始化的视频中,我不知道。
总体而言,我想了解ffmpeg的架构。由于文档最少,我发现很难使用。任何指针或详细信息都会受到赞赏。
谢谢和问候, Raj Pawan G

嗨,你有关于OSX的示例吗?我正在尝试处理同样的问题。 - Swati
很遗憾,我没有访问源代码的权限! - Raj Pawan Gumdal
1个回答

2
如果您想使用Java,可以使用Xuggler,它提供了更好的FFmpeg API包装文档。
另外,FFmpeg可以支持原始PCM,但并非所有容器都能包含它。请使用PCM编解码器(参见avcodec.h),找到具有所需大小和属性的编解码器。要将音频添加到同一容器中,请找到用于现有视频流的AVFormatContext对象,并使用av_new_stream(...)添加新流。然后连接您的PCM编码器并进行“编码”,以产生数据包并写入。在FFmpeg中的output_example.c示例中可以看到此API的实际应用。

1
谢谢,我已经开始朝那个方向进行了。我基本上是在跟随output_example.c的示例,并且如果遇到任何问题,我会回来找你。虽然我使用的是Cocoa而不是Java,但无论如何,实现语言都是FFMpeg调用的抽象层! - Raj Pawan Gumdal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接