接触DLNA协议也有7⑻年了。
最早接触DLNA是在2007年, 为P公司做DLNA方案, 厚厚的1000多页协议全部看了1遍。然后是接触N公司提供的手机版DLNA DMC实现。
最近几年是S公司的DLNA实现和B公司的实现。
这几个公司都是大公司, 很成心思的是,他们全部不用网上搜的libupnp,ushare,miniDLNA,全部自己造了1次轮子。
这可能也跟大公司财大气粗有关系, 还有1点比较成心思的是他们均用C语言实现。
网上很多人说C++是流媒体的老大, 就我个人工作经验来看, 流媒体领域还真没C++甚么位置, 核心的代码均被C霸占。
DLNA协议大致可以分为3层
第1层为装备发现层 基于Upnp
第2层为服务发现层,主要是SOAP, 这个和WebService实际上是差不多的。
第3层为流媒体服务, 传输协议为HTTP1.1, RTP1直在研究很少被实际使用, 然后是媒体格式和Profile定义。
实际项目中,主要工作集中在以下2个方面:
1> 装备发现的调试, 需要开发者熟习网络抓包和SSDP
2> 媒体格式的MIME和Demux, 各种播放问题调查
就个人来讲, 感觉DLNA目前最大的问题是有限的带宽下,如何支持多个装备同时1080P播放。
与云服务器如何融会。
下一篇 mysql使用总结