2010-03-04 157 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