荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: lovely (永远在我心中...), 信区: Multimedia
标  题: 校园网上的电视直播及节目录制系统的实现
发信站: 荔园晨风BBS站 (Sat Apr 22 18:01:35 2006), 站内

校园网上的电视直播及节目录制系统的实现
     摘要:流媒体技术的出现使网上电视直播成为现实,该文结合开发与应用实践
,介绍了基于Microsoft Windows Media 开发网上电视直播及节目录制系统的基本
原理和方法,使用该系统,可以在网络直播的同时,将需要的电视节目录制下来,
再结合点播系统,使录制的节目可随时供大家收看。

     关键词:流媒体 网上电视 定时录制 网上点播

    1 概述
    随着电视技术、多媒体通信技术、图像压缩和处理技术的发展,视频会议、
VOD、网络电视等成为互联网上最有吸引力的多媒体应用。流媒体技术,因为较好
地解决了网络的带宽瓶颈,因而它的出现使人们在网上观看电视直播变成现实。因
为它的便捷性和即时传播,网上电视直播越来越受到人们的欢迎,并逐渐成为一种
生活和学习时尚。
    传统的电视直播,只能覆盖某个特定地理区域,而网上的直播,可以不受地理
限制,甚至可以覆盖全球。在计算机的应用已相当普及和计算机的拥有率已相当高
的情况下,网上电视直播可以让大家在办公室、教室、宿舍、会议厅等各种场合,
只要有计算机就可以收看重要的电视节目,从而使之成为信息传播的一个重要手段
。目前,许多电视台都已经提供了在线收看功能,一些有条件的学校都设置了网上
电视的转播功能,为组织学生收看重要的电视节目提供了非常便利的手段,这样既
可以丰富学校师生的课余生活,又可以及时向师生们传播重要的信息。在收看网上
电视的同时,如果能将一些重要的节目,尤其是一些有价值的教学节目和讲座,录
制下来,放在网上,供大家随时点播和学习就更理想了,因为这样不仅可以满足无
法按时收看节目的人的需要,还可以方便大家随后随时收看。
    本文结合笔者近年来的开发和应用实践,首先简单介绍网上电视直播及录制系
统的组成与基本原理,然后介绍用VB6.0开发电视节目录制系统的关键步骤。
    2 网上电视直播及录制系统组成
    网上电视节目录制系统是在网上电视直播的同时,将需要的电视节目录制成流
媒体文件,然后通过点播系统供用户收看。

    系统采用微软公司的Windows Media 系列,包括编码器端、服务器端和客户端
,编码器端采用Windows Media Encoder,客户端采用Windows Media Player,服务
器端采用Windows 2000 Server内集成的Windows Media。编码器和播放器采用
Windows Media 7系列版本。电视节目录制软件是根据Windows Media Encoder 7
SDK,用VB6.0开发的。
    2.1 系统硬件包括:
    (1)视频源:电视直播需要将有线电视的信号接入计算机的视频采集卡,有
三种方法可以实现,一是电视机,二是录像机,三是电视卡,将电视信号接到上述
三种设备上,再将其视频输出端接到计算机视频采集卡的输入端;如果需要直播多
路电视节目,这些设备就需要多台。
    (2)数字化编码设备:主要指视频采集卡,将视频信号转换成数字信号,与
软件编码器(Windows Media Encoder)相配合,生成视频流;目前采用的比较多
的是Osprey200视频采集压缩卡。
    (3)视频编码计算机:一般中等配置的计算机,装上视频采集卡和编码软件
(如:MS Media Encoder) ,就可以担当视频编码的工作;同时应用节目录制软
件,可以实现节目的录制。如果配置多块视频采集卡,可以实现多路信号的同时直
播。视频编码工作站对CPU的要求较高,一般对于带宽为300Kbps的视频,至少需要
Pentium III以上的处理器。
    (4)视频服务器:运行流播放服务软件(如:Windows Media Service),提
供视频流的稳定广播。同时可以兼做WEB服务器,通过网络发布视音频流。不像编
码器占用大量的CPU,视频服务器的瓶颈主要是网卡,其次才是CPU与内存。对于直
播系统,需要实时传输,因此要求编码器与服务器之间有快速的连接,以保证主供
信号的质量,至少要使用100Mbps快速以太网。如果有条件的话,可以采用双网卡
,使编码器与服务器之间享有独立的连接。
    (5)客户机:普通个人计算机,安装播放器(如:Media Player),收看直播
或点播的视频流。目前的直播系统大多采用B/S结构,客户机通过浏览器就可以收
看节目。
    2.2 系统软件包括:
    (1)视频编码计算机:Windows Media Encoder7.1,视频采集卡驱动,节目
录制软件;
    (2)视频服务器:Windows 2000 Server, Windows Media;
    (3)客户机:嵌入Windows Media Player 7或以上版本的ASP网页程序。
    在电视直播系统的实际搭建中,还需要注意电视卡、视频采集卡、编码软件之
间的兼容性,即编码软件能够识别采集卡的输入。目前应用比较广泛且通用性较好
的采集卡有:Osprey系列视频采集卡,Winnov系列视频采集卡等。
    3 广播站、点播站的配置及客户端访问
    3.1 点播站的配置及客户端访问
    (1)广播站的配置:
    启动Windows 2000 Server管理工具中的Windows Media, 按照多播站“新建”
向导配置多播站,关键有三点:
    a) Windows Media 编码器的源设置为:http://IP:Port, IP是视频编码计算
机的IP地址,Port是Windows Media Encoder7.1配置的端口。
    b) 采用Windows Media Encoder7.1编码的流格式文件不属于Windows Media
Server支持的默认标准文件,需要在运行Windows Media Encoder7.1时保存一个流
格式文件(.asf),将这个文件拷贝到服务器上,在进行多播站配置的时候,添加
到多播站属性所支持的流格式文件中,否则,客户端无法访问广播的视频流。
    c) 多播站配置文件完成后,将生成两个配置文件:station.nsc 和station.
asx,其中.nsc文件是多播站配置文件,.asx是视频流发布文件,这两个文件应保
存于服务器的www根目录下,便于客户端访问。
    (2)客户端访问:
    客户端是嵌入Windows Media Player 7的网页文件,在IE浏览器中,
Windows Media Player的ActiveX控件是通过Object标签嵌入的,其主要程序代码
是:
    〈OBJECT ID=“MediaPlayer“ WIDTH=“410“ HEIGHT=“370“
    CLASSID=“CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6“〉
    〈PARAM name=“volume“ value=“80“ 〉
    〈PARAM name=“url“ value=“http://Server IP/station.nsc“〉
    〈/OBJECT〉
    3.2 点播站的配置及客户端访问
    (1)点播站的配置:
    启动Windows 2000 Server管理工具中的Windows Media, 按照单播发布点“新
建”向导配置点播站,这项配置比较简单,按照向导设即可,没有什么特别需要注
意的。假设配置的点播站名为:VodStation。
    (2)客户端访问:
    点播服务是一种一对一的服务,所以为了方便用户对节目进行选择、查询、检
索,客户端软件的开发就复杂一些,一般需要结合数据库,使用ASP等网页开发技
术设计网页。具体的要根据应用的需要开发,这里我们只将与点播流媒体相关的程
序代码列出,点播服务使用MMS协议, 网页中嵌入播放器对象后,可以通过
JavaScript子程序调用播放器,主要程序代码为:
    〈SCRIPT LANGUAGE=“JAVASCRIPT“〉
    function beginplay()
    { MediaPlayer.settings.autoStart=true;
     MediaPlayer.URL=“mms://ServerIP/VodStation/filename“;
    }
    〈/script〉
    其中,filename是要点播的流文件名,如*.wmv、*.asf、*.wma文件等。
    4 节目录制系统的开发
    网上电视节目录制系统是根据Windows Media Encoder7.1 SDK提供的开发功能
,使用VB6.0开发的。要使VB6.0支持Windows Media Encoder的方法,需要在“
Project”的“References” 中添加Windows Media Encoder的对象库,包括:
Windows Media Encoder,Windows Media Encoder Agent,Windows Media
Encoder Agent Locator等,主要程序代码为(编码器是windows media encoder
7.1):
    变量定义:
    Dim encoder As WMEncoder
    Dim encoderapp As WMEncoderApp
    Dim Outfile As IWMEncFile
    启动编码器:
    Set encoderapp = New WMEncoderApp
    Set Encoder = encoderapp.Encoder
    Encoder.EnableAutoArchive = False // 关闭编码器自动记录文件功能
    Encoder.Load (econfig.wme) // .wme是编码器的配置文件
    Encoder.PrepareToEncode True
    Encoder.Start
    停止编码器:Encoder.Stop
    开始文件记录及结束文件记录:
    Set Outfile = Encoder.File
    Outfile.LocalFileName = filename // 设定输出文件名
    Encoder.Archive WMENC_ARCHIVE_LOCAL, WMENC_ARCHIVE_START
    Encoder.Archive WMENC_ARCHIVE_LOCAL, WMENC_ARCHIVE_STOP
    同时,使用VB6.0中的定时器(Timer)控制录制开始和结束的时间,一般可以
使用两个定时器:一个用来测定系统时间是否已经到了录制时间,另一个用来设定
文件的录制时间。
    网上电视节目录制系统一般是在编码工作站上完成的,常用的录制策略有:
    (1) 定时录制:按照用户设定的录制起止时间,到时间就自动录制节目;
    (2) 循环定时录制:适合录制一些固定栏目的节目,即每到该栏目的播出时
间就进行自动录制,这时,需要考虑录制文件名的自动生成;
    (3) 随机录制:适合录制一些临时播出的节目,当用户选择该项功能时,就
可以立即开始录制,并设定录制的时间长度。

    5 结束语
    网上电视直播和录制系统的应用,极大地丰富了互联网的多媒体资源,使得广
大用户在上网的同时,可以根据需要收看电视节目。但是尽管网络电视具有传统电
视所不能比拟的优越性,目前它还面临着亟需突破的发展瓶颈。最突出的一个问题
就是网络电视的发展还受到很多基础设施的制约,只有当速度达到2M/秒的时候,
播放视频节目才有可能像电视一样清楚。相信随着流媒体技术的日益成熟,编码压
缩方法的进一步发展和完善,网络带宽的进一步拓宽,多媒体资源的网络应用将更
加广泛,效果更加理想。在不久的将来,人们一定可以在互联网上看到更加流畅、
质量更高的视频信息。
--

                    ^_^忍一时风平浪静,退一步海阔天空~!^_^

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM ZJ803]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店