2009.05.Windows Media 网络直播 Howto

Preview:

DESCRIPTION

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

Citation preview

Windows Media 网络直播

HOWTO

上海交通大学网络信息中心姜开达2009.5.1

Windows Media 系统架构

Media ServerOS : Windows Server 2

003 / 2008

卫星信号

CATV

现场直播信号

网络流媒体

Media EncoderOS:Windows XP

负载均衡

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 编码设置(二)

这里视频源用电视卡示例

在这里调频道

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 编码设置(十二)

务必把 CPU 负载控制在 85%以内避免出现 CPU 来不及处理而引起的丢帧现象

平均 fps 要尽量接近预计 fps ,否则就要做调整来降低 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 EncoderAgentDim EncoderNames Dim sNameDim srcVid

Set EncoderAgent = CreateObject("WMEncAgt.WMEncoderAgent", "\\127.0.0.1")Set EncoderNames = EncoderAgent.EncoderNamesCollectionsName = EncoderNames.Item(0)Set Encoder = EncoderAgent.GetEncoder(sName)

set srcVid=encoder.SourceGroupCollection("wmv").Source(2, 0)srcVid.channel=25

用户自由选择控制 Encoder 换频道

广播电台网络直播(一)

1 台 PC 可接多块 声卡做多路音频接收信号源可以为调频收音机、带 FM 的 MP3等

广播电台网络直播(二)

选择适当声卡

广播电台网络直播(三)

128 kbps立体声已接近 CD 音质

广播电台网络直播(四)

由于仅涉及到音频编码,对编码 PC 性能要求较低1 台 P4 1.7 G , 256M 内存的 PC 可以同时编码 5 路 128kbps广播

广播电台网络直播(五)

校内外活动直播示例

DV

特技台 笔记本 Encoder

1394线

校园网

Media Server

使用特技台可以实现多机位切换,字幕叠加等各种特效,大型活动必备

校内已网上直播几百场校园活动

现场实时加字幕,各种特效切换

2008 年 10 月

校迎新晚会

直播画面

Media Server 配置获取 Encoder 的信号

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.0route add -p 202.120.0.0 mask 255.255.248.0 202.120.2.254 IF 0x10003route delete 202.120.8.0route add -p 202.120.8.0 mask 255.255.248.0 202.120.2.254 IF 0x10004route delete 202.120.16.0route add -p 202.120.16.0 mask 255.255.248.0 202.120.2.254 IF 0x10005route delete 202.120.24.0route 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 )

DNS 域名多 IP 负载均衡

同一域名对应多个 IP地址下面例子 media4.sjtu.edu.cn 对应 2 个 IPv6 地址

一步到位,使用万 M 网卡

PCI-E 4x 接口就可以提供 2GB/秒的带宽价格稍贵(多模光网卡 <1 万)多核服务器性能足够,值得考虑

IPTV 在校园网内大有发展前景

更多介绍请访问 http://ipv6.sjtu.edu.cn/doc.php

谢 谢!

kaida@sjtu.edu.cn