流媒体直播系统范例6篇

流媒体直播系统

流媒体直播系统范文1

关键词 Windows Media 编码器 流媒体分发协议 流媒体服务器配置

1 Windows Media 流媒体简介

Windows Media Series 是Microsoft提出的流信息解决方案,其主要目的是在Internet和Intranet上实现包括音频、视频信息在内的多媒体流信息的传输。Microsoft Windows Media Series是一个能适应多种网络带宽条件的流式多媒体信息的平台,提供包括流式媒体的制造、、管理和播放的一整套解决方案,另外还提供了开发工具包(SDK)供二次开发使用。

Windows Media Encoder 9功能强大,可以进行文件格式转换、实况流编码、屏幕捕捉、网络流化等。通过SDK,可以对编码器软件进行定制(包括界面定制、编码任务的计划、批量处理等)。本系统利用Vc++6.0调用Windows Media Encoder 9 SDK中提供的各种接口开发定制一个流媒体网络教学直播系统。

2 编码器模块功能设计

Windows Media Encoder SDK是一套完全基于COM的开发系统, SDK提供一系列接口完成特定的功能。在使用接口类之前,先调用CoInitialize(NULL)函数初始化COM管理器,结束时调用CoUninitialize()语句进行反初始化。

创建编码应用程序的基本步骤如下:

(1) InitEncode(),功能::初始化编码器对象

//初始化COM库,得到指向IWMEncoder接口的指针

hr =Colnitialize(NULL);

hr =CoCreatelnstance(CLSID_WMEncoder,NULL,CLSCTX_INPROC_SERVER,IID_ IWMEncoder,(void**)&pEncoder);

(2) SetupSource(int type),功能:建立编码源或源组

源指的是欲编码的多媒体流,源可以来自音频、视频、网页和脚本。多个源的集合称为源组,编码过程将维持这些源之间的同步关系。在以前的版本中,源组必须至少包含一路音频,但在9.0版本中可以单独编码视频,因而可以更有效地利用带宽。通过IWMEncSource- GroupCollection接口处理“源组集合”,IWMEnc- SourceGroup接口处理“源组”,IWMEncSource处理各路“媒体流”。在源组中添加不同的多媒体源,可实现本系统视频采集、屏幕采集、流媒体文件转换功能。

下面以屏幕捕获源为例介绍添加源的过程。

在Encoder 9.0 SDK中,将屏幕捕获作为一个插件,并专门提供了Windows Media Video 9 Screen 编解码器,用来对屏幕捕获过程进行优化。使用该种方式捕获的屏幕画面清晰,可以很好地处理位图图像和屏幕动作,特别适合于软件演示或操作培训等课程的教学。

hr= pEncoder->get_ SourceGroupColection(&pSrcGrpCol1);

// 得到指向源组集合的指针 pSreGrpColl

hr=pSrcGrpColl->Add(CComBSTR("SG-l"),&pSrcGrp);

// 增加一个名为SG1的源组。

hr=pSrcGrp->AddSource(WMENC_VIDEO,&pSrcVid);

// 在源组中加入视频源。

hr=pSrcVid->SetInput(CComBSTR("ScreenCap://ScreenCapture1");

// 将屏幕捕获作为视频源。

(3) SetupProfile():选择或设置流编码配置文件

Profile文件是一个描述流配置信息的数据集合,包括帧速率、编码器、缓存窗口、媒体属性(视频宽度、高度、压缩格式、质量等)。用来控制输出流媒体文件的属性。对编码器的配置主要是设定编码器的类型、图像大小、输出流的速率等,最终编码内容的质量好坏和配置文件有很大关系。Media Encoder 9.0内置了适合不同应用环境的配置文件,可在IWMEncProfile中直接选用。若想适合特定的网络应用,可对其中的全部参数重新定制,此时要使用IWMEncProfile 2接口对象。

hr=CoCreateInstance(CISID_WMEncProfile2,NULL ,CLSCTX_IN_PROC_ SERVER,IID_ IWMEncProfile2,(void**)&g_pPro);

// 创建WMEncProfile2对象

hr=g_pPro->put_ValidateMode(VARIANT_TRUE);

// 指明配置在创建之后立刻生效

hr=g_pPro->put_ ProfileName(CComBSTR(“Custom Screen Capture Profile”));

// 提供该配置的文件名

hr=g_pPro->put_ContentType(17);

// 设置编码内容,取值为17表示编码内容既包含视频,又包含音频。

hr=g_pPro->put_VBRMode(WMENC_VIDEO,0,WMENC_PVM_NONE);

//设置编码模式,可变编码模式或常比特率(CBR)模式。

hr=g_pPro->AddAudience(200000,&pAudnc);

// 增加一个“听众”,通过IWMEncAudienceObj对象添加目标听众,目标听众即客户端的网络状况设置。

pAudience->put_VideoCodec(0,lCodecIndex);

// 设置目标听众的编解码器,通过枚举得到屏幕编解码器的四字节字符“MSS2”的索引值lCodecIndex。

pAudience->put_ VideoBufferSize(0,5000);

//设置编码缓冲区长度为5秒。

pAudience->put_VideoFPS(0,VIDEOFRAMERATE * 5000);

// 设置视频帧率,屏幕捕捉设为5fps,即每秒5帧。

pAudience->put_VideoImageSharpness(0,IMAGEQUALITY)

// 设置视频质量。

g_pPro->Validate(); //确定配置生效。

hr=pSreGrp->put_Profile(CComVariant(g_pPro ));

// 设定源组使用该配置文件。

(4)启动编码过程

hr=pEncoder->PrepareToEncode(VARIANT_TRUE);

hr=pEncoder->Start();

(5)StatuCallBack();编码状态回调函数

编码过程是一个异步过程,编码开始后,应用程序启动一个专门的线程来处理编码过程。通过_IWMEncoderEvents 回调接口捕捉事件,响应编码过程配置信息及编码状态的改变。

3 流媒体内容分发协议

Windows media Service 支持三种网络传输协议: UDP,TCP和HTTP。除了标准的传输协议,Windows mediaService使用Microsoft Media Server (MMS)和Media Stream Broadcast Distribution (MSBD)两种协议在服务之间传输信息和单播数据。

(1) MMS协议

MMS(Microsoft Media Server)多媒体服务协议是微软定义的一种流媒体传输协议,用来访问并流式接收Windows Media服务器中的ASF文件,MMS协议用于访问Windows Media点上的单播内容的协议,是连接Windows Media单播服务的默认方法。如果想要对点播的内容进行播放控制,则必须使用MMS协议。

(2) MSBD协议

MSBD协议是Media Stream Broadcast Distribution的缩写,称为流媒体广播分发协议。该协议用于在Windows Media编码器和Windows Media服务器之间分发流,并在服务器之间传递流。MSBD协议是面向连接的协议,对流媒体最佳。MSBD协议主要用于测试客户端、服务器连接和ASF的质量,但不是接收并播放ASF内容的主要方法,对于流媒体内容的接收主要使用MMS协议。

MMS协议应用于Media Server和客户端之间,MSBD协议则用于Encoder编码器和Server服务器之间传递文件。但Encoder7.0以后的版本,已不支持MSBD协议,改用HTTP协议,如图1所示。

例:在Windows Media Encode 9 SDK中,将生成的流媒体内容利用本机端口广播的方法。

hr=pEncoder->get_Broadcast(&pBrdCst);

// 创建IWMEncBroadcast对象

Hr=pBrdCst->put_PortNumber(WMENC_PROTOCOL_HTTP, 1054);

// 指定使用HTTP协议和空闲端口1054实时广播教学内容

在实时教学中,可预先在网上发出听课通知,学生端通过网络教学平台网站实时观看教学内容。客户端也可直接使用Windows Media Player中的“文件”/“打开URL”命令,在URL地址栏内输入MMS://编码器计算机IP地址:端口号”,使用MMS协议接收流式内容。

4 配置Windows Media流媒体服务器

(1)启动Windows Media Server

从“开始”/“程序”/“管理工具”中选择“服务”菜单项,启动Windows Media 服务,在服务列表中,与Windows Media Service有关的服务一共有四项,分别是Windows Media Monitor Service、 Windows Media Program Service 、Windows Media Station Service、Windows Media Unicast Service。在使用Windows Media Service之前,必须先启动这些服务,才可启动“Windows MediaService”配置程序。

(2) 配置Windows Media 服务器,建立直播广播点

在开始传输内容之前,必须启动Windows Media 管理器,对Windows Media Services服务器进行设置,添加并配置点,然后设置内容。

在Windows Media 管理器对话框中,右击“点”,选择“添加点(高级)”命令,打开“添加点”对话框。在“点类型”选项组中选择“广播”。广播有两种方式,即单播广播和多播广播,前者每个客户端都与服务器建立一个连接,会产生巨大数据冗余,占用较多网络带宽。而多播下服务器会将内容交付到网络上的D类IP地址,网络上的任何客户端都能接收流,可大大降低网络带宽的消耗,由于大多数路由器不支持组播,因此在同一网段内使用IP多播形式,而在跨网段的情况下系统采用服务再分发的方法来解决多播的问题。

参考文献

[1]肖磊,王志坚. Windows Media编程与应用.北京:清华大学出版社.

[2]李文锋等.基于校园网的流媒体点播系统的设计与实现.科学技术与工程,2005,2.

[3] Microsoft Corporation.Windows Media Encoder 9.0 SDK开发者文档.

流媒体直播系统范文2

电视节目与视频网站的融合联播越来越普遍,越来越受观众及用户的欢迎。那么,电视节目跟视频网站究竟是怎样融合到一起的呢?其实,这就是流媒体网络直播的产物。随着国家三网融合步伐的加快、全媒体时代的到来,流媒体应用越来越广泛,流媒体产品市场迅速崛起。北京金中恒紧随市场需求而动,融合EFP现场导播及流媒体网络直播理念,第一时间引进了在流媒体领域耕耘多年的美国Viewcast品牌,专注于流媒体领域产品与解决方案的推广。

Viewcast延伸了传统EFP移动导播系统的应用空间,提供了全新概念的摄制模式。现场制作人员可以轻松实现将活动现场画面实时推送到网络上,观众也可以方便的通过电脑或手机及iPad等移动终端实时收看直播节目,并且参与网络互动。系统结构图如下:

以南京电视台网络直播为例,跟大家分享金中恒在网络电视台搭建及流媒体现场直播的案例和经验。

作为江苏省第二大电视媒体,南京电视台不仅为南京及其周边地区的广大电视观众奉献了精彩纷呈的电视节目,而且在国家大力发展三网融合的背景下,南京电视台积极开展IPTV、互联网电视、网络电视台等新媒体业务。2012年金中恒为南京台最新推出的《亮见》栏目调试、部署兼具专业性和技术领先性的Niagara 4100高清流媒体编码系统,《亮见》是全国首个和网络同步直播、深度合作的全媒体互动新闻栏目。这是继腾讯奥运直播、南方传媒手机视频直播、华东师大校园高清直播等项目之后,Niagara 4100的又成功应用。

流媒体直播系统范文3

【关键词】多媒体 流媒体技术 点播 直播 教育平台 网络电视

1 引言

基于流媒体的多媒体网络教育平台是为适应高校信息化、网络化教学的新趋势而提出的,目的是通过先进成熟的计算机技术、网络技术、多媒体技术、流媒体技术以及现代教育技术等信息技术建立一个高质量、高效率、智能化的教育系统平台,为全校师生提供一个开放性、共享性和自主性的教学资源环境,以减轻教师过往繁重的备课工作任务,提高学生的课堂教学质量。另外,网络教育突破传统教育过程在时间和空间上的限制,实现教学资源在更大范围内的共享,节约宝贵的教育经费。综合分析校园网环境资源特点,从实用性和经济性等方面考虑,构建基于流媒体的多媒体网络教育平台是当前校园网应用系统资源建设的迫在眉睫的任务。

2 系统平台设计与相关技术

本系统体系结构采用b/s模式,通过浏览器直接访问web服务器。

2.1 功能模块设计

通过对高校个各教学部门的调研,根据各业务流程、数据流的分析,初步拟定系统平台分前台和后台来设计,前台用户需要设计的五个功能模块:用户身份验证、课件点播、教学直播、网络电视和电影在线,根据前台的五个功能模块,后台管理也相应有五个模块:用户管理、课件点播管理、教学直播管理、网络电视管理、电影在线管理等。

2.1.1前台功能模块

(1)用户身份认证。用户填写个人信息,注册到系统中,然后凭借注册的用户名和密码登录到系统中,注册正确则允许登录系统进行操作,否则不能登录。

(2)课件点播。主要提供用户上传、浏览、查询、引用、播放课件等。课件由教师用户或系统管理员用户上传上来,按照课程名称和教师姓名分类,学生用户登录后可以查询、浏览播放课件,以便进行自主学习。

(3)教学直播。向用户提供课堂教学和会议的现场直播和录制等。在教学直播页面上放置了多个播放器,其中一个作为主播放器,其他一些播放器作为待用播放器,对教学其他环节或者其他会议进行实时的播放,以便用户能够完整地观看到整个场景。

(4)网络电视。提供实时的电视台的播放和录制等。它能够实时的转播各种电视节目,并能够将节目录制下来,作为存档和课件使用。

(5)电影在线。提供视音频文件的点播和录制等。这些文件由专门的管理员进行上传维护,并对影片做了不同的分类。用户可以根据自己的喜好,自主选择搜索自己所要观看的电影节目,对这些影片也提供下载和录制功能,目的是为了让用户能够对音视频文件进行再编辑以作为其他教学资源使用。

2.1.2后台功能模块

(1)用户管理。主要提供用户的添加、删除、修改以及用户用户权限的设置等功能。管理员可对教师用户和学生用户的个人信息进行编辑,添加、删除用户等管理操作。

(2)课件点播管理。主要是对课件的管理。管理员审核课件申请单、制作课件、编辑课件、存储保管课件、课件等等管理操作。

(3)教学直播管理。主要是对中转服务器进行管理,确定对流媒体文件是否进行直播,并确定直播的范围。中转服务器是指我们在用户电脑与目地服务器之间建立一系列vpn线路服务,用于优化线路,调节节点,避开线路中拥挤的节点,以达到减低掉包率,提高网速的目的。

(4)网络电视管理。主要是对网络电台的管理,包括电台的增删以及相应中转服务的管理。管理员先将有线电视的模拟信息流利用相关工具转化为数字信息流,然后存储在视音频服务器,边转化边直播。

(5)电影在线管理。主要是对视频和音频文件的管理,如增删、分类等。

2.2 相关技术

2.2.1流媒体技术

(1)流媒体的组成:编码工具、流媒体数据、服务器、网络、播放器。

(2)流媒体技术原理:流媒体应用的一大特点是流式传输,要求客户具备边接收边播放的能力。

(3)流媒体文件播放流程:信号源——>采集设备——>pc机音视频采集卡——>中转服务器—

—>web页面——>嵌入式流媒体播放器。

2.2.2如何将流媒体播放器嵌入系统中使用

我们设计要将流媒体播放器作为控件嵌入到网页上,这就需要控件能够在用户打开网页时实现自动安装。我们首先创建一个独立于平台的inf文件,它是个文本文件,可以用它来指定运行控件所需要下载和呈交的文件。然后采用windows自带的iexpress工具将播放器控件和前面所创建的inf文件一起打包创成cab文件,即软件包。当用户访问网页时,发现他的系统中没有安装该控件或者控件版本较低时,浏览器就会自动下载此软件包,完成控件的安装和更新。在实现此过程中还有一个不可缺少的过程就是在使用控件的网页中插入语句: 其中codebase属性是用来指定*.cab文件的相对路径。

3 总结

本文在查阅了大量参考文献的基础上,运用数据库技术和网络远程控制技术以及流媒体技术,设计了基于流媒体的网络多媒体教学资源平台系统,将大量的视音频教学资源通过访问web服务器在全校范围内进行点播或直播,这种只通过访问视音频服务器就能得到的资源访问方式大大简化了客户端的操作难度,使得不同电脑基础的用户都能正常使用该系统,为提高教学质量和学习环境质量,有一定的实用价值。

参考文献

[1]潘星.大学城资源共享的思考[j].资源与人居环境,2008(12).

[2]李孟庭.高校vod点播系统的选用[j].中国现代化教育装备,2009(04).

[3]丁纪可.远程教育流媒体资源库建设的思考[j].中国科教创新导刊,2009(04).

[4]魏红.流媒体技术及教育应用[j].科技信息,2008(03).

流媒体直播系统范文4

关键词:P2P 网络教学 直播

网络教育是一种基于互联网的传播手段进行学习与教育的一种新型的教育培训方式。计算机技术、多媒体技术和互联网技术的发展和普及为网络教育提供了丰富的教育手段和教育资源,网络教育的自主性、开放性等特点导致了庞大的网络教育用户群体[1]。

然而我国的网络教育总体仍处于起步阶段,这些网络教育系统都是基于C/S或者B/S结构,教育资源位于中央服务器上,学员通过客户端(或浏览器)学习。如果学员之间想互相交流,消息必须经过服务器的转发。这种形式的优点是可以容易地实现用户管理和安全控制等功能,系统可维护性好;缺点是这些系统普遍存在着交互性差、个性化差、实时性差、服务器负载大等问题,未能充分利用互联网带来的沟通方便和资源丰富等特点,尤其在网络上的教学直播质量更会受到这种传统模式的很大限制。

1.P2P技术

P2P技术是近年来兴起的一种网络技术,它是一种用于不同PC用户之间、不经过中继设备直接交换数据或服务的技术。P2P技术模式弱化了服务器的作用,甚至取消服务器。所有接入P2P网络的设备都作为一个对等点而组成一个对等网,各对等点既可作为信息的提供者(服务方),也可作为信息的消费者(客户方)。各对等点之间可任意通信而不需通过服务器的中转。每个人可以直接连接到其他用户的计算机,并进行文件的交换,而不需要连接到服务器上再进行浏览与下载。

目前,在我国网络教学直播系统中,基本都是采用了C/S或B/S的架构来实现教学的直播服务,而基于单播的C/S架构的模型并不适合流媒体大规模数据的分发,当连接上服务器的用户过多的时候就会影响直播的服务质量,造成服务器的拥塞。为了提高网络教学中流媒体应用的QoS,基于P2P应用的P2P流媒体技术被提了出来,它把P2P技术应用到流媒体的传输上,每个流媒体用户也是一个P2P中的一个节点。在目前的网络教学直播系统中用户之间是没有任何联系的,但是采用P2P技术后,用户可以根据他们的网络状态和设备能力与一个或几个用户建立连接来分享数据,这种连接能减少服务器的负担和提高每个用户的视频质量。P2P技术在流媒体应用别适用于一些热门事件,即使是大量的用户同时访问流媒体服务器,也不会造成服务器因负载过重而瘫痪。此外,对于多人的多媒体实时通信,P2P技术也会对网络状况和视频质量带来很大改进。

作为应用于教学直播的平台,连接的用户数量必然没有大规模直播时(例如国内国际重要新闻,重大赛事直播以及娱乐直播)所连接的用户多,教学直播基本上用户数量维持在几十至数百上千的范围内,节点的数量制约了教学直播中完全采用P2P网络传输的质量,所以在这个规模下,本文设计的改进型P2P流媒体模型功能在于辅助提升原始C/S模式的传输质量。

2.典型P2P模型概述

目前P2P流媒体模型主要可以分为两大类:基于树状拓扑协议及扩展的模型和基于Gossip协议的模型(Gossip-based protocol)[2]。

最初基于树状拓扑协议及扩展的模型把参与P2P流媒体的节点组织成一棵组播树,树的父节点负责为子节点传送数据。目前,典型的模型是基于Gossip协议的模型(DONet)。

所有树状拓扑协议及扩展的模型都显式地定义了节点与节点之间的关系,而在基于Gossip协议的系统模型中,节点之间不需要构造复杂的拓扑关系。基于Gossip的算法是目前流行的在P2P系统中分发消息的算法,一个典型的Gossip算法中,节点随机地给系统中的部分节点发送消息,每个接收到消息的节点继续向其它节点发送消息,重复这个过程,直到消息被发送给系统中的所有节点。基于Gossip协议的P2P流媒体系统并不显式的构造节点之间的拓扑结构,而是通过Gossip协议,每个节点维护系统中部分其他节点的视图,每个节点动态的和其它节点交换缓存信息,并根据缓存信息交换节点之间的媒体数据。在这种系统中,通常需要比较大的缓存,系统的启动延迟相对比较大。但是,因为每个节点的数据来源并不依赖于某个特定的父节点,所以系统有更强的健壮性。典型的基于Gossip协议的模型为DONet。

3.改进的P2P流媒体模型

C/S模式具有安全性好、易于管理的特点,但是传输的负载过于集中,网络效率低并且难以扩展。而P2P模式把上载分布到所有的节点,网络效率高,扩展性好,但是节点间的组织与通讯比较复杂,需要额外的成本。本文提出一个融合C/S模式特点和P2P模式特点的模型:改进型P2P流媒体。

改进型P2P流媒体模型是基于Gossip协议的实时流媒体数据分发模型,并且类似eMule[3]、BitTorrent[4]的架构设计,采用融合了传统C/S架构和P2P技术的混合式框架来实现的。

在模型设计之初,改进型P2P流媒体模型借鉴了DoNet模型中客户端的架构思想来实现Gossip机制。比较起来,改进型P2P流媒体模型关键的改进点在于:在改进型P2P流媒体模型中将媒体源和节点管理功能进行了分离,改进型P2P流媒体模型的服务器只负责维护并管理系统中的节点信息,而把媒体源分离出来,作为一个特殊的客户端参与系统的数据分发。

3.1系统模型

在改进型P2P流媒体中,P2P并不是用来取代C/S模式,而是作为一种补充,每个用户节点都有两种方式获取媒体数据:从服务器直接获取或者通过其它节点获取。

改进型P2P流媒体的每个节点维护一个伙伴列表,节点可以从服务器或者伙伴节点获取媒体数据。其实,服务器作为一个特殊的节点是所有节点的伙伴。节点和伙伴节点不断地交换各自的缓存信息,然后根据伙伴的缓存信息,通过一定的数据调度算法从伙伴节点获取媒体数据。如下图所示,虚线代表控制消息的传输,实线代表媒体数据的传输。在图中,Peer2,Peer3,Peer4和服务器都是Peerl的伙伴节点,Peerl从这些节点获取媒体数据。节点的伙伴列表并不是固定的,节点在运行过程中会不断的优化伙伴列表。

从系统的整体模型结构上来看,总体框架分为两层结构:1)一层是由服务器与系统中的所有客户端组成的C/S架构,所有客户端均与服务器建立一条长连接;2)另一层是由包括媒体直播源在内的所有客户端构成的一个无结构化的网状节点群,节点之间借由Gossip机制并根据一定的选择策略建立起连接。

3.2 改进型P2P流媒体服务器

改进型P2P流媒体服务器主要包括两个模块:节点管理模块和数据服务模块。

节点管理模块的功能为响应节点请求并更新PeerList,并且为节点随机选择伙伴节点。负责维护系统中所有节点的信息,同时协助客户端实现简单Gossip协议。

数据服务模块的功能为接收并管理其他节点的请求,并发送相应的媒体数据。

改进型P2P流媒体的服务器不参与系统的数据分发,作为整个系统的中央控制服务器,负责管理网络中所有节点,维护所有节点的列表PeerList。在协助节点实现Gossip协议、节点信息管理等方面起到了重要的作用。其功能定位为节点信息的管理与维护。

3.3 节点信息的管理与维护

在此直播系统设计中只存在一个媒体源,媒体源也总是系统中第一个登陆进来的客户端。其他客户端节点加入网络后,首先从服务器获取初始的成员列表,记为MemberList。在程序运行过程当中,MemberList会被动态地更新,但新的节点信息并不是从服务器上获取的,而是由节点向自己的伙伴节点请求它们的伙伴列表信息,并将返回的节点添加到自己的成员列表中。

服务器为每一个媒体源直播源维护一个保存所有节点信息的列表PeerList。为了实时地保证PeerList总是反映真实的P2P覆盖网络,服务器通过客户端不断发送消息来监控所有节点的动态情况。每个客户端通过周期性地发送消息来向服务器证明其存在,如果服务端在预定的时间内未收到客户的消息,则认为该客户端已经下线。

由于引入了C/S的架构,并且在服务器端记录了系统中包含所有节点信息的PeerList,利用服务器本文设计了一个简单Gossip协议:在简单Gossip协议中,节点的局部视图仍然遵循SCAMP[5]协议的设计,但节点并不是通过与本地局部视图中节点的Gossip交互来感知整个网络的规模大小,而是由服务器在检测到系统节点总数发生一定规模的变化时,将网络规模变化通知给所有的节点。这样,不用遵循概率约束,覆盖网的所有节点也可以准确地知道网络的大小,以调整自己局部视图的大小。

3.4 改进型P2P流媒体客户端

客户端在设计上主要参考DoNet模型的客户端架构思想,并借助服务器的协助实现了Gossip协议。在实际运行过程中,客户端作为一个独立的实体参与系统的数据分发,遵循Gossip协议与系统中的其它节点进行交互,通过不断地优化伙伴节点以及设计良好的数据调度策略,达到提高本地媒体传输质量的最终目的。

客户端节点的架构主要包含两大模块:数据接收模块和节点服务模块。

数据接收模块负责从其他节点接收媒体数据,主要功能包括:

1) 伙伴节点管理和缓冲区的更新:动态地维护一个伙伴列表,并不断地更新伙伴的缓冲区。

2) 数据调度算法,根据伙伴的缓冲区为每个数据片断寻找一个最优的提供者。

3) 数据接收,根据调度结果同时从多个节点接收数据。

节点服务模块负责媒体数据的分发,主要功能为接收并管理其他节点的请求,并发送媒体数据。

另外还有一个网络监视和QoS控制模块,主要功能为监测目前的网络状况,用于QoS控制。

3.5 伙伴的管理与优化

节点加入网络后,首先从服务器获取初始的伙伴列表,记为PartnerList,在程序运行中,PartnerList会被动态地更新,节点会不断从服务器中选择新的节点作为新的伙伴,这样做主要有两个原因:

1) 网络中节点的不稳定性。网络中的任何一个节点都有可能在任何时候离开,为了维护数量相对稳定的伙伴数目,一旦检测到有伙伴离开,需要从服务器获取新的节点加入到伙伴列表PartnerList。

2) 优化节点的伙伴。好的伙伴应该有比较大的输出带宽,并且物理连接上应该尽可能地近。为了选择更好的伙伴节点,每个节点会为它当前的每个伙伴计算一个分数,在每一轮的调度后,节点会从伙伴列表中删除分数最低的伙伴节点,并从服务器获取一个新的节点作为伙伴节点。

3.6 数据的调度策略

调度的目的就是根据节点和伙伴的BM信息,如何尽快地从伙伴节点获取媒体数据,不同的调度算法对整个系统的数据分发的性能有很大的影响。数据调度的主要约束有两个:1)在播放时间的约束下,媒体数据必须在播放时间到达之前获得,否则就没有任何意义。2)分层可扩展编码中,高层数据对低层数据的依赖,如果在播放时间到达之前没有获得基本层的数据,则所有获得的增强层的数据都无法解码,同样没有任何意义[6]。改进型P2P流媒体中的调度算法采用以下的原则:

・低层数据优先:改进型P2P流媒体调度算法的第一个原则就是优先传输低层的数据,因为在分层可扩展性编码中,高层数据的解码依赖于低层的数据。

・稀少数据优先:在系统中,如果某个片断的提供者越少,就越难满足播放时间Deadline的要求,因此,在改进型P2P流媒体中,节点首先获取只有一个提供者的数据片断,然后获取有2个提供者的片断,依次类推。在获取多个提供者的片断时,在可以保证Deadline的情况下,选择带宽最大的提供者。

・随机选择第一个数据块:稀少数据优先的一个例外就是节点刚加入时选择下载的第一个数据块。从整个系统看,数据的总下载量等于数据的总上载量。在节点刚加入时,没有任何数据可以提供上载服务,所以需要尽快获取一块数据,在获得一块完整的数据之后,节点才开始提供数据分发服务。然而下载稀少的数据往往比较慢,所以在选择第一个数据块时采取随机的方式,在完成第一个数据块的下载后,调度策略转为前两个策略。

4.总结

本文提出了一个新的改进型P2P流媒体模型,该模型融合了P2P技术和C/S技术的优点,可以在网络带宽效率、延时和可靠性三者之间做出更好的权衡。作为应用于教学直播的平台,连接的用户数量必然没有大规模直播时(例如国内国际重要新闻,重大赛事直播以及娱乐直播)所连接的用户多,教学直播基本上用户数量维持在几十至数百上千的范围内,节点的数量制约了教学直播中完全采用P2P网络传输的质量,所以在这个规模下,改进型P2P流媒体模型的设计在于辅助提升原始C/S模式的传输质量。

改进型P2P流媒体通过C/S的方式组织节点而通过P2P的方式分发数据,其主要特点为:1)易于实现,节点通过服务器集中管理,无需构造和维护复杂的组播树,也不需要部署复杂的P2P组通讯协议。2)健壮性(robust),节点除了依赖于节目源节点,不依赖于任何其它特定的节点。3)扩展性(scalability),通过P2P的方式分发数据,用户越多,分发越快。4)带宽适应性(heterogeneity adaptive),用户可以根据带宽情况控制自己的QoS。

参考文献:

[1]徐宏. 现代远程教育平台的研究与实现. 计算机工程与应用,2002,(4):217-220.

[2]陈洪,刘双与,杨玉华. P2P技术发展与应用. 计算机工程,2003,29(19):127-130.

[3]Yoram Kulbak and Danny Bickso,“The eMule Protocol Specification”, DANSS Lab,Department of Computer Science and Engineering, The Hebrew University of Jerusalem, Israel, Jan 20,2005.

[4]Karl-Andre Skevik,Vera Goebel,Thomas Plagemann, “Analysis of BitTorrent and its use for the Design of P2P based Streaming Protocol for a Hybrid CDN”, Department of Informatics University of Osl.

流媒体直播系统范文5

前台展示子系统在“齐鲁三农科技网”上开辟农民远程教育专网,开设网络直播窗口、视频交互窗口、节目点播窗口等。所设栏目主要有农业科技动态、农业科技专题、视频直播、专家在线、成果示范、新品种介绍、新农村建设、企业在线等。网络直播充分利用农业专家团队强大的知识优势,将专家在演播室讲课的音视频信号压缩成流媒体数字信号,通过网络以点对面的形式实时传播,对农民进行远程培训。可实现一点对多点、多点对多点之间的音频、视频、文件共享、电子白板、屏幕共享、协同网页浏览等功能,通过我省现有的村村通宽带网络实现远程视讯沟通和远程培训学习,专家在讲课过程中还可就有关问题与农户进行音视频互动交流[3]。视频交互系统主要实现声音、影像及文件资料实时异地互传,满足广大农户对实时、高质量的农业音视频信息的更高需求。在整个过程中可自动处理用户的加入和退出,为用户灵活地参加视频交互提供方便。不仅能实时地传输参与者的声音和影像,产生“面对面”讨论的感觉,而且可以将这些音视频信息通过系统设备进行全实时记录,以供以后点播详细学习。该系统还可以通过基层站点的客户端,开展远程视频诊断。能够以高清晰度显示高分辨率的内容,帮助专家进行异地诊断,及时地解决农户遇到的各种技术难题,指导农业生产。节目点播点播系统的核心由视频服务器软件和播放软件组成,基本功能包括节目点播、节目广播、实时监控、节目管理以及系统工具等。系统可支持上千用户对音视频节目的点播请求,每个用户均可点播同其他用户相同或不相同的节目,并可自由地截取画面或片段,可自由控制节目的前进、后退、快放、慢放等。农户可以在网上点播任何自己想看的农业多媒体数据库内的视频内容,并可以反复仔细观看,直到领会掌握。

农业多媒体数据库通过搜集、制作、整合各种农业科技视频资源,建成农业多媒体数据库,包括新特优品种介绍、种植技术、养殖技术、食用菌生产、动植物保护、农产品加工、农业信息咨询等内容,涵盖粮、棉、油、蔬菜、果树、花卉、中药材、食用菌等的种植栽培和畜牧养殖、农副产品加工、动植物品种保护、专家咨询等内容。数据库集影像、声音、动画、文字、图形于一体,利用优化技术,提高该类数据的访问速度,及时将农业信息、农业技术传播出去,实现人机交互操作。借助网络,利用点播系统等途径,转播到基层服务站、涉农组织、农业协会、科技示范园区以及农户手里,充分发挥视频直观、生动形象的特点,开展农村远程教育,为从事农业生产的单位和个人提供详尽的农业技术指导。

后台管理子系统子系统组成后台管理子系统主要包括视音频文件采集编辑压缩模块、流媒体管理模块、下载模块、图片模块、用户管理模块、留言模块、视频点播模块、文件模块和多媒体数据库管理模块等9个模块。子系统功能后台管理子系统具有以下功能:(1)管理功能:包括在线编辑器、栏目访问统计、视音频数据文件备份、信息组件管理、网页模板管理、频道栏目综合管理、上传视音频数据文件管理、域名指向管理等。(2)应用功能:包括视音频数据文件创建、编辑、修改、增加、删除,自动信息,自动排版,跨栏目、跨网站,自定义栏目、频道,视音频文件审批,模板设计,工作流定义,用户行为监控及详细操作记录,站点管理和统计,内容访问控制管理等。(3)视频库管理功能:包括支持对视音频文件(包括流媒体文件)的在线编辑、压缩、上传、增删、分类入库等。

系统硬件组成及其功能

整个系统由LiveONE移动采集工作站、AVCaster视频直播机、KMSMediaProducer多媒体处理工作站、编辑工作站以及各种服务器等多个部分组成。(1)LiveONE移动采集工作站,采用最新的视频压缩技术,最新编码技术,以及流媒体技术,提供多路音视频同步直播或录制服务,同时可为流媒体服务器提供直播源,还可以把正在直播的节目录制下来,并提供后期点播服务。其硬件配置为Core1.8G/1G内存/120G硬盘/1000M网卡/无线/独立显卡,操作系统使用Win-dowsXP,提供1个演播室或现场的网上直播和录制。(2)AVCaster视频直播机,采用最新的视频压缩技术,硬件编码技术,以及流媒体技术,提供多路网络音视频同步直播、录制。其主机AVCaster的配置为P43.0e/2G内存/80G硬盘/1000M网卡/4U机箱/不含显示器,操作系统使用Windows2003Server,提供16路培训电视和16路娱乐电视节目的编码,并实现32个频道的网上转播和录制。(3)KMSMediaProducer多媒体处理工作站,其硬件配置为P43.0e/1G内存/80G硬盘/1000M网卡,操作系统采用Windows2003Server,提供对包括影片、录音带、录像带以及VCD、DVD等碟片进行数字化转换并上传。(4)LiveONE编码工作站,其硬件配置为P43.0e/1G内存/80G硬盘/1000M网卡/音视频采集设备,操作系统采用Windows2003Server。提供1个演播室的网上直播和录制。(5)KMS(KuihuaMediaServices)流媒体服务器,集成了视频直播系统、视频点播系统、视频广播系统,以及视频制作等子系统,旨在为用户提供整套的媒体文件制作、节目点播、视频直播,媒体文件广播等服务,是一套完整的基于IP网络的音视频应用平台。其硬件配置为2*XEON2.0G/2G内存/73GSCSI硬盘/1000M(双网卡),操作系统采用Windows2003Server,安装流媒体服务器程序,提供流媒体数据的、管理等核心视频服务。(6)WEB及数据库服务器,硬件配置为1*XEON2.0G/1G内存/73G硬盘/1000M(单网卡),操作系统采用Win2003Server。安装WEB、SQL数据库,提供网站服务。负责用户接入、认证、权限等,以及提供数据库服务、系统信息服务。(7)系统管理服务器,其硬件配置为1*XEON2.0G/1G内存/73G硬盘/1000M(单网卡),操作系统为Windows2003Server,安装远程管理程序,提供基于web的系统管理服务。

性能设计

系统具有实用性、可靠性、先进性和可扩展性的特点。系统界面友好、操作简便、稳定可靠,保证运行质量;符合国家安全保密要求,具备严密的安全机制;具备完善的网络管理功能;能够融合新技术,具备向后兼容性;便于维护,具有灵活的扩展能力[5]。

简单方便整个系统安装、实施简单,操作、管理方便,无需特殊培训,即可轻松上手。

安全稳定整个系统分为三个子系统,可分可合,灵活搭配。各子系统之间稳定运行,互不影响;同时,采用高性能服务器和专业设备,可长时间稳定运行。系统强化权限管理功能。每个人都可以有自己的用户名和口令,有严格的口令验证机制,所有人员只能观看自己有权限观看的内容。

技术先进符合计算机、网络通讯技术和流媒体视音频技术的最新发展潮流,并且采用标准协议和规范。以网络视频直播和点播为基础,突出网络传输的质量和稳定性。融合先进的管理思想,从而实现最大程度的资源利用。

经济实用系统具有统一的业务引擎,整合高度集成的专业化配套设备,内容和管理均可远程操作、维护。同时,着眼于日常工作需要,并能够随着业务变更进行调整。

随需扩展整个系统采用模块化设计,能够根据实际需要,分开采购、灵活扩展、平滑升级。既满足现有的实际需要,也兼顾未来的潜在需求。不管是培训学习,还是在视频直播的编码方式、数量,或者同时在线观看的用户数,或者与其他系统结合,都能最大程度地得以满足。

全面兼容既可以满足局域网,也可以满足互联网;既能支持主流媒体文件格式的点播,也能支持主流文档格式的点播;既能自成体系、独立应用,也能提供各种接口,轻松融入现有网络服务平台、办公自动化系统以及网站之中,具有很好的延展性和易用性。

结论

流媒体直播系统范文6

关键词:Helix网络视频 直播系统;流媒体

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)19-4550-02

国务院明确要求,2013年至2015年我国全面实现“三网融合”,传统媒体纷纷把业务扩展到互联网,极大地促进了我国信息产业的发展。随着多媒体计算机的普及和宽带用户的快速增长,网络视频直播技术广泛地应用于多媒体教学、远程教育培训、电视电话会议、重大活动直播以及多媒体公共信息服务行业等诸多方面。网络视频直播是指利用互联网及流媒体技术进行直播,使得网络不再虚拟,现实感大大增强,逐渐成为互联网的主流表达方式。传统的网络视音频收看方式是完全下载后再播放,而采用流媒体技术后,可实现边下载边播放的效果,不仅缩短了用户的等待时间,而且还有效节约了网络带宽资源。

1 总体设计

本文的主要目的是将视频节目信号通过视频工作站中的采集卡和相关应用程序转换成数据文件,自动上传至网络服务器,以网页插件的形式显示播放内容。此系统对视频采集工作站和网络服务器的配置要求较高,因为视频的数据量相对较大,采集的视频数据需进行处理、压缩、传输,连续动作几乎同时进行,计算机负荷较重,因此应尽量提高计算机的硬件配置。

视音频信号可以直接来源于摄像机和麦克风,但为了得到较好的视音频效果,一般不直接将摄像机的视频信号和麦克风的音频信号接入视频采集工作站,而通过将视、音频信号分别经过非编系统(非线性编辑系统的简称,用于编辑录制视频节目的设备系统)和调音台,对视、音频信号分别进行复合,合成想要的视、音频效果,再接入视频采集工作站。以访谈节目为例,比如对经过抠像的主持人和嘉宾视频信号通过非编系统添加节目场景(背景),调整主持人和嘉宾的讲话音量,最终得到画音质量较高的视音频信号。

图1 视音频信号的复合流图

2 基本原理

网络视频直播系统离不开流媒体技术,所谓流媒体,是指一种网络视频传输技术,用以在互联网上实时传输视、音频等多媒体内容的连续数据流。流式传输方式综合了计算机网络技术和视频技术的特点,是将视频和音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,由服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必像传统播放视频那样等到整个文件全部下载后才能看到视频内容,而只需经过短暂时间(一般为数秒钟)的启动延时,即可在用户计算机上利用相应的播放器对压缩的视频或音频等流式媒体文件进行播放,实现在线浏览观看。

3 具体实现

3.1 需要用到的主要软件

主要软件有:①网络服务器提供流媒体视频服务的软件:Helix Server 11;②视频采集工作站中对视频数据进行处理、压缩和上传的视频编码软件:Real Producer Plus 11;③客户端网页需安装的视频播放器:Real Player 11。

3.2 Helix Server在视频直播服务器上的安装配置

根据安装向导按照表一步骤进行设置操作,所有设置完成后出现设置服务器配置信息的界面,显示所设置的用户名、端口、安装路径等所有信息。若认为某项设置有问题,可单击“Back”按钮返回检查并进行相应修改,单击“结束”按钮,将开始系统安装过程,在安装完成后,提示Helix Server已经成功安装,单击“完成”按钮以结束安装向导。主要步骤如下:

表1 Helix Server软件主要安装步骤、使用说明及注意事项

[主要安装步骤\&默认设置\&使用说明及注意事项\&用户名和密码\&无\&可以随意设置,管理员可以用Web方式对服务器进行远程管理。\&Rtsp连接\&默认端口554\&若554端口已被占用,应更改为别的端口,如:556,如更改了默认端口后,Rtsp的连接必须在IP地址后增加端口,如rtsp://服务器IP:556。\&Http连接\&默认端口80\&若服务器安装IIS组件开通了Web服务,应更改为别的端口,如:8080。\&Mms连接\&默认端口1755\&若服务器已安装开通了MMS服务,应更改为别的端口,如:1766。\&Admin端口\&端口随机生成\&管理端口在软件安装时随机产生,管理员可通过Web方式对服务器进行远程管理。\&Helix Server 安装为系统服务\&无\&勾选第一项“将Helix Server安装为系统服务”即可。\&]

Helix Server软件安装完成后,启动Helix Server,以Web方式打开管理界面,对端口设置、IP地址绑定、加载点等选项进行设置。

3.3 Real Producer Plus在视频采集工作站上的安装配置

在视频采集工作站中安装“Helix Producer Plus”并运行,显示界面。

Input区域的Input file字段可选择工作站中现有的视频文件,由于是直播,一般只在Devices字段中分别设置Audio(音频)和Vedio(视频)的信号来源。

Output区域可通过菜单“File”―>“Add Server Destination”,显示“Server Destination”窗口,通过对Stream name、Server address、Port、Username等选项进行设置。

设置好后,通过菜单“File”―>“Save Job”,将如上设置保存一个配置文件(*.rpjf),以便下次使用时直接打开而无需重新设置。

3.4 视频直播浏览网页的设计

完成视频直播服务器和视频采集工作站的软件安装设置后,在网站里设计一个视频直播网页,供客户端在线浏览查看视频网页,主要网页代码如下:

classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA> (下转第4567页)

(上接第4551页)

4 结束语

通过网络视频直播系统的搭建和相关应用程序的配置,较好地给出了基于Helix的网络视频直播系统的设计方案。该设计方案实现了视频节目录制、编码、上传(服务器)、解码(播放)等操作几乎同时进行,具有成本低、延迟短、易升级等特点,有较好的推广应用价值。

参考文献: