基于Trtc的内贸站视频聊天服务

基于Trtc的内贸站视频聊天服务分享

说到视频聊天,大家第一个想到的是啥,QQ!

其实最早的视频聊天工具应该是 : Netmeeting(我能找到的最早聊天工具)
在这里插入图片描述
Netmeeting是Windows系统自带的网上聊天软件,意为“网上会面”。Netmeeting除了能够发送文字信息聊天之外,还可以配置麦克风、摄像头等仪器,进行语音、视频聊天。

使用Netmeeting非常简单,在XP系统下,点击开始中的运行,输入conf后运行,就能打开Netmeeting。进行一些设置后,就能正式使用。当你想要呼叫某人时,在窗口的输入框中输入欲要呼叫的电脑IP地址,再按旁边的电话图案,就能发出呼叫,当对方接受后就可以进行聊天。如果有摄像头等设备,还可以进行视频聊天。

随着国内的OICQ,也就是腾讯旗下的QQ的前称 蓬勃发展,当大部分国人开始使用视频聊天的时候,QQ视频聊天已经依靠QQ秀,和各种增值的服务牢牢的占据市场,Netmeeting就基本没有出现在国人的视线中就退出了历史的舞台。

在Windows 7中,Netmeeting就已经被微软从自带软件中删除。(但是还是可以下载安装使用)

我们在来说说QQ

QQ其实开始的名字叫OICQ。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2003对于腾讯是个关键的一年,03版的qq,在那年有了井喷式用户加入使用,奠定用户群体的量级,为未来的腾讯帝国奠定了用户基础。这个界面应该是一众80后的回忆。

谈完历史,开始谈技术。

关于网络语音通话通常是双向的,就模型层面来说,这个双向是对称的。
这是一个最基础的模型,由五个重要的环节构成:采集编码传送解码播放

这5个环节中的每个环都是一项庞大而又复杂的技术栈,可以说他们的发展推动着互联网技术的革新。视频聊天就是集这些技术为一体的集大成者。

说回题目,题目叫 基于Trtc的内贸站视频聊天服务Trtc是啥意思,可以分割为T+ rtc, T 应该是 Tencent,即腾讯的缩写,rtc为 Real-Time Communication,即时通讯的英文缩写。

在这里插入图片描述
内贸站使用的就是腾讯云开发的一套收费的在线视频聊天服务SDK。

以前对于在线视频聊天,对于pc端而言,我们一般都是依靠下载个软件,通过客服端来进行。在web浏览器进行实时聊天基本见不到,早期浏览器并不支持这种功能开发。

但在2010年,Google强势进入:

在2010年5月,Google以6820万美元收购VoIP软件开发商Global IP Solutions的GIPS引擎,并改为名为“WebRTC”。WebRTC使用GIPS引擎,实现了基于网页的视频会议,并支持722,PCM,ILBC,ISAC等编码,同时使用谷歌自家的VP8视频解码器;同时支持RTP/SRTP传输等。2012年1月,谷歌已经把这款软件集成到Chrome浏览器中。
所以到2012年,在web端实现实时视频聊天才可能实现。Trtc在web端实现的实时聊天功能就是基于Webrtc提供接口,然后进行二次开发衍生出的产品。

WebRtc 基础介绍

因为我也没用过多少webRtc的接口,如果大家希望有过多的了解,可以看看下面的这个链接:
https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API

WebRTC 有三个主要的API

getUserMedia - 采集本地音频和视频流

RTCPeerConnection - 用来创建对端连接并传输音视频的API

RTCDataChannel - 用于传输二进制数据。

大概的流程是这样的: A 和 B 如果要进行视频聊天;

A 在自己的页面实例化个 RTCPeerConnection 对象,通过 getUserMedia 得到自己的本地媒体流上传,通过 RTCDataChannel 对媒体流的二进制处理,然后通过RTCPeerConnection 进行传输和获取媒体流。

B和A做相同的操作,完成数据不断交互实现实时视频聊天。

WebRTC是为了直接端对端而设计的,让用户可以使用最直接的路由进行连接,而不需要经过服务器。

以上的例子是基于 1 对 1 视频聊天展开的。如果 >=3 的在线视频聊天,那么逻辑就开始变的复杂。需要考虑的问题就会变的很多。

WebRtc 与 WebSocket

关于在线视频聊天,想起了去年做的聊天室,去年大家一起开发的聊天室是用基于webSocket接口的Socket.io,用node做服务端,socket.io分为客户端和服务端,依靠实例化Socket服务来进行客户端和服务端的数据交互。下面来说一说关于,1 对 多 的聊天流程。

举个例子:
一个聊天室 有 : A , B , C 三个人。
想理清楚的前提是大家要有一个概念: 每个人都只关注自己的情况,其他的人的情况交给服务端。

A说了一句话: 今天天气真好!
因为A,B,C 这3个人都有自己的页面,在进入聊天室的时候,都会实例化一个新的Socket,还是上面的那个概念,自己只考虑自己,A将这句话发出,通过Socket服务播报给 其他人但不包括自己,B,C监听到Socket服务端推出的播报信息请求,在客服端将信息显示在界面上。完成一次数据实时交互的模型。A,B,C同理。

但是发现问题没有,通过Socket和通过WebRtc来进行交互的最大不同是:

WebRtc 是直接让 浏览器和浏览器 建立连接,来进行数据传输交流,适合 1 对 1 的交流。
Socket 是让每个浏览器有个自己的服务端,每个服务端和其他服务端是有交流的,和其他浏览器的交流是通过服务端来进行交互处理。适合 1 对 多的 交流。

用比较官方的话是:
1.WebSockets允许浏览器和Web服务器之间的全双工通信
2.WebRTC的PeerConnection允许两个浏览器之间的全双工通信

那么问题来了,如果我想实现多人在线视频聊天,那怎么办。
WebSockets + WebRTC 就是完美的解决方案。

如果完全用原生api接口来搭这些服务,(那你挺nb的),时间,稳定性和错误处理绝对是大问题,然后
Trtc就这样横空出世。

TRTC简介

腾讯实时音视频(Tencent Real-Time Communication,TRTC)将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。

多人音视频通话方案:依靠腾讯云覆盖全球的专线网络,全球均可互通,提供覆盖手机、桌面全平台的客户端 SDK 以及云端 API,终端用户还可以在微信、QQ、企业微信的小程序中使用 TRTC 服务,Web 网页也可轻松使用。
低延时互动直播方案:凭借行业领先的网络与音视频技术,结合腾讯云优质的节点资源,帮助开发者搭建卡顿率更低、延时1秒以内的互动直播,让直播走进 CDN 2.0 时代。

其实总结下来就2个关键词: 多人低延时。这也是腾讯云的核心卖点。其实也不贵。(内贸站买的账号和时间一共花了9.9RMB,而且提供的服务远远不止web端)
在这里插入图片描述
内贸站账号:
腾讯云账号:3124441402@qq.com
密码:zzl12345216
网址: https://console.cloud.tencent.com/developer

先带大家看看基础怎么实现!!看代码!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值