Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2009.05.Windows Media 网络直播 Howto

2,537 views

Published on

上海交通大学网络直播指南

Published in: Education
  • Be the first to comment

2009.05.Windows Media 网络直播 Howto

  1. 1. Windows Media 网络直播 HOWTO 上海交通大学网络信息中心 姜开达 2009.5.1
  2. 2. Windows Media 系统架构 Media Server OS : Windows Server 2003 / 2008 卫星信号 CATV 现场直播信号 网络流媒体 Media Encoder OS:Windows XP 负载均衡
  3. 3. Windows Media 技术 <ul><li>支持 IPv4 、 IPv6 、 unicast 、 multicast </li></ul><ul><li>高性能,可扩展性好,能够支持数万并发流 </li></ul><ul><li>可以接收转发部分网络流 (http 、 rtsp) </li></ul><ul><li>Windows Server 操作系统自带组件,无需再投入 </li></ul><ul><li>微软技术支持,有生命力 </li></ul>
  4. 4. 应用场景 <ul><li>电视台网络直播 </li></ul><ul><li>广播电台网络直播 </li></ul><ul><li>校内外活动网络直播 </li></ul><ul><li>课程、讲座、报告、晚会、访谈、大型活动…… </li></ul>
  5. 5. 学生宿舍收看网络电视 <ul><li>交大学生在宿舍通过校园网收看十七大报告网络直播 </li></ul>
  6. 6. 小规模使用转播电视 <ul><li>电视卡 </li></ul><ul><li>电视盒+视频捕捉卡 </li></ul>
  7. 7. 大规模使用转播电视(一) <ul><li>多台编码 PC </li></ul><ul><li>对内存要求不高,主要是依靠 CPU 软压 </li></ul><ul><li>每台配 1 ~ 3 块视频捕捉卡 </li></ul><ul><li>多路电视解调器 </li></ul><ul><li>输入一路 CATV RF 射频信号, </li></ul><ul><li>输出多路电视频道的视频和音频信号到多块视频捕捉卡 </li></ul>
  8. 8. 大规模使用转播电视(二) <ul><li>另一种推荐的成本更低,效果不错的方案是使用电视卡 </li></ul><ul><li>每台 PC 配 1 ~ 2 块电视卡 如果 1 块电视卡, 1 路音频输出进本机集成声卡 如果 2 块电视卡,有 2 路音频输出,需要再加 1 块声卡 </li></ul>
  9. 9. Media Encoder 编码器 这个不推荐 推荐这个 x32 的
  10. 10. Media Encoder 编码设置(一)
  11. 11. Media Encoder 编码设置(二) 这里视频源用电视卡示例 在这里调频道
  12. 12. Media Encoder 编码设置(三) 推荐服务器主动来连接 Encoder HTTP 端口可自行定义
  13. 13. Media Encoder 编码设置(四) <ul><li>先点下一步跳过设置,之后还是要做很多调整的 </li></ul><ul><li>既然是网上直播,还是 CBR 固定码率 ( 恒定比特率 ) 比较合适 </li></ul>
  14. 14. Media Encoder 编码设置(五) 看需要选择是否存档
  15. 15. Media Encoder 编码设置(六) <ul><li>添加相关备注信息, </li></ul><ul><li>这些信息在用户收看直播时可以看到 </li></ul>
  16. 16. Media Encoder 编码设置(七) 点击视频源-配置 在弹出窗口可以更换频道
  17. 17. Media Encoder 编码设置(八) 压缩默认比特率太低 需要重新加以编辑调整
  18. 18. Media Encoder 编码设置(九) 这个务必要记住勾选 建议编解码器都使用 Windows Media 9
  19. 19. Media Encoder 编码设置(十) <ul><li>多核 CPU 可以支持 720 × 576 , 1000k bps 以上码率进行编码 </li></ul>
  20. 20. Media Encoder 编码设置(十一) 对于大尺寸画面 ( 比如 640*480 以上 ) 取消隔行扫描是必选的 否则输出可能出现严重的拉丝现象
  21. 21. Media Encoder 编码设置(十二) 务必把 CPU 负载 控制在 85 %以内 避免出现 CPU 来 不及处理而引起 的丢帧现象 平均 fps 要尽量 接近预计 fps , 否则就要做调整 来降低 CPU 负载
  22. 22. Media Encoder 编码设置(十三) 如果丢帧数在快 速持续增长,就 必须采取措施来 降低 CPU 负载
  23. 23. Media Encoder 编码设置(十四) <ul><li>降低 CPU 负载的几种方式 </li></ul><ul><li>1. 使用主频更高的多核 CPU </li></ul><ul><li>2. 降低输出分辨率到 640×480 或 576×432 或 384×288 </li></ul><ul><li>3. 视频编码使用 Windows Media Video 8 (不建议这么做) </li></ul><ul><li>4. 关闭视频面板,取消预览 </li></ul><ul><li>5. 一台 PC 只开一个 Encoder ,压缩一路源 </li></ul>
  24. 24. Media Encoder 编码设置(十五) 如果保持 绿色区间 表示 输入音频 信号正常 如果出现 红色区间 黄色区间 表示 输入音频 信号过强 需要调整 调节音量控制 可以改变输入 音频信号强度
  25. 25. Media Encoder 编码设置(十六) <ul><li>如果 CPU 足够强,在 Encoder 的 工具-选项-性能 </li></ul><ul><li>-广播时:可以把滑块 ( 红色区域 ) 向较好质量方向拖动 </li></ul><ul><li>这样可以提高输出视频质量,但同时会加大 CPU 利用率, 注意 CPU 利用率务必不要超过 85 % ,以避免丢帧 </li></ul>
  26. 26. 电视卡的频道更换 vbs 脚本 <ul><li>CHANNEL.vbs 内容,可改写为 ASP 来配合远程自动调用 </li></ul><ul><li>(需要适当修改 DCOM 配置 Encoder 部分) </li></ul><ul><li>Dim Encoder </li></ul><ul><li>Dim EncoderAgent </li></ul><ul><li>Dim EncoderNames </li></ul><ul><li>Dim sName </li></ul><ul><li>Dim srcVid </li></ul><ul><li>Set EncoderAgent = CreateObject(&quot;WMEncAgt.WMEncoderAgent&quot;, &quot;27.0.0.1&quot;) </li></ul><ul><li>Set EncoderNames = EncoderAgent.EncoderNamesCollection </li></ul><ul><li>sName = EncoderNames.Item(0) </li></ul><ul><li>Set Encoder = EncoderAgent.GetEncoder(sName) </li></ul><ul><li>set srcVid=encoder.SourceGroupCollection(&quot;wmv&quot;).Source(2, 0) </li></ul><ul><li>srcVid.channel=25 </li></ul>
  27. 27. 用户自由选择控制 Encoder 换频道
  28. 28. 广播电台网络直播(一) <ul><li>1 台 PC 可接多块 声卡做多路音频接收 </li></ul><ul><li>信号源可以为调频收音机、带 FM 的 MP3 等 </li></ul>
  29. 29. 广播电台网络直播(二) 选择适当声卡
  30. 30. 广播电台网络直播(三) 128 kbps 立体声已接近 CD 音质
  31. 31. 广播电台网络直播(四) <ul><li>由于仅涉及到音频编码,对编码 PC 性能要求较低 </li></ul><ul><li>1 台 P4 1.7 G , 256M 内存的 PC 可以同时编码 5 路 128kbps 广播 </li></ul>
  32. 32. 广播电台网络直播(五)
  33. 33. 校内外活动直播示例 DV 特技台 笔记本 Encoder 1394 线 校园网 Media Server 使用特技台可以实现多机位切换, 字幕叠加等各种特效,大型活动必备
  34. 34. 校内已网上直播几百场校园活动
  35. 35. 现场实时加字幕,各种特效切换 2008 年 10 月 校迎新晚会 直播画面
  36. 36. Media Server 配置获取 Encoder 的信号
  37. 37. Media Server 支持三种传输协议 <ul><li>HTTP </li></ul><ul><li>默认关闭 </li></ul><ul><li>MMS </li></ul><ul><li>默认开启 </li></ul><ul><li>RTSP </li></ul><ul><li>默认开启 </li></ul>
  38. 38. 大部分网上 mms 信号都可以用 rtsp 方式获取 mms://video.bupt.edu.cn/HNWS = rtsp://video.bupt.edu.cn/HNWS = mms:// 你的 MediaServer 地址 /HNWS 可以用来转发 其他网络电视 的 mms 信号到 本地网络
  39. 39. 廉价的 WindowsMedia 编码 PC <ul><li>编码用一批 PC 就可以了 </li></ul><ul><li>最近买的几台编码 PC 报价单如下,单台总价不过 2099 CPU : Intel 酷睿 2 双核处理器 E7400 ( 2.8GHz ) 799.00 </li></ul><ul><li>内存: 2G DDR2 138.00 主板: Intel G31 /LGA 775 379.00 </li></ul><ul><li>硬盘: 160G SATAII 299.00 </li></ul><ul><li>电视卡: PCI 接口 175.00 </li></ul><ul><li>电源:额定 300W , 最大功率 400W 209.00 </li></ul><ul><li>机箱 100.00 </li></ul>
  40. 40. PC 编码输出画面接近模拟电视 <ul><li>使用多核 CPU 压缩,可以输出 720×576 分辨率画面 </li></ul>
  41. 41. 视频直播服务器性能分析 <ul><li>随着服务器硬件性能显著提升, CPU ,内存都不再成为瓶颈 </li></ul><ul><li>服务器接入带宽成为瓶颈 </li></ul><ul><li>通常服务器为 2 块千 M 网卡,无法发挥全部能力 </li></ul>
  42. 42. 廉价的 WindowsMedia 直播服务器 <ul><li>2009 年 4 月 22 日截图:老机器 单 CPU P4 主频 2.8G(HT) 2G 内存 输出 800M 视频直播流量时 CPU 利用率仅为 25 % </li></ul><ul><li>全新的更高性能的使用 酷睿 2 四核 CPU 的 PC 价格在 2500 以内 </li></ul>
  43. 43. 高性能的 Windows Media Server 峰值输出 3Gbps 流量
  44. 44. 高性能服务器可以输出高带宽 <ul><li>下图的输出流量主要由两台四核 1U 服务器产生 </li></ul>校内某台视频服务使用二层接入万 M 交换机日流量图
  45. 45. 使用多块网卡来均衡输出流量 <ul><li>服务器使用多块千 M 网卡 </li></ul>
  46. 46. PCI Express 扩展接口简介 <ul><li>PCI Express 是新一代的总线接口 </li></ul><ul><li>支持热插拔 </li></ul><ul><li>PCI Express 1x 500MB/S </li></ul><ul><li>PCI Express 2x 1GB/S </li></ul><ul><li>PCI Express 4x 2GB/S </li></ul><ul><li>PCI Express 8x 4GB/S </li></ul><ul><li>PCI Express 16x 8GB/S </li></ul><ul><li>目前主流服务器扩展接口普遍采用了 PCI-E 4x 或 8x </li></ul>
  47. 47. 服务器静态路由均衡流量(一) <ul><li>route print 命令获取所有网卡的 Interface List </li></ul><ul><li>每块网卡对应一个类似 0x10003 的编号 </li></ul>
  48. 48. 服务器静态路由均衡流量(二) <ul><li>每块网卡配置一个 IP ,服务器上写一个 bat 批处理脚本 </li></ul><ul><li>每次重新启动后需要重新运行一遍脚本 </li></ul><ul><li>可以精确控制每块网卡的流量 </li></ul><ul><li>脚本示例如下,对不同网段用户返回的流量从不同网卡出去 </li></ul><ul><li>其中 202.120.2.254 为网关, 0x10003 - 0x10006 为网卡编号 </li></ul><ul><li>route delete 202.120.0.0 </li></ul><ul><li>route add -p 202.120.0.0 mask 255.255.248.0 202.120.2.254 IF 0x10003 </li></ul><ul><li>route delete 202.120.8.0 </li></ul><ul><li>route add -p 202.120.8.0 mask 255.255.248.0 202.120.2.254 IF 0x10004 </li></ul><ul><li>route delete 202.120.16.0 </li></ul><ul><li>route add -p 202.120.16.0 mask 255.255.248.0 202.120.2.254 IF 0x10005 </li></ul><ul><li>route delete 202.120.24.0 </li></ul><ul><li>route add -p 202.120.24.0 mask 255.255.248.0 202.120.2.254 IF 0x10006 </li></ul>
  49. 49. 多网卡聚合均衡流量(一) <ul><li>Intel 网卡( PROSet 分组功能) </li></ul><ul><li>静态链接聚合、 IEEE 802.3ad 动态链接聚合 </li></ul>
  50. 50. 多网卡聚合均衡流量(二) <ul><li>Broadcom 网卡( Broadcom Advanced Control Suite 3 ) </li></ul>
  51. 51. DNS 域名多 IP 负载均衡 <ul><li>同一域名对应多个 IP 地址 </li></ul><ul><li>下面例子 media4.sjtu.edu.cn 对应 2 个 IPv6 地址 </li></ul>
  52. 52. 一步到位,使用万 M 网卡 <ul><li>PCI-E 4x 接口就可以提供 2GB/ 秒 的带宽 </li></ul><ul><li>价格稍贵(多模光网卡 <1 万) </li></ul><ul><li>多核服务器性能足够,值得考虑 </li></ul>
  53. 53. IPTV 在校园网内大有发展前景
  54. 54. 更多介绍请访问 http://ipv6.sjtu.edu.cn/doc.php
  55. 55. 谢 谢! [email_address]

×