Sheet 1
R12 Dlna同步方案
  Dlna简介
    目标
      解决智能设备的无 / 有线网络的互联互通
      实现数字媒体等内容共享，做到即点即播
    与smb的对比
      无线连接smb速度太低
        DLNA不卡(平均3M/s)
        samba就卡（平均只有1M/S)
      minidlna的速度和资源损耗要比samba小的多
      minidlna上到5G的电影也基本不卡，而samba就非常吃力
      支持samba的视频播放器显示比DLNA/UPnP的要少！
      dlna不支持外挂字幕
    代码模块
      媒体格式
      设备的发现控制和管理
        UPnP Device Architecture 1.0
        UPnP AV 1.0
        UPnP Printer:1
      媒体传输
        Mandatory: Http
        Optional： RTP
      网络协议
        IPv4
        IPv6
      网络互连
        有线网络：802.3.i/u
        无线网络：802.11/a/b/g/n
      相关技术和协议
    功能组件
      Digital Media Server 服务器
        DMS
        PC
        数字机顶盒
          附带联网，存储功能
        摄像机
      Digital Media Renderer 渲染器（受控端）
        DMR
      Digital Media Controller 控制器
        DMC
        功能
          查找DMS内容
          建立DMS与DMR之间的连接
          控制媒体的播放
        遥控器
      Digital MediaPlayer 播放器（可理解为DMC+DMR）
        DMP
        智能电视
        家庭影院
        与DMP的区别
          只有接受媒体和播放功能
          没查找有浏览媒体的功能
    Upnp协议
      定义
        Universal Plug and play
        通用即插即用
      UPnP AV Architecture
        目标
          UPnP AV设备间媒体传送以及和CP间的交互
        交互服务类型
          Content Directory Service(CDS)
            将可访问的媒体内容列出
          Connection Manager Service(CMS)
            决定媒体内容以何种方式由DMS传至DMR。
          AVTransport Service
            控制媒体内容
              播放
              停止
              暂停
              查找
          Rendering Control Service
            控制以何种方式播放内容
              音量
              静音
              亮度
      工作流程
        （1）寻址(Addressing)
          通过DHCP或者Auto-IP获得IP
        （2）发现(Discovery)
          UPnP发现协议
            目标功能
              允许设备向局域网中的CP 通知自己拥有的服务
                Control Point
              允许CP搜索可用的设备
            SSDP协议
              Simple Service Discovery Protocol
              简单服务发现协议
            Summary
              采用SSDP协议
              用多/单播完成
                设备上线/离线通知
                组播搜索设备
              设备用单播响应CP的搜索
        （3）描述(Description)
          功能：cp获取device描述信息
            通过http获取xml
          类别
            物理描述
              设备本身信息
            服务描述
              能提供什么服务
              有哪些action
              需要那些参数
              怎么调用
        （4）控制(Control)
          功能
            拿到描述信息后，通过这些信息遥控设备
            采用SOAP协议(HTTP/TCP)，完成CP和devices之间的交互
          CP和device之间沟通信息
            Simple Object Access Protocol格式
              SOAP
            信息类别
              UPnP Control Request
              UPnP Control Response
              UPnP Control Error Response
              信息body
                写入想要调用的动作
                Action invocation
        （5）事件(Eventing)
          功能
            完成设备事件消息的订阅和推送
              采用GENA协议(HTTP/TCP)
          相关联的组件
            CP
            DMP
          相关状态或变量发生变化，就产生一个事件
            服务进行期间
            多播
            单播
          CP可事先订阅感兴趣事件
        （6）表达(Presentation)
          设备表达可以理解成“遥控器”
          UPnP并没有定义Presentation应该有哪些东西
          一个HTML嘛，哪样写得好哪样来！
        流程图
      Upnp AV设备交互
        CP角色
          Action由cp发出
          CP功能要求
            发现 AV设备
            获得所需的内容列表
            获得渲染器支持的协议/ 格式
            比较/匹配协议 / 格式
            配置服务器/渲染器
            选择所需的内容，开始内容传输
            调整渲染参数
            重复：选择下一个内容
            断开服务器
            渲染器连接
        常见交互模型
          根据cp角色
          CP is MediaServer
          CP is MediaRenderer
          CP is 遥控器remote control
        遥控器cp的两种实现方式
          pull
            CP向Renderer发送请求
            请求上有Server及Server上所需媒体内容的URL
            接着让Renderer去取
          push
            CP向Server发Renderer的URL
            让Server去向Renderer推送媒体内容。