欢迎访问发表云网!为您提供杂志订阅、期刊投稿咨询服务!

流媒体播放器大全11篇

时间:2022-04-05 01:38:43

流媒体播放器

流媒体播放器篇(1)

1.引言

随着通信技术和计算机技术的迅猛发展,3G时代的到来,人们对手持设备的应用有了更高的要求,人们已不满足于简单的通话、收发短信等基本功能,而更多的是要求有多媒体应用,能利用手机进行上网冲浪、3D游戏、播放视频等。

2.J2ME技术介绍

J2ME平台存在的基础是设备使用操作系统的多样性。虽然JAVA的运行速度经常受到指责,但手机平台的发展已经使得这种缺陷可以忽略,而J2ME适用平台的多样性使得J2ME技术成为手机应用开发的首选。它的主要技术优势在于:有良好的跨平台能力,实现了write once,run anywhere,有着与J2EE后端的无缝结合能力。因为J2ME是基于Java语言的,所以它天生就具有以下优点:

・动态内容传输。新的应用、服务和内容可以通过不同类型的网络动态下载。

・安全。类文件校验、明确定义的应用程序编程接口和安全组件确保了第三方应用程序的行为是可靠的。不会对设备或者网络造成损害。

・交叉平台的兼容性。标准化语言组件和库意味着由于支持J2ME配置和简表所带来的约束使应用和内容可以在不同设备之间灵活地传输。

・离线获取。不用激活网络连接,应用就可以被使用。这种特点降低了传输费用,减轻了可能的网络故障带来的影响。

3.系统的设计与分析

3.1目前存在的问题

随着通信技术和计算机技术的迅猛发展,人们对手持设备的应用有了更高的要求,人们已不满足于简单的通话、收发短信等基本功能,而更多的是要求有多媒体应用,能利用手机进行上网冲浪、3D游戏、播放视频等。移动设备通过网络观看视频将是必备的功能。目前的城市的网络覆盖率比较好。

在这种情况下,多媒体播放器在设计与实现中存在一些问题:

3.1.1由于多媒体手机在硬件性能上与PC机有着显著的差异,在多媒体手机上播放的视频短片的比特率要远远低于PC机上的,所以在设计多媒体手机时要受到多媒体手机硬件与操作系统的影响。

3.1.2现在多媒体手机外接的存储卡容量不是很高,当你在旅行的过程中或者在移动的过程中,因为你的存储卡的容量有限,所以你只能看少量的影音文件。

3.1.3现在多媒体手机在播放视音频文件的过程中,如果看到自己喜欢的图片,无法保存下来,作为永久的珍藏。

3.1.4如何设计一款全新的多媒体播放器,为将来的多媒体移动服务打下坚实的基础。

3.2对目前系统的改进

本项目是一个关于手机播放器的系统,通过移动终端手机能够实现在任何时间、地点进行多媒体音频与视频的播放,本项目在空间上延伸了基于Internet的网络服务,在时间上更具有灵活性。本系统只能播放格式为MPEG的视频文件与格式为WAV的音频文件,这是由底层的开发包所决定的。

本项目具有以下几个功能模块:

3.2.1视频(主要是MPEG格式)的播放模块。播放形式主要采用两种形式:本地播放与网络播放。本地播放也就是所谓的视频文件在本地手机存储器里,直接进行播放,网络播放主要是视频文件放在网络服务器,手机进行调用播放。它在空间上延伸了Internet的网络服务,在时间上更具有灵活性。

3.2.2音频(主要是WAV格式)的播放模块。播放形式主要采用两种形式:本地播放与网络播放。运行方式与视频播放模块相似。

3.2.3抓图模块。在进行播放本地与网络视频时,当你认为一个视频的瞬间你很喜欢,你就可以进行抓图,把它截取下来。

3.2.4控制模块。在进行播放音频与视频的同时,有一些基本的控制功能,比如播放、停止、暂停、增加音量、减小音量等。

4.播放与控制的设计与实现

它主要是由VideoCanvas继承Canvas,并有以下几个方法:VideoCanvas(),initialize(),paint(),time2pix(),open()等。它主要实现的功能是:对播放的视频或音频文件进行一系列的操作,比如播放、停止、暂停、增加音量、减小音量等。

以下是主要的代码:

public class VideoCanvas extends Canvas implements Runnable,PlayerListener,{//在框架中添加videocanvas类的构造函数,初始构造函数,初始化屏幕}

private void initialize(){//添加返回按钮}

public void paint(Graphics g){//只有播放视频的时候可以使用全屏}

private int time2pix(long time){//计算时间的字符串格式}

public void open(String url){//分析打开资源的URL}

public void start(){//获得视频时间长度}

public void close(){//关闭程序}

public void pause(){//首先判断player对象是否已经创建了,如果存在player点}

public synchronized void pauseApp(){//player正在播放,所以停止它并且释放资源}

public void run(){//获得播放视频所需要的时间}

public void playerUpdate(Player plyr,String evt,Object evtData){//是否播放结束}

private void doSnapshot(){//进行抓图功能}

protected void pointerPressed(){//更改滑杆上面的小方块的位置,然后请求重画屏幕}

public void commandAction(Command c,Displayable s){//控制播放}

public synchronized void startApp(){//开启程序}

public void keyPressed(int keyCode){//利用手机里的按键进行一些操作}

switch(keyCode){

case Canvas.KEY_NUM4://减小播放速度

case Canvas.KEY_NUM6://增加播放速度

case Canvas.KEY_STAR://减小音量

case Canvas.KEY_NUM0://静音

case Canvas.KEY_NUM7://向后跳跃,即快退

case Canvas.KEY_NUM5://停止播放

case Canvas.KEY_NUM9://向前跳跃

case Canvas.KEY_NUM2://暂停,播放

case Canvas.KEY_NUM8://全屏,目前不支持

case Canvas.KEY_NUM1://没有发挥作用

case Canvas.KEY_NUM3://跳过}

5.结语

本文研究的重心在于探讨利用流媒体技术使手机播放器中本地与网络(无线)终端MIDP应用开发技术的解决方法及资源的网络通信、信息整合问题。本文中深入研究了J2ME体系结构及其平台下手机程序MIDP的开发技术,详细分析了本地终端与无线终端和资源的通信解决方法,并构造了一个手机多媒体播放器系统。本文设计与开发了播放与控制,通过该系统,完整说明了MIDP应用程序开发的流程控制、界面设置与流媒体和视频压缩技术。本系统还会不断地改进,实现更广、更新、更实用的功能,以适应时代的需求。

参考文献:

[1]吴一丁.J2ME技术在移动设备上的应用.java研究组织,2005.

[2]黄宝雄.流媒体技术.中国多媒体视讯,2005.

流媒体播放器篇(2)

中图分类号:TP37 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.04.018

流媒体播放器篇(3)

中图分类号:TP37文献标识码:A文章编号:1009-3044(2008)20-30358-03

1 引言

随着各种电视节目的上星和互联网的快速发展,报纸、杂志、广播、电视等传统媒体纷纷触网,如何在新形势下,更好地发挥高校自办电视台的思想教育功能,实现高校电视更好更快的传播以及对校园媒体资源进行优化重组,形成优势互补,突出整体效能,是目前高校尤其是西部边远地区院校迫切需要解决的问题。利用校园网络进行校园视频新闻点播,逐渐成为了校园视频新闻传播的主要途径之一。网络视频点播是综合了计算机技术、通讯技术、多媒体技术而迅速发展起来的一门综合性技术。它利用了网络和视频技术的优势,彻底改变了过去收看校园视频新闻的被动方式,实现了校园视频新闻节目按需收看和任意播放,为用户提供实时、交互、按需点播服务的系统。利用校园网建设VOD系统可以为广大师生提供在线的视频新闻节目的点播服务。如何利用网络视频点播技术构建一种基于流媒体技术的实效性高校校园视频新闻网络点播系统已成为一个势在必行的手段和趋势。

2 流媒体技术及视频点播原理

2.1 流媒体技术

流媒体(Steaming Media)是指在网络中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。流媒体技术就是把连续的影像和声音信息经过压缩处理后放在网站服务器上,让用户下载、观看、收听,而不需要等整个文件全部下载完毕后才可以观看的技术。传输及播放的流媒体文件,经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连接、实时地传送,用户机不必等到整个文件全部下载完毕,仅需将起始几秒的数据先下载到本地的缓冲区中就可以开始播放,采用一边播放、一边下载、一边丢弃的方式,客户端的缓冲区建在内存中,不占用硬盘空间,不会在用户端留下任何拷贝,保护了知识产权,同时提高带宽利用率。流媒体技术是一个综合的技术,它包括采集、编码、传输、储存、解码等多技术。作为以流媒体为技术支撑的流媒体应用系统,一般分为编码端、服务器端和用户终端3部分。

2.2 高校校园视频新闻网络点播系统

高校校园视频新闻网络点播系统采用流媒体技术,建立专门的流媒体服务器,把校园视频新闻编码处理后到流媒体服务器中,用户在校园网连通的任何端口,可利用网络进行校园视频新闻的点播与观看,在这个过程中本系统可实时向用户传送节目,用户也可通过网络客户端对所观看节目实现随意控制。可用图1来说明校园视频新闻点播系统的工作过程和系统结构。

3 高校校园视频新闻网络点播系统的设计

本系统所要处理和传输的信息主要是视音频信息为主的多媒体信息。为了便于师生的对视频新闻的点播,这就需要校园视频新闻者在过程中注重质量、访问速度、方便和快捷性,并且也要根据学校的实际条件构建实效性的视频点播服务平台;校园内用户可以查阅节目的详细信息,可以以页面方式观看,也可利用播放器播放或全屏播放;也可下载观看。

本系统主要借助于目前主流的流媒体系统之一的windows media为主要支持技术来构建实效性高校校园视频新闻网络点播系统,突出其方便性、先进性、集成性、低成本的特点。

在Windows Media技术支持下,主要从其文件格式、流媒体传输协议、播放方式、系统组成等几个部分总体上去设计实现该系统。

3.1 文件格式

Windows Media支持ASF, WMV, WMA等文件格式,ASF (Advanced Stream Format)是Windows Media的核心。ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式以网络数据包的形式传输,实现流式多媒体内容。WMV是视频数据格式,WMA是音频数据格式。本系统主要传输视频信息,所以在前期制作视频时全部采用ASF、WMV两种格式。

3.2 流媒体传输协议

流媒体传输协议是流媒体技术的一个重要组成部分,也是基础组成部分。它是为在网络上实时传输多媒体信息而开发的协议。目前,Windows Media支持的流媒体传输的协议主要有: 实时传输协议RTP (Real-time TransportProtocol),用于Internet上针对多媒体数据流的一种传输协议。实时传输控制协议RTCP (Real-time Trans-port Control Protocol),RTCP和RTP一起提供流量控制和拥塞控制服务。实时流协议RTSP (Real-time Streaming Protocol),定义了点对多点应用程序如何有效地通过IP网络传送多媒体数据。基于上述协议的支持,本系统实现了流媒体信息的有效传输。

3.3 播放方式

为了能够让多媒体数据在网络中很好地传输,并在客户端精确地回放。基于这个目的,在流媒体的播送技术上人们采用了单播、多播、点播、广播等技术。点播是客户端与服务器之间的主动的连接,在点播连接中,用户通过选择内容项目来初始化客户端连接,一个客户端从服务器接收一个媒体流(这个连接是唯一的,其它用户不能占用),并且能够对媒体进行开始、停止、后退、快进或暂停等操作,客户端拥有流的控制权,就像在看影碟一样。这种方式由于每个客户端各自连接服务器,服务器需要给每个用户建立连接,对服务器资源和网络带宽的需求都比较大。

本系统考虑到校园视频新闻时间短、信息量大;便于师生在观看校园视频新闻控制和交互以及校园网自身特点,采用点播方式来实现校园视频新闻的网络传播。

3.4 系统组成及工作流程

为了更好地使流媒体系统在各个不同层面上互相通信,基本的流媒体系统包含三个组件:编码器,服务器,播放器。基于Windows Media技术构建的校园视频新闻网络点播系统依靠Windows Media Service系统的主要组成。它分别校园视频新闻采编转系统、流媒体服务器(Windows Media Server)和客户端流媒体播放器(Windows Media player),分别用于流媒体的制作、和播放等。

(1)校园视频新闻采编转系统:用于采集、编辑、转换编码多媒体数据,使其成为流媒体数据格式,便于在流媒体服务器进行和管理。

(2)流媒体服务器:简单地说,就是支持流媒体点播的服务器,用于存放、控制、管理流媒体数据。

(3)客户端播放器:主要用于客户端用户对校园视频新闻进行点播播放、浏览等。

简单来说,该系统工作时, 前期采编转系统创建流媒体文件并存放到流媒体存储服务器;服务器端创建提供点播的站点设置和管理节目并启动;客户端通过浏览器以Web方式访问,获得节目信息,选择后再由流媒体服务器经过调度后启动相应的流媒体播放器实时播放节目。

4 高校校园视频新闻网络点播系统的实现

4.1 校园视频新闻的编码制作

(1)校园视频新闻的前期摄录与编辑。

为了保证图像质量,校园视频新闻必须在前期的摄录、采集、编转等过程中尽可能减少视频的损耗。 笔者在实践中的具体的做法是:摄录阶段,采用广播级摄像机和信噪比较高的录像带摄制校园新闻,以此减少各环节中对图像信号质量的损耗;采集、编转过程中,利用高性能的视频采集卡(pinnacle pro-one)、编转质量较高的格式转录软件(Tmpeg-plus)进行采编转,并且首次编转完成后统一使用avi格式文件,以确保图像质量。

(2)将前期编辑制作完成的视频文件编码为Windows Media流媒体格式文件。

对于Windows Media构建起来的流媒体服务器,一般需要使用asf、wmv格式的文件。因此,前期制作完成后,将编辑完成的avi格式的视频文件统一利用Windows Media编码器把avi文件转化为asf、wmv格式文件。这时,最好使用WindowsMedia编码器,它可以适应多种网络的编码要求。

(3)编码设置与过程监视。在编码转换时,应根据用户情况、网络带宽、节目内容等具体情况,选择适当的输出质量、编解码版本、传输速率及适应带宽要求等选项。这样可以保证视频和客户端点播时编码后流媒体的高适应性和高质量。与此同时要对编码过程进行监视,通过监视可以随时了解编码的进展情况,利于操作人员对整个编码过程的把握,并且保证输出的校园视频新闻节目不出现间断和跳帧等现象,保证视频的连贯性。

当然了,上述过程只是笔者在自己实践中的具体做法,若在硬件条件允许的情况下也可以通过专门的视频采集卡、编码器把摄像机等其它设备的信号直接转换为asf格式,这样可以减少编转时间,缩短整个视频流程,提高校园视频新闻效率。

4.2 校园视频新闻网络点播服务器的安装与管理实现

校园视频新闻网络点播服务器是安装了流媒体服务软件的服务器,提供校园视频新闻节目服务,监控系统运行状态,存储校园视频新闻节目。该服务器采用Windows 2003服务器版操作系统,安装Windows Media Service作为Windows Media服务器,使用户能够通过网络传输流媒体内容。Windows Media服务为ASF流媒体文件提供了两种方式:单播和多播,分别用于交互式点播和广播方式。本系统的构建主要采用交互式点播方式,它为用户提供点对点联结方式的服务,允许用户通过交互参与流媒体播放的控制,这种方式的优点是每个用户可以主动地观看节目。在服务器的安装与配置过程中,关键环节是:

(1)服务器基本设置:主要包括端口数值、允许用户连接数量、用户接入带宽、流媒体存放的位置。

(2) 服务器安全设置:主要指服务器的各种规则,其中包括定义权限、IP地址、子网掩码、特定端口等。

(3)服务器方式设置:主要对Windows Media管理器的“单播点”进行配置,配置完成后服务器就可以向用户提供视频点播服务。

(4)服务器其它设置:主要是对服务器运行状态的监视设置、内容缓存管理设置、广告功能设置等。

4.3 校园视频新闻网络点播系统播放器的实现

校园视频新闻网络点播系统播放器端主要的功能就是使用户使用浏览器通过Web访问服务器端,从网络接收视频新闻流媒体并播放,这样就实现了视频新闻点播。在播放器端可安装使用媒体播放器(Windows Media Player),来实现流媒体播放、控制(开始、暂停、停止、快进)等。对于媒体播放器(Windows Media Player),它可提供给供客户端用户独立使用,也可方便地嵌入到浏览器中,这样简单地就实现了流媒体播放功能。

高校校园视频新闻网络点播系统基于网络服务和流媒体技术,实现了对校园视频新闻的网络点播,具有实用性、高效性,投入少、维护简单的特点,充分利用了已有的高校校园网硬件设施,为广大师生提供了校园视频新闻获取的新途径,实现了校园视频新闻在网络时代下的网络化传输。随着网络技术和流媒体技术的不断发展,在高校校园硬件设施的逐步完善中,高校校园视频新闻网络点播系统将会提供给广大师生更加高效、丰富的校园节目。

参考文献:

[1] 夏志强,刘清堂 基于流媒体技术的教学信息点播系统的设计与实现[J].教育技术导刊,2006(7).

[2] 齐蕾.流媒体技术在校园网中的应用[J].中国科技信息,2005.

流媒体播放器篇(4)

中图分类号:G434文献标识码:A文章编号:1009-3044(2011)08-1907-01

随着网络技术、多媒体技术的发展,网络教学已经成为信息时代一种重要的教学方式和教学手段,它能将形象直观的音频、视频和动画等学习资源通过网络提供给学生,使教学内容更为生动活泼。但由于网络带宽的限制,传输音、视频信息需要较长的时间,网络教学的发展迫切要求能够解决在低带宽环境下实时传送音、视频、动画等多媒体文件的技术。在这种背景下,一种新颖的网络多媒体技术――流媒体技术应运而生。

1 流媒体技术概述

流媒体(Streaming Media)是指在网络中使用流式传输技术的连续时基媒体,如音频、视频和其他多媒体文件。流媒体技术是当前十分流行的多媒体技术,是一种从Internet上获取音频和视频等连续媒体数据的新技术。该技术支持多媒体数据流的实时下载和回放。通俗地讲,就是将音、视频文件经过压缩处理后,放在网络服务器上进行分段的传输,客户端计算机不用将整个的音视频文件下载到本地,便可以即时收听和收看。即服务器向客户端发送稳定的和连续的多媒体数据流,客户端则一边接收数据一边以稳定的流播放数据。

2 流媒体实现的关键技术

流媒体实现的关键技术是流式传输。流式传输时,声音、影像或动画等媒体由音视频服务器向用户计算机连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或数十秒的启动延时即可进行观看。当声音等媒体在客户机上播放时,文件的剩余部分将在后台从服务器上继续下载,这不仅大大缩短了延时,而且不需要太大的缓存容量,弥补了用户播放端占用存储资源的缺点。

实现流式传输有两种方法:实时流式传输(Real time streaming)和顺序流式传输(Progressive streaming)。

1)实时流式传输

实时流式传输指保证媒体信号带宽与网络连接相匹配,使媒体可被实时观看到。实时流与HTTP流式传输不同,它需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就不可以中止,但实际上,可能发生周期性的暂停。

2)顺序流式传输

顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不像实时流式传输在传输期间根据用户连接的速度做调整。顺序流式传输不适合长片段和有随机访问要求的视频,如:讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。

3 流媒体传输原理

在流式传输中,当客户端通过URL选择某一流媒体服务后,客户端的Web浏览器和Web服务器之间使用HTTP/TCP交换控制信息,把需要传输的实时媒体数据从原始信息中检索出来,Web浏览器启动流媒体播放器,使用HTTP从Web服务器检索相关参数对播放器程序初始化;然后流媒体播放器与流媒体服务器之间运行RTSP/TCP协议交换传输所需的控制信息,具有播放、快进、快倒、暂停等功能;流媒体服务器使用RTP/UDP协议将音/视频数据传输给流媒体播放器,当流媒体数据抵达客户端后即可播放。基本原理如图1所示。

4 流媒体系统的组成

一般流媒体系统主要可以分四部分:媒体服务器、媒体播放器、媒体编码器和媒体文件存储器,四部分相互协作构成流媒体服务系统。

1)媒体服务器(Windows Media Server):用来向观众发送流媒体文件的软件;

2)媒体播放器(Windows Media Player):用来从 Windows Media Server接收ASF流并解压在本地播放;

3)媒体编码器(Windows Media Encoder):将原始的媒体文件或摄像头采集进来的实时媒体数据制作成ASF文件或ASF数据流;然后将流文件存储在媒体文件存储器中,或直接送到流媒体服务器;

4)媒体文件存储器(Windows Media Memory):存储流格式的媒体文件,一般采用SCSI硬盘或磁盘阵列;

5 流媒体技术在网络教学中的应用

流媒体技术在网络教学的应用主要体现为点播式流媒体教学和直播式流媒体教学两种主要方式。

1)点播式流媒体教学。流媒体教学资源中心先将教师教学过程进行录像,然后将 录像以及与教学相关的动画等资料预先进行编码压缩,处理成流媒体文件,存储在点播服务器中,学习者登录远程学习系统后,可以自行选择学习内容,不受时间地点的限制,并且可以控制开始、暂停 、前进和后退等播放过程。

2)直播式流媒体教学。直播式流媒体教学也叫同步教学,授课一般在多媒体教室进行,教室里安装视频采集卡、声卡、摄像头、麦克风等相关设施。上课时,教师启动相关设施,摄像机拍摄的教师授课过程实时的传输到流媒体编码机,经过采集卡的采集、编码后实时地上传到流媒体服务器,由流媒体服务器实时到学生终端计算机,学生就可以在同一个时间、不同的地点利用相应的流媒体播放软件进行接收信息。同时在学生所在的多媒体教室,摄像机拍摄学生提问的影像,再经编码计算机上传到流媒体服务器,通过网络传到授课教师的终端计算机上 ,从而实现了教师和学生异地的实时交流 。

流媒体技术改变了传统教学同时、同地、同进度的课堂教学方式,既丰富了教学内容,又激发了学生的学习兴趣。随着 Internet技术和校园宽带网络的快速发展,流媒体技术必将在教学领域发挥更重要的作用。

参考文献:

流媒体播放器篇(5)

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)07-1556-03

1 概述

随着移动媒体技术的发展,J2ME在手机、PDA等移动设备上的到了广泛的应用,目前已成为手机开发的主流平台之一,该文首先介绍了J2ME层次结构,MMAPI框架。然后对视频播放器的功能要求做了分析,搭建开发平台,设计了并实现了一款基于J2ME的移动媒体播放器。

2 技术分析

2.1 J2ME体系框架概述

J2ME平台有一系列技术规范组成。J2ME主要由配置(configuration)、简表(profile)和可选包(层)三部分组成。J2ME体系框架结构如图1所示。

2.2 MMAPI框架分析

移动媒体API(Mobile Media API,MMAPI)是JSR135定义的可选包,处于J2ME体系框架的可选包层。提供了一个功能强大,使用简单的多媒体框架。开发人员可以使用这个多媒体框架在移动设备上处理音频和视频数据。MMAPI框架有一个管理器、一个数据源、一个播放器和若干个控制器组成,其中播放器是MMAPI的核心。他们之间的关系如图2所示。

现对MMAPI框架中的各个组件说明如下:(1)数据源(DataSource):数据源由抽象类javax.microedition.media.protocol.DataSource描述,负责把多媒体数据从原始位置传输到播放器。多媒体数据可以存储在各种不同的位置。如文件、远程服务器或者记录管理系统等。根据多媒体数据的存储位置,数据源采用不同的传输协议。(2)播放器(player):播放器是MMAPI框架的核心,负责和解码数据源提供的多媒体数据,并把解析后的数据发送到输出设备的缓冲区中。Java.microediton.media.Player接口定义了管理器播放器生命周期、控制媒体重放和同步的方法。(3)控制器(Control):控制器负责改变播放器的行为。如声音控制器可以调整音频播发器的声音大小。(4)管理器(Manager):管理器又javax.microedition.media.Manager类实现,负责创建播放器和数据源。它提供了创建播放器的静态方法createPlayer。

2.3 使用MMAPI

视频播放的基本流程是:首先通过一定的网络协议或本地的位置获取传递来的流数据,然后将这些流数据传输给DataSource类进行处理,DataSource类将读取视频流和音频流数据并将它们提供给Player类,最后由Player类解析和解码数据以及识别媒体数据类型和传送媒体数据到相应的输出设备缓冲中,Player通过同步机制使用音频和视频设备实现视频和音频的播放。

播放器在其生命周期中有5种状态,图3描述了播放器的生命周期。播放器被创建成功,此时播放器处于unrealized状态。调用realized()方法初始化数据传输,当从该方法返回时,播放器处于realized状态。然后调用prefetch()方法获取音频设备、视频设备等专用资源,直到成功获取这些资源,播放器进入prefetched状态。此时播放器就可以调用start()方法开始播放媒体数据,播放器进入started状态。而在任何一种状态下,都可以调用close( )方法使播放器处于closed状态。如果播放器unrealized状态直接调用start()方法,系统将自动调用中间的realized()方法和prefetch()方法。

3 实例应用

3.1 设计要求

设计一款视频播放器能够播放MPEG格式的视频文件。具体要求如下:(1)当用户选择“打开视频文件”选项时,在屏幕上显示一个文件对话框。在文件对话框中列出了当前目录下所有的子目录和MPEG格式的视频文件。用户可以选择打开一个视频文件,也可以选择进入目录或者上一级目录。文件对话框第一次显示时,将列出移动设备中所有文件系统的根目录。(2)当用户打开一个视频文件时,将启动播放器,在屏幕上播放选择的视频文件。在播放视频的过程中,用户可以通过屏幕上的命令暂时播放和继续播放视频。用户还可以通过按下方向键改变音。(3)用户尅停止播放视频,返回播放器的主菜单,再次打开文件对话框,打开新的视频文件。

3.2 类设计

移动视频播放器共包含4个类和一个接口。一个控制器类MobilPlayerMIDlet;一个视图类VedioCanvas;一个视频播放器类VedioPlayer以及一个文件对话框类VedioFileDialog和文件对话框命令的处理接口VedioFileDialogListener。图4显示了它们之间的关系。

1)控制器类MobilPlayerMIDlet:该类是应用程序主类,实现了MIDlet的生命周期控制方法。该类实现了PlayerListener接口,能够监视播放器的变化。同时,该类还实现了CommandListener接口,处理播放、暂停等命令。2)播放器类VedioPlayer:该类描述了视频播放过程。为了避免播放视频阻塞用户界面线程,视频的播放过程在一个线程中完成。

3.3 实例实现

移动视频播放器在eclispeME+SDK平台下,采用Sun公司的WTK进行模拟,通过实验达到了预期的效果。以下是运行的效果,如图5所示。

4 结束语

移动媒体的软件开发是当前研究的热点。该文阐述了J2ME的系统架构,分析了MMAPI框架,采用该技术设计实现了一款手机视频播放器。通过实验,取得了预期的效果。

参考文献:

[1] 卢军.J2ME移动软件程序设计[M].北京:水利水电出版社,2010.

[2] 傅伟.基于J2ME的手机掼蛋网络游戏的研究[J].计算机应用软件,2013(3).

流媒体播放器篇(6)

一、引言

近年来,随着我国社会、经济、文化和教育等各项事业的不断发展,人们对互联网的依赖程度日益增强,以互联网为基础的网络广播电视受到了人们的普遍欢迎,网络广播电视以其方便、快捷及信息量大的特点受到年轻人的普遍追捧,国内各大广播电视台也开始重视将其自身视频资源优势同互联网优势相结合,推出了自己的音视频资源网站,并尝试在互联网上提供网络视频点播及广播服务,向广大观众提供海量音视频信息,扩大了受众群体,引起了业界的强烈反响。本文从流媒体技术特点、流媒体传输以及流媒体发展等方面,探讨流媒体在广播电视中的应用及未来方向。

二、流媒体的主要特点

流媒体是指将音频和视频等多媒体信息经过采用特殊的压缩算法分成一个个压缩包,由音视频服务器向用户计算机传送的一种信息传输方式。采用流媒体信息传输方式传输音视频信息时,用户不必像传统的非流式传输播放方式那样等到整个文件全部下载完毕才能看到其内容,而是只需经过几秒或几十秒的启动延时即可在用户计算机上通过相应的播放器对压缩的音频或视频等流式媒体文件进行播放,在播放过程中,文件剩余的部分将继续从服务器端继续下载,边下载边播放,直至播放完毕。

流媒体技术起源于美国。1995年,美国的progressive net works公司推出了基于C/S架构的音频接受系统real audio,随后不久,微软和苹果相继加入该领域,促使流媒体技术在短短的时间里出现了飞跃性的发展,成为互联网应用的主流。与传统广播相比,基于流媒体技术的网上广播电视具有很多优势,集中体现在一下方面。

1.用户由被动变主动

基于流媒体的广播电视使用户由被动变主动,使得听众可以随时根据需要检索节目,调整观看过程和进度,突破了传统广播电视被动接收的模式,使用户有了更多的自主选择权。

2.传播范围广,传播信息丰富

流媒体广播电视节目不受传统广播覆盖范围的限制,可以超越更广大的地理空间,进行全球化传播,同传统广播电视节目一样,可以传播文字、图像、声音、视频等多媒体信息,传输的信息内容十分丰富。

3.有利于版权保护

由于流媒体文件没有在客户端保存,因此十分有利于节目的版权保护,在一定程度上解决了节目的版权保护问题。

4.可实现经营模式的转变

传统广播电视台主要收入来源为广告业务收入,而流媒体技术使广播电视台可以建立起自己专业的节目资源库,将付费收听节目作为广播电视台的一项新的业务收入来源,实现基于流媒体的全新的经营模式。

5.移动性和便捷性

近年来,基于3G的无线互联网的发展使得流媒体技术可以被用到无线终端设备上,随着3G接入带宽率的提高,流媒体技术的应用已逐步扩充到3G用户,使流媒体有了移动性和便携性的特点,更加方便广播电视受众。

三、流媒体系统构架

1.流媒体系统构架

流媒体文件经过特殊编码并通过Internet 进行传输,实现边下载边播放,其系统构架一般由流媒体服务器、节目制作系统、业务管理系统、用户终端等组成。其中,流媒体服务器负责响应用户的请求,与用户端媒体播放器建立连接,并将多媒体流传送给客户端,它是系统中最重要的组成部分,除要求要有良好的传输能力、支持多种媒体格式外,还要求具有良好的开放性和可伸缩性,具有较强的数据读写能力和良好的系统管理功能。流媒体服务器前端可配置Web服务器作为用户门户,负责将用户请求转发给流媒体服务器;节目制作系统负责对节目源进行处理,压缩成特定的媒体格式,利用媒体采集设备对实时流进行格式转换,并将其传输到流媒体服务器上;业务管理系统负责对应用提供商、内容提供商和广告商的资源进行统一管理,对用户进行认证管理,为用户提供定制服务,实现管理计费;用户终端安装有流媒体播放器,负责接收从流媒体服务器传输过来的媒体流,并对其进行解码。除上述四个部分外,广播网络流媒体系统中通常还应配备有媒体内容自动检索系统和数字版权加密系统等,前者为用户提供节目检索,后者用于对用户数据及内容进行加密和版权保护。

2.流媒体传输过程

流媒体播放器篇(7)

关键词: 流媒体;流媒体技术;网络教学

Key words: streaming media;streaming media technology;network teaching

中图分类号:G642 文献标识码:A文章编号:1006-4311(2012)09-0133-01

0引言

随着各级各类校园网络的建设,校园网络在教学上的应用不断增强,特别是依托于网络的多媒体教学在教学中所占的比例越来越大,现在随着校园网宽带的不断拓宽,网络上的信息已经发展成为视频、音频信号组合等形式的文件,而不再是传统的文本、图像或者简单的声音文件,实践证明,我们在教学中若采用多媒体手段能使教学效果更加明显,使用多媒体教学手段也使得教学内容更容易被学生接受,流媒体文件及流媒体技术也就应时代要求而生,它也是一种新的文件格式,可以帮助学生更为流畅和迅速地浏览网上信息。

1流媒体及其相关技术原理

1.1 流媒体技术流媒体技术就是把连续的视音频信息经过压缩处理后放到网络服务器,是指应用流媒体技术在网络上传输的多媒体文件,实际指的是一种新的媒体传送方式,而非一种新的媒体。在网络中使用流式传输技术分段传输,当用户点击网络上的流媒体文件时,电脑会先创建一个缓冲区,于播放前预先下载一段资料作为缓冲,现在常用的做法是先播放一段广告或者视频的预告片,当网络实际连接速度小于播放所耗用资料的速度时,实现即时收听、收看,而且播放品质也得到保证。

1.2 流式传输基本原理流媒体实现的关键技术就是流式传输,即通过网络获得平滑的数据流,用户利用Web浏览器,再通过HTTP/TCP与Web服务器交换信息,获取流媒体服务清单,根据获得的流媒体服务清单向媒体服务器(A/V Server)请求相关服务;然后客户机的Web浏览器启动相应的媒体播放器,通过RTP/UDP从媒体服务器中获得流媒体数据,实时播放。

1.3 流媒体工作方式一个流媒体的系统包括音视频采集和压缩编码、数据存储或播放、客户端接收三部分。压缩编码服务器是流媒体系统的一个重要的组成部分,压缩编码服务器中的压缩文件将采集卡采集到的音视频信号进行压缩编码,存储到文件服务器的数据库中或直接发送给播放服务器发送出去。而播放器是对流媒体服务器输出的音视频流进行解压播放,并能检索出处理过的流媒体特征,用户可以通过播放器对音视频进行交互控制。

2流媒体技术在校园网络教学中的应用

流媒体技术综合集成了多媒体技术、网络技术和实时技术的所有优点,得到了师生的广泛应用。高校校园网建设日趋成熟,使网络多媒体教学得以实现,随着多媒体技术的不断发展,流媒体技术必将走向一个新的台阶。

2.1 课件点播课件点播它是网络教学的一种重要的表现形式。它和传统授课方式相比具有表现力更丰富、学生的学习更灵活与自由等优势。在实际应用中,我们可以把教师在教学过程中制作的PowerPoint幻灯片通过相应的软件记录下来形成单一的多媒体流,并且提供教师的声音甚至视频,通过SMIL脚本的控制协调,学生可以向服务器请求特定课件数据流的播放,可以自行选择学习内容,不受时间、地点的限制,并且可以控制开始、暂停、前进和后退等播放过程,突破了传统“面授”的局限,为学生的学习上提供了便利。

2.2 交互式教学在教师端与学生端分别增添各种设备,通过摄像头将教师授课与远程学生联系在一起,这些设备包括摄像头、视频采集卡、麦克风、声卡等,通过它们可以将信息实时传输到流媒体编码机,学生和其他一些人员可以通过因特网相互学习并进行交流,经过采集卡的采集、编码后实时上传到流媒体服务器,这种交互式教学实现人性化的指导和服务,最后再由流媒体服务器实时到终端计算机,最终完成整个学习的过程。

2.3 讲座直播学校的教学活动中,经常会聘请专家和知名教授进行学术交流,利用流媒体技术还可以实现校园网上学术活动的实时转播。由于场地或其他因素的制约,并不是每个人都能亲临现场,用一台摄像机放在活动现场,用摄像机拍摄下专家的报告过程,就可以利用流媒体技术的实时流式传输特性,经采集、编码后再实时地上传给流媒体服务器,这样,学生就可以在不同的地点在同一时间聆听现场报告,它对做专题报告也同样适用。最后由流媒体服务器实时到其他教室的终端计算机上,实现教学资源利用的最大化,感受网络视频直播的优势和魅力。

2.4 视频点播教师可以把自己授课用的电子讲稿、视听素材上传到网上,或者根据课堂教学的要求,自由的点播教学资料,利用流媒体技术将大量的音频视频资料存储在校园网服务器上。讲课时根据课堂教学进程随时点播相关资料,不但增强了教学的直观性,而且提高了课堂教学效率,能给学生提供更为丰富多彩的教学信息,实现实时控制内容的播放状态,使得课堂内容更加声情并茂。

3目前制约流媒体应用的因素

通常情况下,媒体流传送给客户浏览器的过程实际是并行传输的过程。而在Internet上同步传输多媒体内容意味着我们必须将内容精确地传送到浏览器,这对传输过程中的同步技术要求很高,因此目前影响流媒体技术发展的最大问题是网络带宽。在目前利用现代网络技术建立起来的校园网所提供的几十兆甚至上百兆的网络带宽情况下,许多基于校园网的同步多媒体教学是完全可以实现的。

就目前来讲,能够在互联网上进行多媒体交互教学的流媒体技术流媒体有RealSystem、Flash、Shockwave等流媒体技术,这些流媒体技术结合其他多种网络实现技术,再充分利用传统多媒体教学资料库,我们将能够更有效地开展基于网络的教学,提高教学效果。流媒体的动态性、交互性、实时性将使远程教学变得更加个性化,为了使流媒体的应用更加普及,还需要对流媒体的关键技术进行深入的研究,使得流媒体能在教育行业展示出广阔的应用前景。

参考文献:

流媒体播放器篇(8)

中图分类号:TN943.6 文献标识码:A 文章编号:1007-9416(2012)09-0071-01

进入21世纪以来,随着计算机技术、网络通信技术的飞速发展,传统的教育教学模式面临着巨大的挑战。利用互联网进行网上教学、进行网络课程的开发已经成为教育技术界讨论的重要问题和改革趋势。其中音视频的直播传输在远程教育中已经被广泛的加以应用并得到了良好的效果。

1、流媒体技术的原理

1.1 流式传输

对于一些比较小的音视频文件,可以通过下载存储到本地计算机,然后再进行观看。但对于大部分带有视频的的文件,一小时的节目就需要占用几百MB,甚至达到几个GB的存储空间,此时采用下载观看的方法就不方便了。另外,对于一些时效性比较强的节目,显然用下载的方法无法满足直播性的要求,因此,就需要采用一种具有实时性的传输方式——流式传输。

对音视频信息使用流式传输,需要使用专门的流媒体服务器向客户终端用户发送视频图像、声音、动画等多媒体信息,其传输过程是由流媒体服务器连续、实时地向客户端发送。这样用户就不必等文件全部下载到本地才进行观看,而是一边从流媒体服务器接收数据,一边在客户端的多媒体播放软件中观看已传到本地的数据,而在播放的过程中,播放软件仍在不断地接收服务器发送过来的数据,这样就可以连续不断地看到节目。

通过流式传输,用户就可以实时地看到节目。这里说的实时其实对于一些直播节目还是有一点延迟,例如看网络电视的节目通常会比广播电视网中传输到电视机上的节目有2分钟左右的延迟。延迟的原因一是网络传输速度的影响,另一个重要原因是这些多媒体节目都需要一个视频压缩转换的过程。当然,随着流媒体技术的发展,将来也完全能做到完全实时同步。

1.2 流媒体播放方式

(1)单播方式:一台服务器传送的数据包只能传递给一个客户机,媒体服务器必须向每个用户发送所申请的数据包,多个点对点方式结合。

(2)组播方式:允许路由器将数据包复制到多个通道,客户端共享一个数据包,按需提供。

(3)点播与广播方式:点播连接是客户端与服务器之间的主动的连接。在点播连接中,用户通过选择内容项目来初始化客户端连接。用户可以开始、停止、后退、快进或暂停流。点播连接提供了对流的最大控制,但这种方式由于每个客户端各自连接服务器,却会迅速用完网络带宽。广播指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流。

本系统应用的就是广播方式。

2、实况编码服务器的设置

实况编码服务器包括高性能多媒体计算机一台、Oserpy-210流媒体卡一块,Sony DVC33摄录一体机一台,具体设置如下所述:

实况流编码器1(多媒体计算机)的配置

(1)“开始”—“程序”—“Windows Meadia”—“Windows Meadia编码器”;

(2)弹出“新建会话”对话框,选择“广播实况事件”并“确定”;

(3)点击“下一步”,弹出“广播方法”对话框,选择“自编码器拉传递”;

(4)点击“下一步”,弹出“广播连接”对话框,随机查找可用的HTTP端口,这里我们选择“1085”端口;

(5)连续“下一步”后,点击“完成”,弹出“Windows Meadia编码器”界面,点击“开始编码”按钮,编码开始。

至此,音视频直播实况流编码服务器完成。

3、流媒体服务器配置

本次流媒体服务器所使用的操作系统是Windows server 2003,具体操作如下所述:

(1)“开始”—“设置”—“控制面板”—“管理工具”—双击“Windows Media Services”,弹出Windows Media Services控制界面;

(2)在“点”上右击,选择“添加点(高级)”,弹出“添加点”对话框。

(3)点击“确定”,回到Windows Media Services控制界面,流媒体服务器配置完成。

4、客户端测试直播

“开始”—“运行”,输入“mms://TEACHER/直播”,“确定”后会自动启动“Windows Meadia Player”播放器,开始播放“直播实况”,至此,基于网络流媒体技术的音视频直播成功。

5、结语

本文阐述了一种使用Windows Media Services流媒体服务器来实现基于网络的音视频直播方法。在实际使用过程中,从摄像机获取的音视频得以顺畅的通过网络传送到客户端,达到了比较满意的效果。当然,本研究还存在许多不足之处,比如可以在以后的实践中尝试基于Linux环境下搭建Helix producer的流媒体传输等更全面的技术。

参考文献

[1]庄捷.《流媒体原理与应用》[M].北京:中国广播电视出版社,2007.

[2]齐俊杰等.《流媒体技术入门与提高》[M].北京:国防工业出版社,2009.

流媒体播放器篇(9)

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)02-0161-05

一、引言

流媒体播放技术是当前互联网视频播放的主流技术,为了改变原有B/S模式下对媒体服务器并发能力和网络负载的巨大需求,[1]P2P技术采用分布式共享原理,将播放内容在用户播放端之间进行分发和传播,形成了一种新的传输模式,克服了原有视频数据均通过客户端和服务器之间直接传输模式的不足,现有市场上的PPLive,Torrent软件等均依据此原理进行设计和实现。另一个方面,由于P2P技术的应用,在客户端网络也会产生较大的网络流量,对终端网络的流量管理也带了一定的困难。因此,如何根据网络当前负载情况和服务器性能,设计一种兼顾两种传播模式的流媒体播放系统,将具有较高的实用价值。网络教育是流媒体播放技术的典型应用领域,如现有MOOC学习模式为源自斯坦福大学、哈佛和MIT大力推动的基于网络的一种学习模式,成为2012至2013年最受关注的创新型教学模式,其开放系统在全世界拥有几十万至百万级的用户,视频文档是其主要资源之一,主要通过流媒体方式进行学习。江苏电力网络大学为满足江苏省所有电力职工的在线学习而设计,同时对全国电力系统开放,是电力系统在线学习和考试的重要平台,具有数十万个终端用户。本文的设计目标为针对现有网大在线学习系统在并发访问支持方面的不足,在不改变原有系统总体架构和用户使用方式的前提下,利用P2P技术为现有系统提供一种新型的学习点播服务模式,并且保证能够与现有流媒体点播方式相兼容。针对以上需求,本文对MediaPlayer播放器的工作原理进行了详细分析,提出了一套具有播放模式感知的视频播放系统设计方法,将设计完成的播放系统在江苏电力网络大学环境中进行实施部署和实际测试,各项功能和指标满足设计需求,解决了两种播放模式的兼容和播放质量保证的问题。

二、系统架构设计

江苏电力网络大学网络拓扑设计采用“集中―分布式”模式,呈现为“中心―区域―播放终端”三层结构。中心位于南京,部署所有的课件资源。区域为江苏各个二级城市,每个区域向该区域内所有职工提供视频学习服务。由于区域节点数目有限、而终端播放用户并发数量较大,[2]因此中心节点和区域节点之间采用FTP协议进行通信,并将用户需求视频暂存。区域节点和终端用户之间采用流媒体视频点播和P2P传输两种模式。具体系统架构见图1所示。

区域中心流媒体服务器不仅能够提供视频流媒体点播,而且能够根据区域点播用户负载情况实时启动P2P机制,因此除了部署点播服务器之外还需要设计目录服务器以提供P2P服务,如图2所示。P2P目录服务器的功能如下:负责管理各个在线客户端以及所有课件视频分段的分布信息,并接收处理P2P客户端的各种请求。

用户播放端软件能够自动感知目录服务器是否在线,从而进行两种工作模式的自动转换。如图2所示,P2P客户端的功能如下:负责处理本客户端所需视频的P2P传输业务、其他客户端向本客户端发出的传输视频请求业务、本客户端与P2P目录服务器的信息交互业务。

三、关键技术及相应策略

根据系统的功能需求,系统设计中需要解决以下关键技术:

1.如何保证系统两种工作模式的兼容性。现有在线学习系统为流媒体点播服务模式,若在原有基础上,基于P2P技术设计一种新的分布式资源模式,需要保证整个系统在两种服务模式方面的相互切换、相互补充。[3]在并发用户正常情况下,区域服务器保持原有流媒体点播工作模式,在并发用户数量较大时,区域服务器则转换到P2P模式下工作,而在P2P异常情况下,系统也能够自动切换到原有流媒体点播服务模式下工作。采用的策略:在区域中心服务器上设置一监视功能模块,维持两个变量,流媒体点播用户数量StreamUser和P2P用户直接从区域服务器下载分片的用户数量P2PServerUser,若StreamUser大于给定值,则系统转换到P2P模式下工作;若P2PServerUser大于给定值,说明P2P用户数变少或者发生了系统异常,则系统工作模式转换到流媒体点播模式下工作。

2.Media Player播放器如何支持P2P工作模式。在现有系统工作模式下,Media Player作为客户端与媒体服务器通过实时流媒体传输协议RTP、RTCP和UDP协议进行内容传输,系统采用“边播放边传输”方式工作;在P2P模式下,Media Player需要从本地获取播放内容,而内容的获取通过P2P机制从其他用户端进行下载,采用“边播放边下载”方式进行工作。采用策略:用户播放端软件首先判定区域服务器上的P2P目录服务是否为工作状态,若是则用户播放端软件自动启动P2P模式,从目录服务器获取种子节点信息,启动多线程进行本地网络的视频分段下载。

3.P2P系统内容负载均衡问题。P2P系统中的负载均衡问题指如何保证在多个用户终端并发播放时,防止出现种子节点选择热点问题。[4]P2P机制本身的优势在于同一个内容播放的用户越多,后来的用户下载的速度就越快,但如果没有好的机制避免其热点问题,其优势就难以发挥出来。采用策略:用户终端在播放某一视频时,首先从区域目录服务器上获取该视频的分片信息及每个分片的种子信息,目录服务器在选取每个分片的种子节点时采取“同一网段内的种子节点、P2P服务当前线程数少的种子节点和心跳网络性能最好的种子节点”三个优先级进行选取,一方面防止某个种子节点成为P2P热点,同时保证能够选取性能较好的节点。

4.P2P系统异常处理。在P2P机制中,视频播放器数据来自于本地多线程从区域内其他播放终端下载的P2P分片,[5]在下载过程中,由于网络状况的不稳定,或者由于视频资源提供端的突况,可能会导致P2P分片无法成功下载,为了保证系统的健壮性,异常处理机制必不可少。异常处理策略:主要异常分为种子节点分片不存在、网络异常中断、种子节点异常关闭、种子节点线程过多拒绝服务异常,[6]处理策略为在种子节点列表中联系其他节点,若仍然不能成功获取分片数据,则从区域目录服务器直接获取分片资源。

四、系统设计与实现

系统软件主要由区域服务器和播放终端两个主要部分构成。

1.播放客户端软件设计与实现。播放客户端在播放之前首先需要向区域P2P目录服务器获得播放文件的种子信息,然后启动多线程进行播放终端之间的P2P分片资源共享。播放客户端与区域P2P目录服务器之间的交互如图3所示。[1]

播放终端之间通过P2P方式进行视频分片的分布式共享与传输,从而保证播放器本地数据的快速获取,取代流媒体点播获取播放数据的模式,两个播放终端之间的分片传输如图4所示。

播放终端之间进行P2P视频分片传输时可能产生不同的异常,这里对分片提供者产生的异常和网络通信异常分别进行了不同的处理。具体如图5所示。

2.区域P2P目录服务器端软件设计与实现。P2P目录服务器的软件主要为种子文件生成及选源策略、P2P播放客户端的心跳监控与处理、P2P播放客户端分片种子信息更新等模块。

种子生成与选源策略模块主要负责处理P2P播放客户端发送来的视频资源请求。客户端制定文件名与文件地址,服务器根据客户端需求的视频文件,在数据库的ClientFragmentTable表中选出种子客户端,生成一个xml类型文件的种子列表,发送给请求方客户端。

按照选源策略,种子节点选择算法(SourceSelect算法)的具体描述如下:

在选源算法中,一般需要选出的种子数量为6个,所以实现中的n等于6。选出一个种子,需要遍历整个含有分段的种子集合一次,选出6个种子,生成种子列表的情况下,算法的复杂度就为O(6N)。在达到均衡机制的要求下,该算法是合理有效的。

P2P目录服务器需要对播放终端的上线及学习过程进行记录存档,同时通过心跳功能获取当前节点的通信性能,为种子节点选择做好准备。

心跳功能的记录结构如表2所示,IP地址用于判定所在的网段,UploadNum记录当前播放终端启动的线程数,本系统规定线程数为4个,线程数作为种子节点选源的一个因素之一。

P2P目录服务器提供每个视频文件的种子文档信息,以便用户播放端能够进行终端网络的P2P终端分片共享,由于视频分片的分布是动态的,因此每个播放终端将自己所拥有的视频分片向目录服务器进行汇报,为种子文档的产生做好准备。分片更新工作流程如图6所示。

分片更新算法UpdateLocalFragments如下:

该算法根据本文设计的更新本地分片的策略进行实现,将本地的分片更新到服务器从而实现数据的共享。

五、系统测试

系统测试主要通过测试用例对系统的各项功能进行测试,[8]主要包括流媒体播放与P2P播放两种模式的切换测试、P2P目录服务器的P2P下载功能测试、用户播放端分片信息更新的测试、用户播放端之间的多线程P2P下载与上传功能测试、P2P目录服务器种子节点选源均衡策略测试、P2P传输异常测试。这里仅给出三个主要功能测试用例及测试结果。

测试环境如图7所示:

(1)服务器1台,该服务器上部署一个流媒体课件服务器、一个课件点播web服务器(网络大学学习平台)、一个P2P目录服务器。

(2)用户播放终端计算机5台,具有浏览器软件和P2P客户端软件。

主要功能的测试样例及测试结果:

1.流媒体播放与P2P播放两种模式的切换测试

2.P2P客户端之间单线程和多线程传输功能测试

3.P2P目录服务器种子节点选源均衡策略测试

以上结果是在实际环境下测试的实际结果,实际测试表明所完成的设计符合实际设计需求,功能正确。

六、分析与讨论

本文根据实际需求,在原有流媒体视频点播架构的基础上,增加P2P视频播放功能,所实现的系统设计和功能满足了两种播放模式的兼容和自动感知切换,充分利用了两种播放模式各自的优点,系统设计考虑了各种异常处理方案,使得系统本身具有较好的健壮性,系统的机制和策略具有实际价值,能够应用于不同领域中的数据分发和共享。

参考文献:

[1]沈时军,李三立.基于P2P的视频点播系统综述[J].计算机学报,2010,(04):613-624.

[2]王书芹,姜秀柱,田芳,等.基于P2P的流媒体点播系统中客户端缓存的研究[J].计算机应用与软件,2009,26(9):219-221.

[3]方炜,吴明晖,应晶,等.基于P2P的流媒体应用及其关键算法研究[J].计算机应用与软件,2005,22(5):35-37.

[4]黄良飞.基于DirectShow技术的网络视频播放器设计[D].浙江大学硕士学位论文,2007.

[5]吕伟梅,郑庆华,黄华,等.移动流媒体播放器的设计与实现[J].计算机科学,2008,35(9):126-128.

流媒体播放器篇(10)

流媒体是指运用可变带宽技术,在数据网络上按时间先后顺序传输和播放连续音/视频数据的一种格式。流媒体在播放前只将部分内容缓存,并不下载整个文件,在数据流传送的同时,用户可在计算机上利用相应的播放器或其它的硬件、软件对压缩的视音频等流式多媒体文件解压后进行播放,这样就节省了下载等待时间和存储空间,延时大大减少,而多媒体文件的剩余部分将在后台的服务器内继续下载。

二、流媒体系统及其关键技术

流媒体数据流具有连续性、实时性、时序性三大特点,具有严格的前后时序关系。

流媒体系统的组成

流媒体系统包括音视频信号编解码、存储、流媒体服务器、流传输网络、用户端播放器五个部分,原始音视频流经过编码和压缩后,形成媒体文件存储,媒体服务器根据用户的请求把媒体文件传递到用户端的媒体播放器。

流媒体文件格式

流媒体文件是将一个视频分段传送,用户不必等待整个内容传送完毕,就可以观看到即时、连续的内容,甚至可以随时暂停、快进、快倒。由于不同公司的文件格式不同,传送的方式也有所差异,以下是目前流行的几种流媒体文件格式。

(1)Microsoft公司的WMV格式

(2)Adobe公司的FLASH格式

(3)苹果公司的QuickTime格式

流媒体系统的关键技术

流媒体系统中,影响流媒体播放质量的三个最关键的因素是:编码和压缩的性能与效率、媒体服务器的性能、媒体流传输的质量控制。

(1)编码/压缩

流媒体系统中的编码用于创建、捕捉和编辑多媒体数据,形成流媒体格式。

(2)流媒体服务器

流媒体服务器是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。其主要功能是对媒体内容进行采集、缓存、调度和传输播放。服务器性能的关键指标是流输出能力和能同时支持的并发请求数量。

(3)流媒体传输网络

流媒体传输网络是适合多媒体传输协议甚至是实时传输协议的网络。

流媒体在因特网上的传输必然涉及到网络传输协议,这是制约流媒体性能的最重要的因素。为了保证对网络拥塞、时延和抖动极其敏感的流媒体业务在面向无线网络中的服务质量,必须采用HTTP、RTP、RTC P、RTSP、RTMP等合适的协议。

流媒体播放器篇(11)

中图分类号 G206文献标识码 A文章编号 1674-6708(2010)17-0004-02

随着网络技术的飞速发展,校园网络带宽不断拓展,网络的应用更加丰富,网络信息已经从原来只用文本、图像、声音文件,发展到视/音频信号组合等大容量形式文件。近年来,流媒体技术的成熟与广泛应用,使这些文件的播放更加方便、快速、流畅,并实现了教学资源、会议、讲座通过网络直播、点播,使学生可以随时随地根据自己需要,选择学习自己感兴趣的知识,改变了网络教育的传统模式,促进远程教学、网络教学的发展上了一个新的台阶。

1 流媒体技术简介

流媒体技术也称流式媒体技术,就是把连续的视/音频信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不要等整个压缩文件下载到自己的计算机上才可以观看的网络传输技术。流媒体在播放前并不需要下载整个文件,只将开始部分内容存入内存,等待几秒或十几秒后,流媒体数据流随时传送随时播放,所以,在播放过程中用户避免了等待整个文件全部从Internet/Intranet上下载完成才能观看的缺点。

目前,比较流行流媒体技术及产品主要有三大“流派”:一是Real Networks公司的Real Media;二是苹果公司的QuickTime;三是微软的Windows Media。其中Windows Media 与Windows集成在一起,使用方便,用户最为广泛。它主要包括Media Tools,Media Services和Media Player3部分:Media Tools提供了一系列的流处理工具,Media Services是流媒体服务器端的程序,它支持单播、组播、广播和点播等多种媒体播放方式;Media Player是客户端的播放应用程序,它负责媒体的播放,主要文件格式有.asf和.wmv等。

Windows Media技术提供了一系列流式媒体服务工具,用以创建、制作、、播放和管理等一整套解决方案,还免费提供了开发工具包(SDK)代二次开发使用。为网络流媒体播放系统组建提供了极大的便利。本文就以运用Windows Media软件,提供流媒体点播解决方案。

2 网络VOD传输方式

VOD (Video On Demand)即视频点播技术的简称。视频点播是计算机技术、网络技术、多媒体技术发展的产物,是一项全新的信息服务。它摆脱了传统视频受时空限制的束缚,解决了一个想看什么节目就看什么,想何时看就何时看的问题。VOD常用的传输方式主要有两种,一种是顺序流式传输,另一种是实时流式传输。

2.1顺序流式传输

顺序流式传输是顺序下载,在下载文件的同时用户可以观看,而且用户只能观看已下载的那部分,而不能要求跳到还未下载的部分。顺序流式文件可以放在标准HTTP或FTP服务器上,可用标准HTTP服务发送,而不需要特殊协议,它不支持现场广播。

2.2实时流式传输

实时流式传输中,音视频信息可被实时观看到。即用户想从那开始看就可以从那开始看,在观看过程中用户可快进或后退以观看前面或后面的内容。实时流传输与顺序流式传输不同,它需要专用的流媒体服务器与传输协议,如QuickTime Streaming Services、Real Services与Windows Media Services。这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。实时流式传输还需要特殊网络协议,如:RTSP (Real time Streaming Protocol)或MMS (Microsoft Media Services)。

顺序流传输的实现方法简单,但播放进程只能按顺序从头到尾,在网络教学应用中不能控制。比如,对于重点难点,老师需要反复播放某一片段的内容,采用顺序流就无法实现了。为了克服这一缺点,我们利用微软的Windows Media,实现实时流点播,使校园网中教师与学生都可以控制视/音资源,以将丰富的教学素材引入到课堂,有利于学校教学资源网络化。

3 校园网实时流VOD系统开发

我们要求校园网络中的多媒体数据以实时流形式传输,它与传统的文件传输数据不同,多媒体数据一旦开始传输,就必须稳定的速率传送到用户桌面,以保证播放效果。网络拥堵、进程中断、I/O瓶颈都可能导致传送延迟,引起数据流传输阻塞。下面笔者以我校校园网为基础,以Windows Media提供的系统软件为例,探讨流媒体点播系统的组建。

3.1校园网VOD系统基本功能要求

1) 可以让一个节目在同一个时间内供多个用户同时点播;

2)提供全屏播放,暂停、停止、快倒、快播、跳播的功能;

3)提供A/V数据库的增添、删除、查询等管理能力;

4)支持节目名的检索,能够以极快的速度查找到想要的资源。

3.2系统组成

为了满足校园网VOD系统基本功能要求,实现校园网络流媒体的实时流式传输,我校VOD系统主要由以下几个部分组成,如图1所示。

1)节目源:摄像机、电视机、VCD光盘;

2)A/V捕获和压缩编码:A/V捕获卡,编码软件Media Encoder,将捕获的A/V信号进行编码压缩后送到多媒体播放服务器,采集格式是微软的流媒体格式,如:.asf、.wmv等;

3)Windows Media Services:设置点播服务,运行流播放软件播放视/音频;

4)终端工作站:使用IE浏览器,用于实时点播A/V节目。

从系统硬件结构看,它与一般的一个点播系统没什么区别,实时流的实现关键技术主要是在软件上进行必要的设置和对播放器编码程序进行控制。

3.3系统实现的关键技术

1)Windows Media Services的设置。在Windows Media Services上设置点播服务站,将要点播的视/音频文件映射到该站点上,这是实现实时点播的一个技术关键。如果将点播视/音频文件映射到IIS服务上,就无法实现对流的实时控制,只能顺序流传输,HTTP方式只能以顺序流的方式播放流媒体。

可以说,“点播”指的是一种典型的文件传输过程,在这个过程中,只将单独的数据副本从源位置发送到请求该数据的每个客户端。设置点播站后,所播放的文件实际是通过Media Services的点播站,其传输协议是mms,其URL由服务器名、虚拟点播站名和流文件名(*.wmv *.wma *.asf)组成。

设置 Windows Media Services 的过程极其简单:

(1)将Windows Media 文件(*.ASF 或* .WMA)放置在运行 Windows Media 管理器的 NT Services 上的 ASFROOT 目录中。

(2)创建 ASX 或 WAX 文件,该文件是页面与 Windows Media 文件之间提供链接的、文本形式的元文件。对于 ASX 文件,代码如下所示:

(4)更改 标记中的路径,以使其指向Windows Media 文件。

(5)将该文件保存到 Windows Media 文件所在的同一个文件夹中,并将其扩展名从 .txt 更改为 .asx 或 .wax。

2)A/V节目编码。为了使录制视/音频资源实现实时流点播,首先要对其进行编码。在用Windows Media Encoder对节目编码时要做注意二点,才能够实现节目随着拖动播放,一是在设置文件输出分发时,应选择“文件将从windows Media服务器传输”;二是文件保存时要选择“将索引添加到文件”。如果没有做到这两点,则需要用Encoder重新处理,或者用Windows Media Tools将文件重新编辑一下。

3)终端工作站配置。在点播工作站,可以用Media Player来点播服务器中的资源,对于将Media Player嵌入网页的代码设计者可根据所用网页制作软件进行编写。

4 结论

本文的设计实例是笔者借助于本校原来完善的局域网组建的流媒体点播系统,设计、开发符合我校视频点播的应用要求,目的就是将教学、娱乐、资讯与网络集成在一起,实现交互和实时的管理和服务,以更好的发挥校园网络的作用,改善教师教学的手段,学生自主学习的机会。

参考文献

推荐精选