腾讯大讲堂14 qq直播(qq live) 介绍

945 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
945
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 网络构建:
    可扩展性:网络拓扑的可扩展性取决与拓扑构建算法以及协议的复杂度和拓扑维护算法以及协议的复杂度。
    可靠性:与覆盖网络的连通度相关;连通度越大,网络的可靠性越强。
    可管理性:与网络中各节点角色以及角色之间的关系息息相关。
    网络邻近度:覆盖网络拓扑与底层物理网络拓扑之间的匹配程度。
    NAT问题:如何有效的穿越NAT?
    防火墙问题:如何穿越防火墙?
    Buffer管理:
    如何减少延迟?
    如何尽快播放节目?
    节点选择:
    局域网优化
  • 本地HTTPServer
  • 腾讯大讲堂14 qq直播(qq live) 介绍

    1. 1. QQ 直播 (QQLive) 介绍 Zhangqing 、 zbf 2007/11
    2. 2. 客户端介绍 Zhangqing 2007/11
    3. 3. P2PStreaming 的发展和技术要点 主要特性和特点 软件结构 后续发展方向
    4. 4. P2PStreaming 发展过程
    5. 5. 关键技术点 网络的构建及维护 决定系统的可扩展性、可维护性、稳定性、以及系统运转的效率。 Buffer 管理 根据具体的应用来选取合适的 Buffer 管理策略;例如直播与点播的 Buffer 管理策略不相同; 伙伴节点的选择 决定系统运转的效率,伙伴节点过多,则造成系统维护开销过大; 伙伴节点过少,则造成系统的稳定性差。伙伴节点的质量差则系统 的服务质量难以满足 Streaming 的需求; 数据传输的优化调度; 决定流媒体数据传输的 QoS 。
    6. 6. QQLive 流媒体部分系统架构
    7. 7. QQLive 主要特性和特点 基于 P2P(Peer To Peer) 的流媒体直播 节省带宽 90% 以上 稳定的提供流媒体直播 … 和频道相关的聊天室 节目导航 频道列表 频道节目预告、实时截图、介绍等 … 简单易用的 SDK 个人信息 播放控件 最近观看 一键点击播放
    8. 8. QQLive 客户端模块 广告 UI Skin QQLive API Web Other Components QQLive Player Control Chat 一些基础程序,网络通讯/HTTP下载等 认证/收费P2PStreaming 导航
    9. 9. P2P 流媒体播放部分
    10. 10. P2P 数据交互概要 从 CLIENT 的视点来看,一个 QQLIVE CLIENT 和 SERVER 交互两件事情: 登陆,注册网络状态信息;获取 SP , PEER 信息, 播放的文件信息 连接 SP 和其他 PEERS ,得到 STREAM DATA 然后就是 Client 通过 Server 筛选合适的种子与其交换数据
    11. 11. 未来的 QQLive – 网络流媒体播放 软件 同时支持点播和直播 支持不同的格式,对用户保持一致的体验 允许用户自发布 ……
    12. 12. 一些正在探索加强的技术点 带宽限制 / 调度; 减少延迟; 提高流畅度; 新的界面技术; 整合点播 ; 丰富的格式支持; 安全性和兼容性的增强; ……
    13. 13. 服务端介绍 Zbf 2007/11
    14. 14. 介绍 现有 P2Pstreaming 方案 QQLive- 方案选择 QQLive- 基本架构 QQLive- 流程 QQLive- 模块介绍
    15. 15. P2P-Streaming- 主要方案 1- 树形 采用 server 中心控制,客户端上报自己的网 络状况和带宽信息, server 实现成员管理, 并生成最优的转发树 .server 仅负责信令通讯 , 数据由各节点进行转发,并可扩展 . 优点: 1. 客户端逻辑实现比较简单,不需要考虑文 件的分片,一个客户端仅对应一个源提供者 , 简单的收到数据然后转发 . 2. 结构稳定的时候,延时相对固定 , 数据波动 性较小 . 比较流畅 缺点: 1. 没有考虑用户网络带宽的差异性 2. 用户的频繁上下线会导致转发树的不稳定 ,并对其他用户的收看效果影响较大 3. 就目前状况而言,实现工作量较大 4. 当用户数量到万级的时候系统稳定性令人 担忧 绿色为服务器 , 黄色为直播源 , 灰色为收看客户端 红线虚线为信令控制流 , 蓝色实现为数据流 箭头表示数据流的方向
    16. 16. P2P-Streaming- 主要方案 2- 网格型 同样采用服务器控制,服务器负责成员管理、播放时 间同步,分配给用户正在参与的其他用户信息。客户 端与其他用户进行通讯和数据交换。与树形最大不同 是客户端之间的数据交换没有严格的顺序,是无序的 ,数据源的选择和数据的交换依靠客户端的算法来实 现。 优点: 1. 充分考虑用户间网络的差异性 , 部分网络状况较差的 用户不会影响其他用户 . 2. 服务器实现逻辑简单 . 3. 用户的频繁上下线只会影响很少部分的用户 4. 用户数量的多少对系统稳定性影响不大 缺点: 1. 客户端实现逻辑比较复杂,需要考虑播放时间的同 步以及获得数据的算法 2. 需要对流数据进行分片处理 3. 播放的延时和流畅性依赖于算法 , 并且波动会较大 绿色为服务器 , 黄色为直播源 , 灰色为收看客户端 红线虚线为信令控制流 , 蓝色实现为数据流 箭头表示数据流的方向
    17. 17. QQLive- 方案选择 目前主要的 P2PStreaming 都采用了网格型方案,原因主要 有: 1. 充分考虑用户间网络状况的差异性 2. 考虑用户的频繁上下线 3. 当在线用户数量上万级时候系统的稳定性 4. 考虑服务器实现逻辑的简单化 5. 可以在目前已有的 p2p 下载的系统上进行改进,实现工作量较 小 需要解决的问题: 1. 数据源的选择和数据交换的策略 2. 直播媒体流的分片处理和分片传输 3. 播放器和编解码器 4. 文件播放的延时和抖动的控制 5. 版权保护
    18. 18. QQLIVE 基本架构
    19. 19. QQLIVE 流程
    20. 20. QQLIVE 服务模块介绍 Peer 服务模块 用户登陆 PServer , PS 分配唯一的 UIN ,并将其加入到 UIN List 当中 用户请求下载指定节目,实际就是要求观看该节目, PS 为 其分配 SessionID ,并将其加入 Session List ,返回观看节目 的配置参数、当前 SP 信息和当前源的播放时间。 用户心跳时 Server 返回源的最新播放时间。 用户查询种子,根据 SessinID 在 Session List 中返回其他种子 。 用户停止观看节目,收回 SessionID ,并从 Session List 中删 除。 用户退出或者超时,收回 UIN ,并从 UIN List 中删除。
    21. 21. QQLIVE 服务模块介绍 SP 服务模块 登录 proxy 服务,从 proxy 服务上同步 SP 节目信息 发布源登录 SP ,发送流数据 用户登录 SP ,获取初始流数据
    22. 22. QQLIVE 服务模块介绍 Proxy 服务模块 PS 登录 proxy ,获取节目、 SP 等信息 SP 登录 proxy ,获取节目、发布源等信息 定时同 PS 、 SP 等服务同步节目时间点等信息
    23. 23. 问题讨论 流量节约? CDN 部署? 突发流量接入? ......
    24. 24. 谢谢!

    ×