之前没事研究了一下ffmpeg4.0之后的混音,参考博客https://blog.youkuaiyun.com/dancing_night/article/details/53080385以及https://blog.youkuaiyun.com/lichen18848950451/article/details/78518439。因为混音数据量大,所以先缓存到fifo队列中,然后依次取出即可。
case AVMEDIA_TYPE_AUDIO:
{
//add_samples_to_fifo(pDlg->m_pFifo, );
pDlg->FeedingSamples2Fifo(filtered_frame->data, filtered_frame->nb_samples);
while (av_audio_fifo_size(pDlg->m_pFifo) > 1024)
{
AVFrame *f = pDlg->AllocAudioFrame();
av_audio_fifo_read(pDlg->m_pFifo, (void**)f->data, 1024);
do_audio_out(f, pDlg);
av_frame_free(&f);
}
break;
}
本文介绍使用FFmpeg4.0进行混音的方法,通过缓存混音数据到fifo队列,再逐步处理,有效管理大量音频数据。文章详细展示了如何在混音过程中利用fifo队列进行数据读写,确保音频输出的连续性和稳定性。
683

被折叠的 条评论
为什么被折叠?



