V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
juice123
V2EX  ›  分享创造

免费音视频通信项目 Tucodec(部分代码开源)

  •  
  •   juice123 · 2018-01-06 16:50:26 +08:00 · 2507 次点击
    这是一个创建于 2550 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Tucodec 详细介绍

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

    具有以下特点:

    智能化调整码率.

    端对端延时 50~100ms.

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

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

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

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

    Android 启动代码示例

    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));
    }
    

    下载链接: http://develop.tucodec.com/#/download

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1016 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:11 · PVG 04:11 · LAX 12:11 · JFK 15:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.