ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6251|回复: 0

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

[复制链接]
发表于 2016-4-29 11:37:19 | 显示全部楼层 |阅读模式
我的实验如下
初始化流程
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不允许这么做?求大神们指点指点问题原因

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-4-20 17:15 , Processed in 0.050767 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表