投屏协议DLNA

目录

1. 常见投屏方案

2. 什么是DLNA

3. DLNA设备分类

4,DLNA的架构


1. 常见投屏方案

常见的投屏方案主要有以下几种:

DLNA
DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟)。DLNA委员会已经于2017年1月5日正式解散,原因是旧的标准已经无法满足新设备的发展趋势,DLNA标准将来也不会再更新。但是DLNA协议的使用依然比较广泛,短时间内不会退出历史舞台,在某些情况下依然是最好的解决方案之一。DLNA不是技术,而是一种方案,一种大家可以遵守的规范,其各种技术和协议都是目前所应用很广泛的技术和协议(SSDP、SOAP等)。
 

AirPlay
AirPlay于DLNA类似,例如两种都是基于组播实现的设备发现,只不过DLNA基于SSDP(简单服务发现协议),而AirPlay基于mDNS(multicast DNS),甚至苹果曾经也是DLNA委员会的成员。相对DLNA,AirPlay提供了一套完善的官方标准实现,开发者只需要按照文档调用API即可,当然如果需要在第三方设备上实现AirPlay功能,需要自己实现一套与AirPlay兼容的功能,网上就有通过分析抓包实现的第三方AirPlay兼容库,包括发送端和接收端。

Miracast
以Wi-Fi Direct(和UPnP都是局域网P2P)为基础的无线显示标准,出现时间晚(2012),使用范围相对较小。支持此标准的设备可通过无线方式分享视频画面。与DLNA有较大差异的在于DLNA设备服务端(DMS,Digital Media Server)基于文件的方式提供服务,文件解码由接收端完成(DMR,Digital Media Render),因此DMR需要支持较多格式以保证兼容性;而Miracast则是由服务端完成解码并重新编码为H.264传输到接收端,接收端只需要对H.264解码即可。

2. 什么是DLNA

       DLNA全称为DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟),旨在解决个人电脑,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,为设备厂商提供了构建互操性数字化家庭设备和平台的必要信息。

        我们的设备(PC,手机,电视等)可以通过DLNA在局域网内进行多媒体(图片以及音视频)的分享,这就是DLNA的功能,就是DLNA。有了DLNA,我们可以把音乐投送到音质更好的音响上去,可以把视频投送到屏幕更大的电视上去。

3. DLNA设备分类

DMP(Digital Media Player):数字媒体播放器。能从DMS/M-DMS上查找并获取媒体内容并播放和渲染显示。比如智能电视、家庭影院等。

DMS(Digital Media Server):数字媒体服务器。提供媒体获取、记录、存储和输出功能。同时,内容保护功能是对DMS的强制要求。DMS总是包含DMP的功能,并且肯能包含其他智能功能,包括设备/用户服务的管理;丰富的用户界面;媒体管理/收集和分发功能。DMS的例子有PC、数字机顶盒(附带联网,存储功能)和摄像机等等。

DMC(Digital Media Controller):查找DMS的内容并建立DMS与DMR之间的连接并控制媒体的播放。如遥控器。

DMR(Digital Media Renderer):通过其他设备配置后,可以播放从DMS上的内容。与DMP的区别在于DMR只有接受媒体和播放功能,而没查找有浏览媒体的功能。比如显示器、音箱等。

设备间的关系如下:

4,DLNA的架构

DLNA架构是个互联系统,因此在逻辑上它也类似OSI(Open System Interconnection,开放系统互连)七层网络模型。

DLNA架构分为如下图7个层次:

                                                   DLNA ARCHITECTURE

(1) NetWorking Connectivity 网络互联方式:包括物理连接的标准,有有线的,比如符合IEEE802.3标准的Ethernet,;有无线的 ,比如符合IEEE802.11a/g标准的WiFi。

(2) NetWorking Stack 网络协议栈:DLNA的互联传输基本上是在IPV4协议簇的基础上的。用TCP或者UDP来传都可以。这一层相当于OSI网络层。

(3)Device Discovery&Control 设备发现和控制。

         这个层次是DLNA的基础协议框架。DLNA用UPnP协议来实现设备的发现和控制。下面重点看一下UPnP。这一部分可以看一下http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/里的文档。UPnP的工作过程 一文也做了详细说明。下面概括总结性地说一说。

         UPnP,英文是Universal Plug and play,翻译过来就是通用即插即用。UPnP最开始Apple和Microsoft在搞,后来Apple不做了,Microsoft还在继续做,Intel也加进来做,Sony,Moto等等也有加入。UPnP有个网站http://www.upnp.org/,我们发现DLNA的网页和UPnP的网页很像,颜色也差不多,就可以知道他们关系很好了。DNLA主要是在推UPnP。微软官方网站对UPnP的解释:通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中。UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连接和协同工作,从而使网络(尤其是家庭网络)对更多的人成为可能。

 (4)Media Management媒体管理。媒体管理包括媒体的识别、管理、分发和记录(保存),UPnP AV Architecture 定义了UPnP AV设备间媒体传送以及和CP间的交互。UPnP AV也定义了两种UPnP AV设备:UPnP AV MediaServer(MS)和UPnP AV MediaRender(MR),以及他们具有的4种服务:

        a,Content Directory Service(CDS):能将可访问的媒体内容列出。

        b,Connection Manager Service(CMS):决定媒体内容可以通过何种方式由UPnP AV Media Server传送至UPnP AV MediaRender。

        c,AVTransport Service:控制媒体内容,比如播放、停止、暂停、查找等。

        d,Rendering Control Service:控制以何种方式播放内容,比如音量、静音、亮度等。

(5) Media Transport 媒体传输:这一层用HTTP(HyperText Transfer Protocol)超文本传输协议。就是平时我们上网用的媒体传输协议。HTTP用TCP可靠传输,也有混合UDP方式的HTTP。现在HTTP的最新版本是HTTP1.1。

       那如果我们用UDP会怎样?就是说我们不给server回信说我们收到编号是x的包了,server也就不给我们重发丢掉的包了,这样我们就丢包了。

       但是我们传stream的时候,比如视频流,不用存,看完就完了,这种时候就可以用UDP来传。加上局域网里面QoS本来就很高,丢包都是不太可能的。所以UDP肯定会用。局域网多播的时候也用UDP。

(6)Media Formats媒体格式。格式Formats在这里等同于编码格式Codec,平时我们说的编码格式比如Mpeg-2,AVC,x264就是视频编码格式;PCM,mp3(MPEG-2 Layer 3),aac,flac就是音频编码格式。而avi,rmvb,mkv这些是媒体封装格式,包含视频音频可能还有字幕流。比如一个常见的后缀为mkv的文件,它的视频Codec是x264,音频是aac,它的视音频编码属于Mpeg-4 Codec Family。

        我们知道不同设备对编码格式的支持能力不同,Media Formats这一部分规定了设备应该具有的格式支持能力。下面的表是DLNA支持的所有编码格式:

                                                   DLNA-proved format

Video

Audio

Images

MPEG-1

MPEG-2

H.263

MPEG-4 Part 2

MPEG-4 Part 10

WMV9

VC-1

LPCM

MPEG-1/2 L2

MPEG-1/2 L3

MPEG-4 AAC LC

MPEG-4 AAC LTP

MPEG-4 HE AAC

MPEH-4 BSAC

AC-3

ATRAC3plus

WMA

WMA Professional

AMR

AMR-WB+

G.726

JPEG

PNG

GIF

TIFF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/6906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Merck:mPAGE® Lux SDS-PAGE制胶系统

相对于传统SDS-PAGE制胶工艺,Merck公司的mPAGE Lux制胶系统是一种更快速、简单、安全的替代方法,可实现更具可重现性的结果。mPAGE Lux制胶系统可在90秒内完成小型凝胶固化,而传统方法则需要90分钟以上。该系统采用紫外线照射快速制胶工作流程…

用 node 写一个命令行工具,全局安装可用

现在,不管是前端项目还是 node 项目,一般都会用 npm 做包管理工具,而 package.json 是其相关的配置信息。 对 node 项目而言,模块导出入口文件由 package.json 的 main 字段指定,而如果是要安装到命令行的工具&#x…

【高阶数据结构(一)】并查集详解

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:高阶数据结构专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多Go语言知识   🔝🔝 高阶数据结构 1. 前言2. 并查集…

等保2.0有哪些好处,到底要花多少钱?今天一个文章给你讲透

自从等保2.0相关标准正式发布以来,等级保护测评已然成为网络安全行业的热门话题,这意味着等保进入了一个全新的高度。 目前一些机构国家单位项目都有等保资质这一项,早做的客户符合这一标准,竞争项目就更有把握了。 第一次做完等…

数据分析的统计推断

数据分析的统计推断 前言一、提出问题二、统计归纳方法三、统计推断四、统计推断步骤如何进行统计推断统计推断的基本问题点估计区间估计总体方差已知总体方差未知 假设检验假设检验的假设显著性水平 五、检验统计量常见的检验统计量 六、检验方法七、拒绝域八、假设检验步骤九…

【JavaEE网络】从数据链路层到应用层的DNS

目录 数据链路层以太网 DNS 数据链路层 越往下与程序员越远 代表协议:以太网。平常用的网线也叫“以太网线”,平常用的交换机也叫“以太网交换机” 以太网 认识以太网 “以太网” 不是一种具体的网络,而是一种技术标准;既包含…

Day19 代码随想录打卡|字符串篇---反转字符串II

题目(leecode T541): 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小…

基于uniapp+vue3+vite实现小程序构建Android、iOS多端项目配置详解

🚀 作者 :“二当家-小D” 🚀 博主简介:⭐前荔枝FM架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人,8年开发架构经验,精通java,擅长分布式高并发架构,自动化压力测试,微服务容器化k…

网络驱动--汽车ETNB(瑞萨)

以太网AVB (ETNB) 介绍RH850/U2A-EVA的属性,如编号 单元、寄存器的基址。描述了函数和寄存器 ETNB的成员。 两个单元;Units ▪ Fast Ethernet ETNB0 ▪ Gigabit Ethernet ETNB1 单元通道特点 For ETNB0 (Fast Ethernet) ▪ Communication interface ▪…

基于 llama2 的提示词工程案例2

优化大型语言模型(LLMs) 优化大型语言模型(LLMs)中的提示词(prompts)是提高模型性能和输出相关性的重要手段。以下是一些优化提示词的方向: 明确性:确保提示词清晰明确,…

Rust 实战thiserror+自定义错误消息体

导航 一、背景二、实践1、导入thiserror2、自定义错误消息体(1)创建ErrMsg.rs和创建自定义结构体(2)lib.rs添加ErrMsg(3)main函数(4)完整代码 一、背景 开发中遇到需要通用、能够满…

LeetCode 142.环形链表Ⅱ

题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内…

速卖通自养号测评技术策略与实战指南

速卖通自养号测评是一个涉及多个步骤和细节的过程,以下是一些关键步骤和注意事项: 1. 准备资源和环境: 测评养号系统:确保账号的权重稳定运营与账号便捷的管理。 海外纯净IP资源:为账号提供稳定的网络环境&#x…

AI新突破:多标签预测技术助力语言模型提速3倍

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! 引言:多标签预测的新视角 在人工智能领域,尤其是在自然语言处理(NLP)中,预测模型的训练方法一直在…

地下管线管网三维参数化建模软件MagicPipe3D V3.5

经纬管网建模系统MagicPipe3D(www.magic3d.net)自主安全可控,本地离线参数化构建三维管网模型(管道、接头、附属物等),输出标准3DTiles、Obj等格式,支持Cesium、Unreal、Unity等引擎可视化查询分…

【mysql】深入探索mysql中的各种约束条件

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Java | Spring框架 | Bean的装配之XML配置

Spring | Bean的装配 之XML配置 在Spring框架中,Bean的装配是指将Bean定义和配置信息加载到Spring容器中,以便容器能够管理这些Bean。 Spring支持多种装配方式,其中XML配置是传统但依然有效的方式。 一、 使用XML配置文件定义Bean XML配置…

知识图谱和大语言模型的共存之道

导读 知识图谱和大型语言模型都是用来表示和处理知识的手段。大模型补足了理解语言的能力,知识图谱则丰富了表示知识的方式,两者的深度结合必将为人工智能提供更为全面、可靠、可控的知识处理方法。在这一背景下,OpenKG组织新KG视点系列文章—…

还有谁……想知道“线下与线上布局之间的本质区别”

还有谁……想知道 线下与线上布局之间的本质区别 hello,亲爱的你们好.… 我是你们的好朋友,正博,今天是非常特殊的一天,给每一位读者准备了一份特殊的神秘礼物…… 在分享【特殊礼物】之前,请允许我分享一下《线下营销与线上销售的9大核心差异》…… 1、注意力; 2、销…