Tucodec 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Tucodec 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Tucodec 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 图鸭科技研究员
适用人群 未知
收录时间 2017-12-23

软件简介

Tucodec 详细介绍

tucodec 是图鸭科技基于网络通信协议所集成的VoIP技术, 由C/C++语言实现.

具有以下特点:  

  • 智能化调整码率.

  • 端对端延时50~100ms.

  • P2P穿透70%, 节约服务器带宽.

  • 兼容MAC OS, iOS, Android, Windows, Linux等平台.

  • 可应用于多人视频会议, 端到端视频通话, 连麦直播等场景.

  • 单台服务器并发超过nginx_rtmp, 支持集群.

Android启动代码示例

 ``` java
private VoipAndroid mVoIPClient;
private VoipVideoRender mMainRender, render1, render2, render3;
private int mUserId, render1_id, render2_id, render3_id;
/* 省略以上变量初始化代码*/
private VoipAndroid.VideoCallback mVideoCallback = new VoipAndroid.VideoCallback() {
    @override
    public void priviewImage(VoipImage voipImage) {
        mMainRender.setMirror(false);
        mMainRender.pushVideoFrame(voipImage);
    }
 
    @override
    public void decodedImage(VoipImage voipImage) {
        if (voipImage.userId != mUserId) {
            mVoIPeers.get(voipImage.userId).setMirror(false);
            mVoIPeers.get(voipImage.userId).pushVideoFrame(voipImage);
        }
    }
}
private void initGroupChat() {
    mVoIPClient = new VoipAndroid(new Handler(),getApplication(),null);
    mVoIPClient.loginRelayServer(ip, (short)port, mUserId, 0);
    mVideoCapture = new VoipVideoCapture(mVoIPClient,
        new VoipVideoCapture.CaptureParam(mVoIPClient.getConfig().videoWith,
                                          mVoIPClient.getConfig().videoHeight));
    mVideoCapture.start(true, 
                        mVoIPClient.getConfig(), 
                        (ViewGroup)mMainRender.getParent());
    mVoIPClient.registerVideoCallback(mVideoCallback);
    mVoIPClient.registerAudioCallback(mAudioCallback);
    mVoIPClient.init((mVoIPClient.benchmark() + 
                      mVoIPClient.benchmark() + 
                      mVoIPClient.benchmark()) / 3, 
                      mVideoCapture);
    mVoIPClient.startCallWithUserName("android_client", mUserId);
    mVoIPClient.startVideoPipeline(new VoipAndroid.VideoParameter(512, false));
    mVoIPClient.startAudioPipeline(new VoipAndroid.AudioParameter(1600, false));
}
```
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(19) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
19 评论
113 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部