DLNA&UPnP协议为多媒体内容共享提供了标准的行业规范,随着移动互联网的火热发展,我相信它在智能家居领域一定会有着非常大的发展。我准备写几篇文章,分享一下最近在DLNA&UPnP协议开发方面的经验,DLNA&UPnP的文档特别多,在此我希望用自己的语言来引导大家快速理解DLNA&UPnP协议。
(1)DLNA&UPnP协议是干什么的
简单来说,DLNA协议定义了一种通用的行业规范,目的是让电子设备之间可以方便地共享照片、视频、音乐等多媒体内容。(这篇文章讲得不错,可以看看)
而UPnP协议主要用于实现智能设备的互联互通,它定义了局域网内的设备如何互相发现对方,如何提供服务,如何控制对方等一系列的过程。
(2)DLNA&UPnP协议的典型应用
举个直观的例子,通过DLNA协议,你可以方便地把手机里播放的视频投射到家里的电脑上或者智能电视上。目前很多软件都有这个功能了,如果你购买了Android智能电视或者某些电视盒子,就可以电视或者盒子中安装类似PPTV/搜狐TV这样的视频软件,然后在PC机的视频播放器或者手机播放视频的界面中,选择投射到电视或者盒子上即可。国内支持DLNA的播放器有很多,基本上常见的视频网站客户端都有支持,这里就不一一介绍了。
(3)DLNA和UPnP的关系
DLNA协议是建立在UPnP协议的基础上的,它依靠UPnP协议来完成设备的搜索、发现和控制,DLNA协议在此基础上对多媒体设备进行了更加详细的分类和约束,它其实更像是UPnP协议的一个子集。相比于UPnP协议,它更加专注于解决多媒体内容的共享的架构。
其实,现在的UPnP协议添加了“UPnP-AVArchitecture”,更加丰富和完善了UPnP协议本身对多媒体共享的架构与支持,可以看作一种简化版的DLNA架构。
在实际的开发中,UPnP协议提供了丰富的SDK,有着各种开源版本,我们只需要在UPnP官网提供的SDK的基础上,根据DLNA协议或者UPnP-AVArchitecture的定义实现相关的功能/服务即可。