Tucodec 是图鸭科技基于网络通信协议所集成的VoIP技术, 由C/C++语言实现.
授权协议:Apache
开发语言:C/C++
操作系统:跨平台
软件作者:图鸭科技
12月23日,图鸭在开源中国年终盛典现场宣布开源 VoIP 技术的服务器源代码及客户端网络模块代码 Tucodec,并免费让用户使用其 VoIP 库,开发者可以进行二次开发,合成属于自己的视频通信系统。
这是国内第一家使用私有协议的免费视频通信技术,其主要采用了以udp协议为底层架构的私有协议,减少了端对端延迟,并实时对传输数据进行网络丢包、网络速度和网络抖动的统计,再返给编码器,以此确保视频传输的稳定性。
主要特性
智能化调整码率.
端对端延时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));
}
想要体验的用户可以在www.tucodec.com上下载体验