和菜鸟一起学linux之dlna的学习记录
关于DLNA框架
1、Networking & Connectivity
为了解决物理设备连通问题,
主要依赖于Ethernet,802.11,Ipv4协议栈,Ipv6协议栈。
TCP/IP协议栈必须包含Ipv4,TCP,UDP,DHCP,Auto-IP,ARP,ICMP。
2、Device Discovery&Control
为了解决设备发现和互操作问题,实现所谓的“设备零配置”。比如通过电视播放PC媒体的时候,电视设备需要“自动知道”PC媒体服务器的存在,以及其能提供何种服务。
主要依赖于UPnP设备体系结构标准,XML,SOAP,HTTP等。
3、Media Management
为了解决媒体的标志,管理和分发。
主要依赖于UPnP AV v1.0的规格
ContentDirectory(DMS):
浏览/查找所有的媒体文件
包含了metadata,例如标题,创建者,分辨率等。
管理内容,比如创建播放列表,添加新的项目。
RenderingControl(DMP):
控制rendering的特性,比如音量,背光等。
ConnectionManager(DMP,DMS):
列举支持的传输协议和数据格式
列举已经存在的UPnP AV流
AV Transport(DMP,DMS):
控制活动和位置,比如播放,暂停,快进,快退等。
4、Media Transport
解决服务端如何“流化”媒体内容到媒体展示端。
依赖于HTTP1.1,通过关闭TCP连接关闭媒体流。
5、Media Formats
解决媒体内容如何编码和标志。
定义了media format profiles以及媒体交互规则。
miniserver具体的流程如下:
DMR回调处理函数
DMS回调处理函数
和菜鸟一起学linux之dlna的学习记录的更多相关文章
- 和菜鸟一起学linux之DBUS基础学习记录
D-Bus三层架构 D-Bus是一个为应用程序间通信的消息总线系统, 用于进程之间的通信.它是个3层架构的IPC 系统,包括: 1.函数库libdbus ,用于两个应用程序互相联系和交互消息. 2.一 ...
- 【转】和菜鸟一起学linux之DBUS基础学习记录
[原文] D-Bus三层架构 D-Bus是一个为应用程序间通信的消息总线系统, 用于进程之间的通信.它是个3层架构的IPC 系统,包括: 1.函数库libdbus ,用于两个应用程序互相联系和交互消息 ...
- 和菜鸟一起学linux之DBUS基础学习记录(转)
转自:https://www.cnblogs.com/wuyida/p/6299998.html D-Bus三层架构 D-Bus是一个为应用程序间通信的消息总线系统, 用于进程之间的通信.它是个3层架 ...
- 和菜鸟一起学linux总线驱动之初识spi驱动数据传输流程【转】
转自:http://blog.csdn.net/eastmoon502136/article/details/7921846 对于SPI的一些结构体都有所了解之后呢,那么再去瞧瞧SPI的那些长见的操作 ...
- 和菜鸟一起学linux总线驱动之i2c死锁问题
不知不觉中已经有好几个月没有写点东西了,懒了就是懒了,说是忙着想把产品做得更好,都是借口,每天花一点时间来写点东西确实很不错,自己也坚持了很久很久,只不过今年以来,发现提高不是很大,能写的东西好少好少 ...
- 和菜鸟一起学linux之upnp协议的学习记录
UPnP全名是Universal Plug and Play,主要是微软在推行的一个标准.简单的来说,UPnP 最大的愿景就是希望任何设备只要一接上网络,所有在网络上的设备马上就能知道有新设备加入,这 ...
- 和菜鸟一起学linux内核源码之基础准备篇
来源:http://blog.csdn.net/eastmoon502136/article/details/8711104 推荐阅读:linux内核源码最初版linux内核源代码,简单易懂,适合初学 ...
- 和菜鸟一起学linux之V4L2摄像头应用流程【转】
转自:http://blog.csdn.net/eastmoon502136/article/details/8190262/ 上篇文章,知道了,C代码编译后存放在内存中的位置,那么C代码的整个编译过 ...
- 和菜鸟一起学linux内核源码之基础准备篇 系列 体系结构图
http://blog.csdn.net/eastmoon502136/article/details/8711104
随机推荐
- ThreadLocal的使用[代码片段]
1.ThreadLocal定义,在一个类中定义: 在类A中: private static ThreadLocal<String> kcsHtmlPath = new ThreadLoca ...
- ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人
ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人 先附上资料网址: 1. https://developer.leapmoti ...
- UNIX网络编程——使用select函数的TCP和UDP回射服务器程序
服务器程序: #include <sys/wait.h> #include <string.h> #include <string.h> #include < ...
- numpy教程:快速傅里叶变换模块numpy.fft
http://blog.csdn.net/pipisorry/article/details/51050297 快速傅里叶变换 NumPy中,fft模块提供了快速傅里叶变换的功能.在这个模块中,许多函 ...
- 最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)
===================================================== 最简单的基于FFmpeg的封装格式处理系列文章列表: 最简单的基于FFmpeg的封装格式处理 ...
- (六十八)使用XMPPFramework登录
按照XMPPFramework的官方样例,应该把登录代码放置在AppDelegate中,并且让注销成为私有方法. XMPPFramework进行登录的步骤如下: ①连接主机,并且发送JID ②如果连接 ...
- 为什么会存在using filesort
当使用explain分析SQL时常常会遇到extra的其中一值为using filesort,如: PRIMARY KEY (`id`), KEY `uid` (`uid`) explain se ...
- Cocos2D中使用CCDrawNode绘制几何图形崩溃的解决
在cocos2D v3.x中已经不能像在v2.x中那样直接调用ccDrawXXX函数来绘制几何图形了. 我们可以使用CCDrawNode或者CCRenderer来绘制图形. 但是官方的Api手册中说的 ...
- sed在行首或者行尾添加内容
原文地址:http://www.cnblogs.com/ITEagle/archive/2013/06/20/3145546.html 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文 ...
- 连接器与容器的桥梁——CoyoteAdapter
如果把整个tomcat内核最高抽象程度模块化,可以看成是由连接器Connector和容器Container组成,连接器负责HTTP请求接收及响应,生成请求对象及响应对象并交由容器处理,而容器则根据请求 ...