zhwa

zhwa

0个粉丝

32

问答

0

专栏

1

资料

zhwa  发布于  2021-08-12 16:43:34
采纳率 0%
32个问答
2158

用pjsip编码g711时出现丢音

 
本帖最后由 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

我来回答
回答3个
时间排序
认可量排序

zhwa

0个粉丝

32

问答

0

专栏

1

资料

zhwa 2021-08-12 16:48:40
认可0
上图发错了。进入pjsip的编码器前的pcm是连续的

zhwa

0个粉丝

32

问答

0

专栏

1

资料

zhwa 2021-08-12 17:10:32
认可0
程序运行起来的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 */
    }
,一直找不到为啥会出现编码就不连续的丢音问题

zhwa

0个粉丝

32

问答

0

专栏

1

资料

zhwa 2021-08-13 11:15:06
认可0
解决了。pjsip中包含了语音静音检测
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区