myffmpeg 发表于 2016-4-29 11:37:19

有没有人尝试过,ffmpeg音频aac编码,采用多线程提高编码...

我的实验如下
初始化流程
AVCodecContext*ctx;
AVFrame         *frm;
AVPacket         pkt;
enc_init()
{
codec = avcodec_find_encoder(AV_CODEC_ID_AAC);
ctx = avcodec_alloc_context3(codec );
avcodec_open2(ctx,codec,NULL);
}
编码流程
enc_start()
{
frm = av_frame_alloc();
av_init_packet(&pkt);
pkt.data = NULL;
pkt.size = 0;
avcodec_encode_audio2( ctx, &pkt, pfrm, &get);
if(get)
{
    保存结果               
}
}

采用单线程初始化后,反复调用编码过程,正常,播放aac声音很好。

采用4线程后,定义4组独立控制变量ctx/frm/pkt,将输入pcm每次分4段同时编码,每个通道编码均正常,
但4段aac编码结果的组合,播放声音很差!

难道ffmpeg不允许这么做?求大神们指点指点问题原因

页: [1]
查看完整版本: 有没有人尝试过,ffmpeg音频aac编码,采用多线程提高编码...