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