基于WebRTC技术实现家庭智能设备的轻量存储能力扩展探索

存储
本文基于WebRTC技术,探索了一种将智能家庭设备如智能电视、机顶盒、路由器甚至是个人电脑,赋予一种可进行快速连接访问的存储能力,使这些设备变成一个临时NAS,可通过手机、平板与设备建立P2P连接,完成对各类资源进行操作管理。

1.  WebRTC技术简述  

WebRTC(Web Real-Time Communication)是一种开放性的实时通信技术,旨在使浏览器和移动应用能够通过简单的JavaScript API实现实时音频、视频和数据传输,而无需安装插件或额外的软件。它在网络应用中支持点对点通信,例如视频聊天、语音通话、文件共享和实时数据传输等。

WebRTC的主要组成部分包括:

1.媒体捕获和处理:WebRTC提供了访问用户设备的摄像头和麦克风的API,以及对音视频流进行处理和编解码的能力。这使得开发者可以从浏览器中获取实时的音视频数据。RTCPeerConnection:这是WebRTC的核心部分,用于建立和管理点对点连接。它允许浏览器之间直接交换音视频流和任何其他数据。RTCPeerConnection使用NAT穿透和ICE(Interactive Connectivity Establishment)等技术来解决网络环境中的连接问题。

2.RTCDataChannel:除了音视频通信,WebRTC还支持用于传输任意数据的数据通道。这对于在应用程序之间传递消息、文件或其他信息非常有用。

3.信令:WebRTC并不负责处理通信双方的初始化和连接建立过程,这些任务被称为信令。开发者需要使用其他技术来实现信令,以确保通信双方知道对方的存在并能够建立连接。

4.STUN和TURN服务器:在点对点通信中,存在许多网络配置问题,如防火墙和NAT。STUN(Session Traversal Utilities for NAT)和TURN(Traversal Using Relays around NAT)服务器用于解决这些问题,以确保连接的建立和维护。

WebRTC技术的优势包括:

1.实时性:WebRTC允许实时的音视频通信和数据传输,非常适用于视频聊天、在线会议和实时协作等场景。

2.开放性:WebRTC是开放标准,可在支持该技术的浏览器和应用中使用,不需要额外的插件。

3.跨平台:WebRTC可在不同的操作系统和设备上工作,包括桌面、移动设备和嵌入式系统。

4.WebRTC在许多实时通信场景中得到了广泛应用,包括视频会议、在线教育、远程医疗、在线游戏和社交媒体。

2. 智能设备轻量存储能力扩展技术方案 

(一)应用场景

在家庭场景中,机顶盒、智能电视、带屏音箱自身具备一定的存储空间,一般都可通过USB协议扩展本地存储,也可通过NFS等协议进行扩展,这使得这些设备具备成为一个家庭存储中心的可能;通过本方案,可实现手机、平板等媒体数据快速传输后,可在带屏设备上进行浏览管理。

(二)实现形态

整个架构包含:发起请求的控制端、实现轻量存储化的设备端、云端的穿透服务和信息令控制服务及相关业务服务;

图片图片

控制端实现:载体可以是移动端的手机、平板电脑,也可以是个人电脑;实现形态可以是只保留核心功能的H5页面实现,也可以是具备更全面功能的具备轻量存储扩展能力SDK移动端APP。

设备端实现:理论上只要是支持文件系统,并且存储空间可拓展的设备都具备该扩展能力,但是从实际使用场景来说,机顶盒、智能电视、带屏音箱、路由器这几类设备更具有存储扩展能力的价值。

云端实现:要保证点对点通信的实现,云端需要搭建一套基于ICE框架实现的STUN和TURN协议服务集群来解决内网穿透的问题,以提供数据传输时的高效体验。

(三)流程概述

图片图片

操作端生成offer sdp,通过信令服务发送到设备端,主要用于协商媒体格式。

设备端收到发起方的sdp,结合自己可以使用的媒体格式生成一个answer sdp回复到发起方,至此双方已经沟通好将要使用的媒体数据格式。

双方开始检测自己可以用于收发数据的地址(IP,端口,协议等),把检测到的可用地址通过信令服务发送到对端。

当收到对方发过来的candidate后,把candidate分别组成 candidate-pair(相同协议,可以用于通讯的两端地址),并对candidate-pair进行连通性测试,把可以连通的candidate-pair作为数据收发地址。

candidate-pair确认后,可通过RTCDataChannel进行数据传输,比如控制端将本地的文件上传至设备端;在打洞成功的前提下,端到端的传输效率可以得到较好的保证。

3. 结语 

综上所述,本文探讨了一种利用WebRTC技术对家庭常用智能设备拓展扩展存储能力的可能性,利用WebRTC的跨平台、实时性以及开放性的特性,实现一套可快速集成轻量实现的完整解决方案。实际除应用在家庭场景外,针对云电脑及云商铺的使用场景下,对设备存储扩展的需求都可以进行一定程度上的补充。

此外,针对原生WebRTC在传输安全性上只有DTLS的支持,相对安全性较弱的情况,还可结合智慧家庭运营中心推出的“一机一密”设备认证技术,通过植入“一机一密”密钥对两端设备的通信加密和设备认证做进一步的安全强化。

责任编辑:庞桂玉 来源: 移动Labs
相关推荐

2024-03-14 11:06:37

JavaScript引擎探索

2009-11-20 16:17:39

2010-03-10 19:02:51

英特尔凌动嵌入式

2023-08-07 15:13:09

设备开发鸿蒙

2020-04-27 15:14:10

人工智能技术安全

2021-08-26 05:27:57

Swift 监听系统泛型

2011-08-05 09:09:59

英特尔云计算

2009-11-24 18:18:27

惠普收购IBRIX

2020-11-06 10:25:33

家庭安全系统智能家居移动安全

2024-03-22 11:30:10

人工智能机器学习算法

2019-11-26 09:42:36

代码开发API

2010-03-30 08:40:36

WCF

2023-06-13 14:55:04

2023-11-23 15:05:02

玻璃归档存储微软

2020-04-01 09:41:49

微信存储容灾

2022-05-11 13:59:37

漏洞安全智能家居

2024-01-08 08:23:08

OpenCV机器学习计算机视觉

2022-04-15 14:31:02

鸿蒙操作系统

2009-01-30 11:38:31

视频监控IPSAN威视数据

2022-02-15 15:08:36

戴尔
点赞
收藏

51CTO技术栈公众号