查看: 515|回复: 3

[求助] 用pjsip编码g711时出现丢音

[复制链接]
发表于 2021-8-12 16:43:34 | 显示全部楼层 |阅读模式
本帖最后由 zhwa 于 2021-8-12 16:45 编辑

从海思的acap-pjsip编码----udp----pjsip解码--海思play,海思acap做了vqe高通滤波

存在的问题是海思喇叭播放时出现丢音,定位问题,已经确认acap的音频没有丢音,pjsip后出现了丢音

1.进入pjsip的pcm


2. pcm进入pjsip编码器前的,在pjsip的 stream.c



3. g711u编码后send的rtp数据


4.pjsip解码后的pcm

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2021-8-12 16:48:40 | 显示全部楼层
上图发错了。进入pjsip的编码器前的pcm是连续的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2021-8-12 17:10:32 | 显示全部楼层
程序运行起来的cpu只有10%左右, 内存用了一半还有30M左右,也没有走静音编码这段else if (frame->type == PJMEDIA_FRAME_TYPE_AUDIO &&
               frame->buf == NULL &&
               stream->port.info.fmt.id == PJMEDIA_FORMAT_L16 &&
               (stream->dir & PJMEDIA_DIR_ENCODING) &&
               stream->enc_samples_per_pkt < PJ_ARRAY_SIZE(zero_frame))
    {
                pjmedia_frame silence_frame;

                pj_bzero(&silence_frame, sizeof(silence_frame));
                silence_frame.buf = zero_frame;
                silence_frame.size = stream->enc_samples_per_pkt * 2;
                silence_frame.type = PJMEDIA_FRAME_TYPE_AUDIO;
                silence_frame.timestamp.u32.lo = pj_ntohl(stream->enc->rtp.out_hdr.ts);

                /* Encode! */
                status = pjmedia_codec_encode( stream->codec, &silence_frame,
                                               channel->out_pkt_size -
                                               sizeof(pjmedia_rtp_hdr),
                                               &frame_out);
                if (status != PJ_SUCCESS) {
                    LOGERR_((stream->port.info.name.ptr, status,
                            "Codec encode() error"));
                    return status;
                }

                /* Encapsulate. */
                status = pjmedia_rtp_encode_rtp( &channel->rtp,
                                                 channel->pt, 0,
                                                 (int)frame_out.size, rtp_ts_len,
                                                 (const void**)&rtphdr,
                                                 &rtphdrlen);


            /* Encode audio frame */
    }
,一直找不到为啥会出现编码就不连续的丢音问题
 楼主| 发表于 2021-8-13 11:15:06 | 显示全部楼层
解决了。pjsip中包含了语音静音检测
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2008-2017 当前位置 易百纳技术社区论坛 返回 易百纳技术社区 ( 苏ICP备14036084 )   Powered by Discuz! X3.1
快速回复 返回顶部 返回列表