Tucodec基于網(wǎng)絡(luò)通信協(xié)議所集成的 VoIP 技術(shù)
Tucodec 詳細(xì)介紹
tucodec 是圖鴨科技基于網(wǎng)絡(luò)通信協(xié)議所集成的VoIP技術(shù), 由C/C++語言實(shí)現(xiàn).
具有以下特點(diǎn):
智能化調(diào)整碼率.
端對端延時(shí)50~100ms.
P2P穿透70%, 節(jié)約服務(wù)器帶寬.
兼容MAC OS, iOS, Android, Windows, Linux等平臺(tái).
可應(yīng)用于多人視頻會(huì)議, 端到端視頻通話, 連麥直播等場景.
單臺(tái)服務(wù)器并發(fā)超過nginx_rtmp, 支持集群.
Android啟動(dòng)代碼示例
``` 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));
}
```評論
圖片
表情
