流媒體播放范文

時間:2023-03-27 01:25:35

導語:如何才能寫好一篇流媒體播放,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

流媒體播放

篇1

關鍵詞: 流媒體; JSP; Html5; Chrome瀏覽器; 視頻控制

中圖分類號:TP37 文獻標識碼:A 文章編號:1009-3044(2016)18-0191-03

Design and Implementation of Playing Streaming Media Based On JSP

YANG Zi-xiang,LIN Peng

(Tianjin Open University, Tianjin 300191, China)

Abstract: With the development of Internet, playing web video is more and more on web. However, if playing the video through the HTML5 or the Html tag, then dragging and dropping the video only after the completion of the video completely downloaded before using. Through research and analysis principles of streaming media server of Windows Media Services, and research Http package of Chrome browser, the paper successfully devised playing streaming media with JSP program. By publishing program on Tomcat, users can drag and drop the video during playback, successfully resolving the problem of the HTML5 or the Html tag with not drag.

Key words:Streaming Media; JSP; Html5; Chrome browser; Video Control

1 概述

隨著Internet的發展,網頁視頻播放的使用越來越多。因此,視頻播放的用戶體驗也越來越實用;視頻的播放、暫停、定點播放等操作的需求也就越來越大,而且也更符合用戶實際瀏覽視頻的要求。但是,目前如果直接通過HTML5的或者Html的標簽播放視頻的話,視頻的拖拽功能只有在視頻完全下載完成后才能使用。這就會加大服務器的壓力,因此越來越多的用戶開始使用流媒體。

所謂流媒體是指采用流式傳輸的方式在Internet播放的媒體格式。流媒體又叫流式媒體,它是指商家用一個視頻傳送服務器把節目當成數據包發出,傳送到網絡上。用戶通過解壓設備對這些數據進行解壓后,節目就會像發送前那樣顯示出來。流媒體的出現極大地方便了人們的工作和生活。目前,使用流媒體的話都會通過流媒體服務器(比如Windows Media Services等)來搭建流媒體平臺[1-4]。

JSP作為一種網頁開發語言,在網站的開發中使用者的比例很大;因此,使用JSP開發的網站對視頻播放的需求也會越來越多。但是,如果直接通過JSP后臺平臺結合HTML5的標簽進行視頻播放的話,就會出現網頁中視頻無法拖拽,從而不能實現定點播放等功能。所以,通過JSP語言實現視頻的流媒體播放對于JSP網站來說,不僅可以省去借助流媒體服務器的煩惱,而且可以實現在線視頻播放的隨意控制,從而滿足用戶的實際需求。

2 基于流媒體服務器的網頁播放探究

流媒體服務器的使用,解決了視頻播放過程中,直接訪問網絡視頻資源導致的視頻拖拽問題。因此,流媒體服務器的網頁視頻資源的訪問方式對于本文的設計來說,具有很大的價值。Windows Media Services作為一種流媒體服務器,是Windows Server服務器系統中使用頻率很高而且性能很好的流媒體服務器。本文通過Chrome瀏覽器訪問Windows Media Services中視頻資源的流程研究發現,在視頻拖拽的控制中,Chrome瀏覽器都會發送Http請求包;Windows Media Services接收到瀏覽器的請求后,再根據Http中包含的內容返回相應的視頻片段。具體的流程如圖1所示。

如圖1中流媒體視頻在Chrome瀏覽器和Windows Media Services流媒體服務器之間的交互可以看出,無論視頻的播放還是中間視頻播放控制,都是Chrome發送Http包進行控制;而Windows Media Services流媒體服務器則是負責對視頻片段的返回。因此,本文使用Chrome瀏覽器訪問對已經在Windows Media Services流媒體服務器中的視頻,通過Chrome瀏覽器中的Network網絡工具,對Http包進行抓取。圖2中顯示的是視頻點擊開始播放后,即視頻從頭開始播放,抓取的Http請求包的頭文件內容。圖3和圖4中顯示的則是視頻播放過程中點擊視頻任意位置后,抓取的Http請求包的頭文件內容。

3 基于JSP的在線流媒體播放的實現

在第二節中,本文通過Chrome的Http包的追蹤功能,截取了視頻在播放控制過程中不同播放位置請求的包。通過圖2、圖3和圖4的追蹤結果可以看到他們的Request Headers以及Response Headers中的部分頭文件字段是不同的,具體的信息比較如表1所示。

由表1中可以看到,三個圖中的Http包中只有Range、Content-Range字段是不同的,其他的字段的內容根本就沒有發生變化。其中,Range是Request Headers中的字段,Content-Range是Response Headers中的字段。在表1中還可以發現,Content-Range字段的內容和Range字段的內容有一定的關系;Content-Range內容中“-”前的數值和Range是一致的。同時,在表1中也可以發現,Content-Range字段和Content-Length字段有一定的關系;Content-Range內容中“/”后的數值和Content-Length是一致的。我們知道,Http包中的Content-Length的作用主要是記錄文件的長度,因此可以在服務器端通過程序求出文件的大小。

由于Http包中的Request Headers是由瀏覽器進行發出并封裝的,因此本文的程序無法控制包中的Request Headers內容。但是,Http包中的Response Headers是由服務器封裝后返回給瀏覽器的;因此,本文的程序設計將會根據Http包中的Request Headers字段內容,對Http包中的Response Headers字段進行封裝返回給服務器。根據以上的分析,本文通過JSP進行程序設計如下:

@RequestMapping(value = { "/videos/{path}" })

public String displayVideo(HttpServletRequest request,

HttpServletResponse response, @PathVariable String path) {

try {String filePath = videoDir + path + ".mp4";

File file = new File(filePath);

if (!file.exists()) {

response.sendError(404);

LOG.error("未找到文件" + file.getCanonicalPath());}

Long fileLength = file.length();

LOG.debug("文件找到了,大小為" + fileLength);

String range = request.getHeader("range");

if (range != null && !range.equals("")) {

LOG.debug("請求的名字是range,內容是" + range); }

Long startPos = 0l;

if (range != null && !range.equals("")) {

Pattern pattern = Pattern

.compile("^bytes\\=(\\d+)(?:\\-(\\d+)?)?$");

Matcher matcher = pattern.matcher(range);

LOG.debug(matcher.matches());

startPos = Long.parseLong(matcher.group(1), 10);

LOG.debug("成功截獲range,開始位置是" + startPos);

response.setStatus(206);

} else {

response.setStatus(200);

LOG.debug("從頭開始傳送");}

InputStream is = new FileInputStream(file);

OutputStream os = response.getOutputStream();

byte[] buffer = new byte[1024];

response.addHeader("Content-Range", "bytes " + startPos + "-"

+ (fileLength - 1) + "/" + fileLength);

response.addHeader("Content-Length", fileLength.toString());

response.setCharacterEncoding("UTF-8");

response.setContentType("video/mp4");

response.setHeader("Accept-Ranges", "bytes");

is.skip(startPos);

int length = is.read(buffer);

while (length > 0) {

os.write(buffer, 0, length);

length = is.read(buffer); }

os.flush();

os.close();

is.close();

} catch (Exception err) {

if (err.getClass()

.getName()

.equals("org.apache.catalina.connector.ClientAbortException")) {

LOG.debug("客戶掛斷了");

} else {

err.printStackTrace();}}

return null; }

在本文的程序設計中,瀏覽器的視頻請求URL路徑的后端是通過JSP中的Spring框架進行控制,在路徑中的/videos/{paths}即是視頻路徑存儲在磁盤的相對位置;在程序中,視頻的讀取并沒有經過中間的流媒體服務器,而是直接讀取在磁盤中的視頻文件。經過程序在Tomcat7上測試之后,視頻在播放的過程中,用戶可以根據需求隨意拖拽,解決了Html5中標簽不能播放的問題。具體的如圖5所示,圖中顯示的是程序后視頻隨意播放截取的Http包。經比較,與文中的圖3、圖4中間播放的Http包的內容是相似的,實現了流媒體播放的效果。

4 結論

本文通過分析Windows Media Services流媒體服務器中視頻拖拽播放控制過程中,Chrome瀏覽器發送的Http包的信息,得出了瀏覽器播放視頻時播放控制和Http包中Request Headers、Response Headers頭文件的關系。并且,本文通過JSP程序語言的設計,成功實現了流媒體服務器控制視頻播放的原理。本文設計的程序到Tomcat后,經過該程序訪問的視頻都可以在瀏覽器端隨意拖拽播放視頻,解決了Html5的標簽不能直接播放服務器磁盤中視頻的弊端,也省去了流媒體服務器視頻的任務。

參考文獻:

[1] 蔣太杰. Windows Media Services及其在遠程教育中的應用[J]. 指揮技術學院學報, 2001, 12(6): 81-85.

[2] 王雪婷, 于勇. Windows Media Services流媒體技術與實現[J]. 信息技術與信息化, 2006(1): 51-53+64.

篇2

關鍵詞:ARM;Qt;嵌入式Linux;流媒體播放器;Xvid

中圖分類號:TP302.1 文獻標識碼: A文章編號:1009-3044(2010)10-2466-02

Design of Embedded Streaming Media Player Based on ARM and Qt

GUI Ling

(College of Computer Science & Technology, Wuhan University of Technology, Wuhan 430063, China)

Abstract: This paper is focused on the design of embedded streaming media player based on the MC9328MX21 of Freescale as the core processor. And the operating system is embedded Linux which source code is open. In addition, it selects the latest version of Xvid as the decoder and takes Qt development library to design the graphical user interface. With a real-time streaming transmission technology, the play, pause, stop and other functions of streaming media are implemented in this player. At the same time the player can remote control the streaming media server.

Key words: ARM; Qt; embedded Linux; streaming media player; Xvid

隨著數字信息技術和網絡技術的高速發展,人們的日常生活已經越來越離不開嵌入式系統。現今,開發功能齊全、可靠性高、操作簡單的嵌入式流媒體播放器己經成為計算機、通信以及消費電子產業技術發展的主要方向之一[1]。

本文中的流媒體播放器采用嵌入式技術、MPEG-4圖像編碼技術以及實時流式傳輸技術,把從流媒體服務器接收的壓縮碼流,進行實時解碼并同步播放,同時還能遠程控制流媒體服務器,實現對流媒體的播放、暫停、停止等功能。另外,利用ARM集成技術還可以實現系統的小型化、 模塊化,提高了系統的通用性和可擴展性。

1 系統的整體設計

嵌入式流媒體播放器的系統體系結構可以劃分為以下三層:硬件層、內核層和應用層,如圖1所示。

系統的軟件部分主要分為內核層軟件和應用層軟件。內核層軟件包含嵌入式操作系統以及硬件設備的驅動程序。其中,嵌入式操作系統采用嵌入式Linux系統,其構建過程包括:建立系統引導程序Bootloader、定制Linux的內核、創建根文件系統[2]。音視頻解碼器、通信協議棧和圖形用戶界面三個主要模塊組成了應用層軟件。通信協議棧的主要任務是:建立與流媒體服務器間的通信,接收流媒體碼流并對碼流進行相應處理;通過音視頻解碼器對音視頻壓縮碼流進行實時解碼;圖形用戶界面用來向用戶提供交互式的操作界面,使用戶能控制、播放解壓縮后的音視頻數據。

嵌入式微處理器和各種設備構成了系統的硬件部分。在該系統中,選擇Freescale公司的MC9328MX21嵌入式微處理器,它是整個硬件系統的核心。系統的設備主要包括:LCD輸出模塊、網絡通信模塊、系統存儲模塊、音頻輸出模塊和USB主控模塊等,系統硬件部分的構成如圖2所示。

2 軟件的設計與實現

2.1 構建嵌入式系統

嵌入式系統由于硬件資源非常有限,因此不能直接使用Linux作為其操作系統,而應該針對具體的應用,通過裁減shell 和嵌入式C庫、重新配置內核等手段定制系統,使整個系統能夠更高效的運行并存放到容量較小的 Flash 中。所有Linux系統的核心組件都是內核,其性能在很大程度上決定了整個系統的性能。本系統采用了定制的ARM-Linux內核,版本為2.6.13,它啟用了MMU(內存管理單元),是針對支持 MMU的處理器設計的。另外,在保證內核基本組件的基礎上,添加了TCP/ IP協議、文件系統等組件的支持,定制出最小適用內核。

隨機存儲器 RAM(DRAM,SDRAM)和只讀存儲器ROM(常采用FLASH存儲器)是嵌入式系統的主要存儲設備。以存儲設備為基礎的嵌入式文件系統主要有YAFFS[3](Yet Another Flash File System)、JFFS(Journaling Flash File System,日志閃速文件系統)、 JFFS2、ROMFS(只讀小文件系統)、CRAMFS(用于MTD設備的數據壓縮文件系統)、RAMFS/TMPFS等。本系統的硬件平臺是以NAND Flash為存儲芯片并選擇NAND Flash的YAFFS作為文件系統。

要使Linux系統能正常工作,根文件系統是其運行所必需的文件及應用程序的集合。本文的根文件系統主要包括:基于busybox的 shell、支持應用程序的最基本庫文件、GUI程序及gcc應用程序等。

圖形用戶界面使用面向對象體系結構的Qt/Embedded來實現,使代碼結構化、可重用。

2.2 MPEG-4視頻解碼器的實現

MPEG-4視頻解碼就是對按照MPEG-4編碼的壓縮碼流進行反變換獲得圖像的YUV值,這是一個視頻恢復的過程,它的流程如圖3所示。在嵌入式系統的應用中,MPEG-4視頻解碼器的實現一般有硬件實現和軟件實現兩種方法。為降低成本,本系統以Xvid編解碼器模型為基礎,采用軟件方法實現MPEG-4視頻解碼器。

Xvid是一個開放源代碼的、以GNU GPL協議[4]為基礎,基于OpenDivX編寫的MPEG -4多媒體編解碼器,它是目前世界上最快的MPEG編解碼器。在ARM-Linux系統平臺下,Xvid視頻解碼器的嵌入式移植過程主要有七個步驟:

1)從Xvid的官方網站上免費下載其源代碼,為解碼器移植做準備。Xvid的源碼可以從其官方網站上免費下載,本文下載的版本為1.2.2。解碼器的移植采用宿主機/目標板的開發模式,宿主機為PC機+Ubuntu 9.04,交叉編譯器的版本為arm-linux-gcc-4.3.2。

2)刪除多余代碼。由于我們的目標平臺是ARM,因此可以將關于PPC、X86的代碼刪除。另外,有部分代碼是與編碼相關的,解碼不需要,故也可以刪除。

3)運行配置腳本,生成Makefile。進入xvidcore-1.2.2/xvidcore/build/generic目錄,執行以下命令:#./configure Cdisable Cassembly。

4)將Makefile的C語言編譯器修改為arm-linux-gcc交叉編譯器。將platform.inc文件里的CC=gcc修改為CC=arm-linux-gcc。

5)執行make命令,生成Xvid類庫文件。

6)將上一步生成的類庫文件拷貝至交叉編譯器的默認庫搜索路徑。對于本系統交叉編譯器的默認庫搜索路徑為/usr/local/arm/4.3.2/arm-linux-gcc/lib。

7)調用Xvid解碼器提供的接口函數編寫應用程序,交叉編譯應用程序,將生成的可行文件拷貝至目標板調試執行。

經過以上步驟,即完成了對Xvid視頻解碼器的移植并實現了MPEG-4視頻解碼器。相對于以前的版本,Xvid 1.2.2最主要的改進是增強了RGB與YUV之間相互轉換的精度。

2.3 GUI程序的設計

播放器的圖形界面在Qtopia視窗環境下運行,采用版本為3.3.6的Qt/embedded作為底層圖形庫。Qt是一個跨平臺的C++圖形用戶界面應用程序框架,它提供了豐富的窗口部件集,具有面向對象、易于擴展、真正的組件編程等特點,Qt/Embedded是面向嵌入式系統的版本。信號和槽機制是Qt的核心機制,Qt的窗口部件中有多個預定義的信號,我們也可以通過繼承來加入自己的信號,槽是一個可以被調用處理特定信號的函數,當一個特定事件發生的時候,一個信號被發射,對應的槽就會調用相應的函數[5]。

圖形界面主要包括主界面窗口、文件操作窗口、播放列表窗口。界面窗口有一個顯示屏和一些控制按鈕,包括播放、暫停、快進、快退、音量調整及播放進度條和播放時間顯示。文件窗口可以讓用戶選擇要播放的多媒體文件。播放列表用來顯示最近播放的多媒體文件。

3 MPEG-4視頻流的實時傳輸

MPEG-4系統層模型自上而下包括壓縮層、同步層和傳輸層。由于復雜度較高,本文沒有采用在傳輸層中制定的傳輸多媒體框架DMIF(Delivery Multimedia Integration Framework)標準,而是利用RTSP、RTP和RTCP來實現MPEG-4視頻流的實時傳輸。其中RTSP是用來控制MPEG-4視頻數據傳輸的,RTP是用來實際傳輸MPEG-4視頻數據的,RTCP是用來實現擁塞控制和流量控制服務的。各個協議之間的關系如圖4所示。

MPEG-4視頻流實時傳輸系統是以RTP/RTCP/RTSP協議為基礎的,圖5是其總體框架。單個的MPEG-4視頻數據流在傳輸時,用戶需要打開3個與服務器進行交互的網絡端口,即RTP視頻流接收端口、RTCP控制信息交互端口以及RTSP控制信息交互端口。

4 結束語

本文以嵌入式技術、Qt、流媒體技術為基礎,研究并初步設計了一種基于嵌入式系統平臺的流媒體播放器。該方案的優點在于視頻流的實時傳輸方法較之MPEG-4制定的標準,更加簡單易行,容易實現,并采用了最新版本的Xvid,增強了RGB與YUV之間相互轉換的精度。但該方案還有很多地方有待改進,在后續開發中,可以從以下幾個方面展開工作:完善嵌入式圖形用戶界面、優化Xvid視頻解碼器在ARM上的運行效率、擴展解碼器功能以支持更多的多媒體格式。

參考文獻:

[1] 鐘玉琢,向哲,沈洪.流媒體和視頻服務器[M].北京:清華大學出版社,2003.

篇3

近來,智能手機得到了長足發展,不少智能手機的用戶常常把下載或壓制的視頻文件放到手機上觀看,手機視頻一族由此誕生,并迅速增長,吸引了越來越多的手機用戶。而到了諾基亞推出7710之時,更憑借其獨有的掌上電視功能,將手機流媒體這個概念推向了一個。雖然需要在特定的網絡模式下才能使用,但是卻再次促發了廣大用戶對手機網絡電視的迫切需求。

于是,伴隨著市場和智能手機這個平臺的成熟,手機流媒體播放軟件也橫空出世。目前手機上比較主流的流媒體播放軟件有三款:一款是由手機流媒體的前輩級企業開發的流媒體播放器――FunVio;一款是由全國最大的WAP網站――3G門戶開發的GGTV;另一款則是由騰訊開發的QQ影院。下面就讓筆者用這三款軟件,和大家一起去欣賞一下手機流媒體。

情迷流媒體

在我們使用流媒體工具之前,我們應該了解其工作的流程。在PC上,現有的流媒體播放軟件都帶有自己的節目單,我們需要收看什么欄目,只需點擊相應的欄目單,播放器就會自動緩沖,并進行播放。而在手機上,這個過程要稍微復雜一些,由于受到手機瀏覽器技術限制的原因,手機端的流媒體播放器中并不包含流媒體運營商所提供的節目清單,而是需要通過流媒體播放器進入相應的流媒體運營商的WAP網頁,然后在相應的欄目中找到自己需要的節目進行點播,最后再切換到流媒體播放器過程稍顯復雜,但相信這點完全不會影響手機玩樂一族們對手機流媒體的興趣。

作為國內最早運營手機流媒體的平臺,FunVio流媒體播放器在技術上具有一定的優勢。FunVio支持所有的智能手機平臺,就連以往被眾多軟件“排擠”在外的Linux也不例外,因此稱之為最為全面的手機流媒體播放器并不為過。

在內容上,由于運營時間較早的關系,FunVio包含了11個電視臺的直播內容。不過,除了央視體育頻道、鳳凰衛視中文臺、鳳凰衛視資訊臺、東方衛視四個比較有價值的頻道之外,其余基本上是杭州的地方電視臺節目。除了電視直播,FunVio平臺上擁有數量較多的電影、電視劇、動漫等內容,而其中的MTV視頻欄目可謂是FunVio平臺的一個特色。

在流媒體播放軟件的網絡連接上,FunVio支持CMWAP和CMNET兩種方式,不過比較遺憾的是,FunVio在Smartphone、UIQ以及S60部分機型上不支持CMWAP連接方式,這無疑影響到了手機玩家的使用熱情。

網絡連接方式

對于手機流媒體來說,網絡連接是很重要的,這不僅涉及到視頻播放的流暢程度,而且還牽扯到手機用戶所付出的費用。在啟動FunVio時,你可以對網絡連接方式進行設置,其中包括CMWAP和CM-NET兩種。熟悉GPRS上網的手機用戶都應該了解,理論上CMNET的傳輸速率要稍高于CMWAP,不過,在資費上,CMWAP則具有較大的優勢。目前,CMWAP有包月服務(即使在沒有包月服務的地區,其費用也相當低廉),而CMNET則沒有相應的包月服務,且資費也較高。因此,在使用像手機流媒體播放器這樣需要較大流量的增值服務時,玩家往往會考慮使用CMWAP的連接方式以節省資費。

作為國內用戶最多的免費WAP網站,3G網站推出流媒體服務可以說是在意料之中,而其作品――GGTV雖然運營的時間不長,但是就其性能和受歡迎程度來說,可以稱之為手機流媒體播放器中的佼佼者。

在內容上,GGTV也有直播和點播兩種內容,其中直播內容既包括了央視新聞、鳳凰衛視等這樣強勢的新聞資訊類頻道,又包括了像中央三臺、MTV音樂、湖南衛視這樣的娛樂頻道。另外,像中央五臺、廣東體育等這樣的體育頻道以及香港地區的無線翡翠、亞視本港等節目也在其中。就直播節目的質量和豐富程度來說,GGTV對玩家還是很有吸引力的。同樣的,GGTV平臺還擁有較多的電影、電視劇和動漫節目。

在流媒體播放軟件的網絡連接上,GGTV支持CMWAP和CMNET兩種方式,而且令玩家興奮的是,其支持的所有智能手機均能使用CMWAP方式連接。

流暢與清晰

眾所周知,流媒體的品質與網絡速度有很大的關系,因此,為了適應現有的低網速局面,手機流媒體播放軟件大都以犧牲視頻清晰質量為代價來達到播放流暢的要求。但是,并不是所有的節目內容都需要降低畫面質量的,就內容而言,只有像新聞、體育這樣的節目才真正需要保證播放的流暢程度,而對于非直播性節目來說,只要用戶在播放前讓播放器緩沖時間稍長一些,那么就同樣可以看到清晰的視頻內容,并且依然流暢。尤其是對于動畫片而言,其每秒播放的幀數低于普通電影,因此在動畫片上同時享受清晰高質的畫面和流暢的播放并不矛盾,所以,GGTV采用“流暢版”和“清晰版”這兩種播放模式供用戶選擇是十分值得稱道的。

與前面兩種手機流媒體播放軟件相比,QQ影院似乎少了很多特色,尤其是其沒有直播節目更是有些相形見絀,不過在視頻內容上,QQ影院還是具有自己的優勢的,這就是數量龐大的各種電影、電視劇和動畫片。進入QQ影院的WAP頁面,各種大片和熱門電視劇就撲面而來,內容分類之廣、速度更新之快,都是其他兩個流媒體運營平臺的點播內容所不能相比的,從而也奠定了QQ影院所擁有的用戶群體。

如何選擇?

介紹了三款流媒體播放軟件之后,或許你還不是很清楚自己需要哪一款,如果是這樣,那么就請聽聽編輯的建議:對于大多數玩家來說,使用3G門戶網的GGTV就足矣了,其出色的功能和優秀的內容可以滿足絕大多數用戶的需求。而從使用的智能手機平臺來選擇,對于使用UIQ和Linux操作系統的用戶來說,編輯推薦使用FunVio,PPC用戶同樣可以根據自己所需要的節目內容來考慮使用FunVio。

編輯認為手機上只有一款流媒體軟件是不夠用的,從流媒體內容重合的角度來考慮,最佳的選擇方式是使用GGTV+QQ影院的方式,這樣就電視、電影兩不誤了。

篇4

一、流媒體的概念與特點

流媒體是指運用可變帶寬技術,在數據網絡上按時間先后順序傳輸和播放連續音/視頻數據的一種格式。流媒體在播放前只將部分內容緩存,并不下載整個文件,在數據流傳送的同時,用戶可在計算機上利用相應的播放器或其它的硬件、軟件對壓縮的視音頻等流式多媒體文件解壓后進行播放,這樣就節省了下載等待時間和存儲空間,延時大大減少,而多媒體文件的剩余部分將在后臺的服務器內繼續下載。

二、流媒體系統及其關鍵技術

流媒體數據流具有連續性、實時性、時序性三大特點,具有嚴格的前后時序關系。

流媒體系統的組成

流媒體系統包括音視頻信號編解碼、存儲、流媒體服務器、流傳輸網絡、用戶端播放器五個部分,原始音視頻流經過編碼和壓縮后,形成媒體文件存儲,媒體服務器根據用戶的請求把媒體文件傳遞到用戶端的媒體播放器。

流媒體文件格式

流媒體文件是將一個視頻分段傳送,用戶不必等待整個內容傳送完畢,就可以觀看到即時、連續的內容,甚至可以隨時暫停、快進、快倒。由于不同公司的文件格式不同,傳送的方式也有所差異,以下是目前流行的幾種流媒體文件格式。

(1)Microsoft公司的WMV格式

(2)Adobe公司的FLASH格式

(3)蘋果公司的QuickTime格式

流媒體系統的關鍵技術

流媒體系統中,影響流媒體播放質量的三個最關鍵的因素是:編碼和壓縮的性能與效率、媒體服務器的性能、媒體流傳輸的質量控制。

(1)編碼/壓縮

流媒體系統中的編碼用于創建、捕捉和編輯多媒體數據,形成流媒體格式。

(2)流媒體服務器

流媒體服務器是流媒體應用的核心系統,是運營商向用戶提供視頻服務的關鍵平臺。其主要功能是對媒體內容進行采集、緩存、調度和傳輸播放。服務器性能的關鍵指標是流輸出能力和能同時支持的并發請求數量。

(3)流媒體傳輸網絡

流媒體傳輸網絡是適合多媒體傳輸協議甚至是實時傳輸協議的網絡。

流媒體在因特網上的傳輸必然涉及到網絡傳輸協議,這是制約流媒體性能的最重要的因素。為了保證對網絡擁塞、時延和抖動極其敏感的流媒體業務在面向無線網絡中的服務質量,必須采用HTTP、RTP、RTC P、RTSP、RTMP等合適的協議。

三、流媒體在寬帶網絡的應用及在國內外的發展

篇5

【關鍵詞】流媒體 光復用 分析

信息時代之下,整個社會對于信息的依賴都有所加強,在某些特殊的領域中,信息甚至直接與當前社會正常行為的展開,以及經濟的發展都息息相關。要求實時傳輸的數據越來越多,并且為了能夠更好地實現與社會中其他成員的溝通,流媒體應運而生,這也從一個側面對數據傳輸網絡本身的能力提出了新的要求。有鑒于此,更需要我們對流媒體數據傳輸環境下的通信手段展開更深的了解和認識。

1 流媒體數據傳輸特征

流媒體又叫流式媒體,即指采用流式傳輸的方式在網絡中進行傳輸并且播放的媒體格式。在當前的網絡環境中,音頻以及視頻文件,通常會采用流媒體格式進行傳輸,這主要是考慮到此類文件通常相對龐大,并且當前數據實時傳輸的需求與日俱增,而采用流傳輸的方式加以實現,能夠有效保證信息消費端的時間得到良好利用,對于有效實現數據傳輸資源的均衡使用也有積極的推動作用。

從技術角度看,流式傳輸方式是將視頻和音頻等多媒體文件經過特殊的壓縮方式分成多個較小的壓縮包,最終在用戶發起數據傳輸請求的時候由服務器向用戶計算機實現從用戶角度看的連續、實時傳送。同一個流媒體文件在傳輸的時候,時序上較靠前的文件包在完成傳輸并且實現播放的時候,能夠為時序上靠后的文件包贏得傳輸時間,從而實現用戶角度的連續傳輸。這種數據傳輸方式,是所謂的實時觀看應用的基礎,也是解決大容量媒體文件的必要手段,不僅僅對于某些文件的傳輸意義重大,對于實時的視頻監控以及會議等媒體應用更深地步入市場環境也有著極為重要的推動作用。

就流媒體系統的組成角度而言,典型的流媒體系統通常包括編碼服務器、轉碼工具、流媒體服務器、媒體播放器以及多媒體制作技術五個組成部分。其中編碼服務器負責實現人類可識別語言與機器語言之間的轉化;轉碼工具則負責將有待傳輸的媒體文件分割成為若干小文件,并且壓縮打包為傳輸做準備;流媒體服務器負責發揮平臺型的作用,幫助從技術角度搭建起供流媒體傳輸的邏輯技術平臺;而媒體播放器則負責將獲取到的媒體文件合理組織,并呈獻給終端用戶;最后的多媒體制作技術,則負責幫助通過媒體播放器將多種媒體信息綜合到同一個界面上予以展現,將包括文字、圖片、聲音等在內的多種媒體文件加以綜合播放,為用戶提供多媒體綜合體驗。

2 流媒體傳輸環境下的光復用分析

在面對流媒體數據傳輸的時候,通信鏈路本身的數據傳輸能力成為了整個數據傳輸環境中的瓶頸所在。一方面對于流媒體的分割不能太小,否則會影響不同的分割部分之間的銜接效率,危害到用戶的觀看體驗;但同時其分割不能太大,太大就會造成可能在時序上前一個文件塊已經播放完,而時序上的后一個文件塊尚未傳輸完畢,造成媒體播放器只能停止等待的狀況,一方面危及用戶體驗,另一個方面在實時性方面也凸顯不足。

這種流媒體對于數據傳輸物理鏈路傳輸能力的要求,與當前光相關技術的進步,一同推動著光網絡的深入應用。就當前的發展狀況看,光纖的造價不斷降低,已經成為了當前和未來一段時間內毋庸置疑的優質數據傳輸載體,并且隨著技術的進步,光復用技術的精度也與日劇增,這同樣成為了推動光網絡深入發展的重要力量。當前在光復用領域中,以光波復用(wavelength-division multiplexing,WDM)技術最為突出。從根本上看,這是一種將多個攜帶信號的光源壓合在一個通信光線中進行傳輸的技術,在這樣的復用技術之下,光纖的信息容量最多可以提升到原來的幾十倍,并且隨著光復用精度的不斷增加,同一根光纜通道上能夠容納的數據量還可以得到進一步的提升,從而大大提升光纖的利用率以及信息的傳輸效率。

一個典型的光波復用技術的傳播系統結構參見圖1。

整個光復用技術的核心在于光復用系統,其作用在于將多個不同波長的光信號復用在一起并通過光纜進行傳輸,這中雙向工作設備有點像之前銅網中的調制解調器,能夠實現復用和解復用兩種功能。

從應用的角度看,光復用技術本身降低了光通信的成本,從理論角度看,一根光纖的容量隨著光復用技術的成熟狀況和精度能夠得到無限提升,因此光纖網絡從物理層面看,僅僅需要關注以安全和穩定作為基礎考慮的備份和冗余即可以滿足整個通信網絡的需求。而對于網絡架設方面,當前市場上的光復用技術以及設備已經日趨成熟,尤其是光復用設備所采用的無源光學設備,更是以其較小的體積以及較高可靠性主城,結構也相對簡單,為大規模應用鋪平了道路。與此同時,光纖的接續技術也在不斷進步之中,接續損耗的不斷降低,也是推動光網絡逐步走向信息消費終端的重要推動力量。

3 結論

基于當前流媒體的傳輸特征,以及光復用技術的成熟狀況,在未來的時間內,這二者必然都會占據數據網絡的重要地位。人們對于流媒體以及流傳輸技術的需求必然會成為未來數據傳輸的重要特征,而這必然會隨著光相關技術的成熟,以更強勁的生命力出現在技術領域之中。

參考文獻

[1]張涵.光纖通信技術與光纖傳輸系統的分析與探討[J].科技創新導報, 2011, (01)

[2]裘慶生.淺析我國光纖通信發展現狀及前景[J].信息與電腦(理論版), 2009, (12)

篇6

流媒體技術作為一種新的網絡媒體傳輸方式,突破了網絡帶寬限制,實現了動態音視頻資源的數字化、網絡化存儲、傳輸和管理,使高校現有校園網絡環境下教學信息資源的應用價值和利用率得到了極大提高。當前主流流媒體系統平臺主要有Microsoft Windows Media系統、Real system系統、Apple QuickTime系統以及Abobe Flash Media系統。Microsoft系統支持的網絡協議有HTTP/MMS/WMS,流媒體格式為ASF/WMA/WMV等,其優點主要有通用性好、集成度高、系統資源占用率低等,缺點是支持網絡協議較少、平臺兼容性較差;Real系統則主要支持自己特有的RTSP協議,主要流媒體格式為特有的RM/RA/ RMVB等,其優點主要在于擴展性較強、支持多速率傳輸,缺點是系統價格較貴、后期費用較高、平臺通用性較差;Apple系統通常以MOV/QT,其優點在于系統相對安全、穩定性好,缺點是用戶規模以及數量太小、移植性較差;Adobe系統是近幾年剛興起的流媒體系統,只要支持RTMP網絡協議,格式通常為SWF/FLV格式,其優點主要有文件簡單,體積小;清晰度高、加載速度快、版權保護有效等,缺點是安全穩定性較差、較易受攻擊;系統資源耗費較大。

總體來說,四大主流媒體技術出于保密以及商業競爭的需要,各家技術都具有一定排他性。而開源技術則可以較好地解決這一問題,可以使視頻流媒體系統方案的制訂更加先進,更加完善,同時也更加的開放。

二、視頻流媒體平臺總體架構

VLC系統是近年來由VideoLan項目開發的流媒體系統。作為第三方開源軟件,目前的VLC既是一個能夠支持大量媒體文件格式和檔案格式的跨平臺多媒體播放器,同時也可以作為高性能的支持單播/組播、IPv4/IPv6的視頻流媒體服務器來使用。[2]其優點是功能強大、簡單易用,兼容平臺多,對多種流媒體傳輸協議能夠很好兼容。VLC還能夠支持各種格式的視頻文件、網絡串流、加密VCD/DVD、數字攝像機、數字衛星頻道以及數字地球電視頻道等多種信號源;能夠實時捕捉視頻并實現在多種編碼和碼率間的壓縮與轉換;可以在企業級或高校級局域網里實現低成本的視頻點播或直播。通常一個完整的網絡教學視頻系統由流媒體服務器、WEB服務器/數據庫服務器、視頻編碼/存儲服務器、網絡客戶端組成。

三、系統設計思路及過程

1.系統設計思路

本系統以Window Server 2008操作系統為開發平臺,以SQL Server 2008為WEB應用程序和數據庫服務器,采用腳本語言對視頻流媒體平臺動態網站進行開發,然后通過開源VLC流媒體服務器和開源軟件Putty的配合使用實現相關教學視頻資源的網絡形式。本文著重介紹該網絡教學視頻流媒體資源平臺的具體實施方案。

2.視頻流媒體服務器及客戶端配置

(1)VLC流媒體服務器配置

配合優秀的開源遠程登陸工具Putty,VLC可以作為高性能的局域網流媒體服務器,實現IPv4/IPv6網絡環境下的點播、組播功能,具體操作步驟如下:①為VLC增加Telnet遠程服務功能:②以IP地址為192.168.1.103為例,監控端口號為4212的流媒體服務器為例進行配置,通過Putty開源軟件服務器進行遠程登錄控制;③ 點擊打開,在Password:后輸入默認密碼“admin”。如果遠程登錄成功,Putty界面會顯示:Welcome,Master歡迎界面,然后,開始對VLC流媒體服務器進行配置;④利用VLC提供點播服務的命令。其中,new為新建命令,vod*為點播文件標識名,demo.*為點播文件的文件名。通常,該文件應放置在VLC Media Player安裝路徑下;如果文件不在該路徑下,可以使用絕對路徑。例如:setup vod1 input d:\media\demo.mpg如果要設置多個點播文件,可以重復上述的操作。⑤利用VLC提供組播服務的命令。其中,new為新建命令,group為組播名,demo為要經組播發送的流視頻文件。#duplicate{dst=rtp{dst=multicast,mux=ts,port=*}}表示將遵循rtp協議的以ts流進行封裝的流視頻發送到特定組播IP地址(multicast)的特定端口。通常,組播IP地址多為D類IP地址,即224.0.0.0-239.255.255.255之間的IP地址,端口一般為1234。另外,control group后面還可以加stop,pause,seek+%,分別表示停止,暫停和跳轉到百分之幾的位置。與提供點播服務一樣,通常需要發送的流視頻文件應放置在VLC Media Player安裝路徑下;如果文件不在該路徑下,可以使用絕對路徑。

(2)網絡客戶端配置

在服務器上建立好新的流媒體輸出后,網絡客戶端用戶既可以通過獨立的VLC、Windows Media Player等通用媒體播放器來接收,并實現播放、控制(開始、暫停、停止、快進)等,也可以通過ActiveX控件的方式在Web頁面中嵌入播放器代碼,通過通用瀏覽器進行收看。①獨立客戶端設置,VLC Media Player作為客戶端播放器時,設置接收流媒體視頻服務。另外,如果學習者需要對教學視頻資源進行實時錄制,可以在VLC串流輸出選項中進行設置。②基于瀏覽器的WEB嵌入式實現。該方式主要是通過ActiveX控件的方式在Web頁面中嵌入相應播放器代碼實現的,其中播放器源代碼是實現視頻流媒體接收的關鍵。

【參考文獻】

[1]夏亞. 基于ASF的視頻型網絡教學設計與實現. 計算機與現代化,2009(3).

篇7

關鍵詞:流媒體;網絡課程;資源集成;SMIL

中圖分類號:TP37,TP393 文獻標識碼:B 文章編號:1004373X(2008)1810304

Network Course Resource Integration and Its Key Techniques Based on Streaming Media

PAN Luyi

(Zhejiang Vocational College of Commerce,Hangzhou,310053,China)

Abstract:Network course is a basic element and an important resource of the network teaching.It introduces the Synchronized Multimedia Integration Language(SMIL).Based on the developing environment of realsystem streaming media,it researches a few key techniques in the process of network course integration,such as the medium combination,time line programming and broadcast layout setup.It points out the relevant problem and strategy to accomplish these key techniques,and gives out the related examples.

Keywords:streaming media;network course;resource integration;SMIL

1 引 言

隨著網絡技術的快速發展和校園網的普及,網絡化教學作為一種高效新型的教學模式,越來越受到重視。網絡課程是網絡教學的基本要素和重要資源,是指通過網絡表現的某門學科的教學內容及實施的教學活動的總和,包括按一定的教學目標、教學策略組織起來的教學內容和網絡教學支撐環境。網絡課程給人們提供便捷的學習機會,使學習活動更加自主化、個性化,學習者可以選擇適合自己的學習時間、地點、方式、進度,用瀏覽器播放教學內容,在教學形式上既可以實時學習,也可以使學習者進行非實時的自主或協同學習,還可以實現師生之間的直接對話交流,形成一個開放和交互的遠程教育環境。對于創新教學模式,提高教學效果,培養學生良好的學習習慣和學習能力等有著重要的積極意義。

網絡課程的開發需要相關的技術支撐,流媒體技術和理論的日趨成熟,為網絡課程的開發和實施提供了強有力的技術基礎。基于流媒體技術的網絡課程,能高效、便捷地進行網上實時和遠程教學,并能確保音視頻播放流暢,有良好的同步效果。

基于流媒體的網絡課程的開發實質上是運用網絡課程開發工具,把課程素材轉換為流媒體形式的文本、音頻 、視頻、動畫等,并按課程教學要求,集成為課程的流媒體課件或教學節目,再通過Web。目前網絡流媒體平臺主要有Realnetworks公司的Realsystem、微軟公司的Windows Media和蘋果公司的QuickTime。Realsystem優良的性能使得用戶數量上處于領先地位,Realsystem的文件格式主要有rm(流式音視頻)、ra(流式音頻)、rp(流式圖像)、rt(流式文本)。網絡課程開發涉及許多技術問題,其中流媒體教學素材的集成是最關鍵的技術,利用SMIL同步集成多媒體語言,可以將Internet上不同位置的媒體文件關聯到一起。本文依據Realsystem流媒體開發平臺,研究網絡課程開發過程中流媒體教學素材集成及其關鍵技術。

2 同步多媒體集成語言SMIL簡介

世界W3C協會(World Wide Web Consortium)于1998年6月開始推廣一種和HTML具有相同結構的標記語言:同步多媒體集成語言(Synchronized Multimedia Integration Language,SMIL)。這是一種簡單而有效的關聯性標記語言,它可以將Internet上不同位置的媒體文件通過它們的URL關聯起來,形成多媒體文件。在播放時,播放器會自動從它們的存放位置進行調用,并按文件中設置的播放順序和位置等屬性,將這些文件集成到同一窗口播放。實際上SMIL文件僅是一個關聯文件,并不包含真正的媒體內容。SMIL支持的媒體格式有靜止圖片文件、RealPix,RealText、動畫、音頻、視頻等。目前支持SMIL文件的播放器主要有RealPlayer,QuickTime等,用戶瀏覽器端只要安裝RealPlayer或QuickTime的相應的插件,也可以播放SMIL文件。

SMIL文件是純文本文件,其文件擴展名為“.smil”或“.smi”。整個文件以<smil>開始,</smil>結束,其中包含由<head></head>標記定義的頭部以及由<body></body>標記定義的正文部份。在SMIL文件的正文部分,用媒體標記將媒體文件引入SMIL文件中。下面代碼關聯一個流服務器上的流式音頻文件sound1.rm。

<body>

<audio src=”rtsp://:554/audio/sound1.rm”/>

</body>

3 流媒體素材集成的關鍵技術

在網絡課程中,通常需要把音頻、視頻、演示文稿、圖片等教學信息按一定的組合同時或順序播放,構成一個情景交融的多媒體教學環境,讓學習者可以在一個動態的交互性的學習環境中學習。在網絡課程中,可以按照課程教學策略、教學目標,組織多媒體內容,設置組合后的播放布局和播放方式。實現流媒體集成的關鍵技術主要包括關聯媒體文件、設置媒體的組合方式、規劃時間線、設置播放布局等。

(1) 關聯媒體文件。在SMIL文件的正文部分,用媒體標記將相關媒體文件引入SMIL文件中,同時通過設置標記屬性,描述媒體文件的文件格式和所處的位置,以及媒體文件在SMIL文件中的其他行為。常用的媒體標記有<animation../>,<textstream../>,<img../>,<audio../>,<video../>等,分別用于關聯動畫文件、流式文本文件、圖像文件、音頻文件和視頻文件等。下面代碼關聯一個流服務器上的流式視頻文件class1.rm。

<video src=”rtsp://:554/video/class1.rm”/>

(2) 媒體的組合播放及帶寬分配策略。在流媒體網絡課程中,有些媒體文件是緊密聯系的,如在播放演示文稿時,要同步配音,或在播放視頻時要顯示相應的文稿和圖片等。這就要將媒體文件進行組合播放。在SMIL中,可以用<seq>和</seq>組合標記實現媒體文件的順序播放,用<par>和</par>標記實現媒體文件的同步播放,同時兩種組合標記還可以進行嵌套組合。如下面的代碼實現了4個流媒體文件的組合。

<par endsync="last" >

<ref src="graph/pic1.rp" region="graphregion" />

<seq>

<textstream src="text/word1.rt" region="textregion" />

<video src="videos/vid1.rm" begin="20s" region="videoregion" />

</seq>

</par>

<video src="videos/vid2.rm" region="videoregion" />

在默認情況下,同步組合的播放結束要等到其所包含的所有媒體對象播放結束之后。要改變這種情況,可以通過設置<par>標記的end屬性規定同步組合的絕對時間,也可以通過<par>標記的endsync屬性設置同步組合的播放結束與某一個媒體對象結合起來。endsync屬性的默認值為“last”,表示當組合中持續時間最長的那個媒體對象播放結束時,整個同步組合播放結束。當endsync屬性為“first”時,表示當組合中持續時間最短的那個媒體對象播放結束時,整個同步組合播放結束。如果要指定當某個媒體對象結束時,整個同步組合播放結束,則可設置endsync屬性為“id(相應媒體對象的id值)”。

必須注意,在媒體服務器每一個流媒體文件時,都會占用一定的傳輸帶寬。這個帶寬的具體數值是在創建媒體文件時預先設定好的,同步播放組合時所占用的傳輸帶寬,就是組合中所有媒體文件的傳輸帶寬的總和。為了保證同步效果以及整個多媒體文件傳輸順利和播放平滑,這個帶寬的總和不應該超過用戶和服務器連接的最大傳輸帶寬,否則就會產生帶寬“瓶頸”。這種“瓶頸”通常出現在兩個或多個高帶寬消耗的媒體文件同步播放時。因此,在組合同步播放文件時,要盡量將高帶寬文件和低帶寬文件組合在一起。在流媒體播放的開始階段,先播放低帶寬的媒體文件,如RealText文件和壓縮程度較高的Real音頻文件,這樣在它們播放的同時,播放器可以利用多余的網絡帶寬預先傳送后面將要播放的高帶寬消耗的數據。這種“幕后傳輸”的播放組合方式,可以使用戶端的播放器預先存儲足夠多的數據以保證后續播放的平滑性。

(3) 規劃SMIL文件的時間線。所謂流媒體的時間線就是這個媒體文件的播放時間計劃。比如,一個流式視頻文件播放長度為3 min,這個視頻文件的時間線就是3 min。流式音頻、視頻和動畫文件都具有內部時間線,在媒體文件建立時,生成軟件就將其內部時間線結合到文件的結構中去,這些文件的時間線不能再修改,除非重新改變文件的結構。RealText和RealPix文件的時間線是通過標記語言建立的,可以隨時修改。在組合流媒體時,一般先建立音頻、視頻和動畫文件,然后建立RealText和RealPix文件的時間線,使之與這些文件匹配。

當多個媒體文件組合時,各個媒體文件的時間線以及它們在多媒體文件中播放的計劃又組成了整個多媒體節目的時間線。合理計劃流媒體的時間線可以有助于合理使用用戶的連接帶寬,避免播放遲滯和“再預置”現象的出現。SMIL語言通過時間標記元素建立和改變SMIL文件的時間線。如通過begin和end屬性設置媒體播放的開始、結束時間及前后播放的間隔時間,通過clipbegin和clipend屬性可以播放連續性媒體文件內部的一個片段,還可以通過dur屬性設置播放的持續時間等。下面代碼是一個比較合理的流媒體時間線設計的例子。

<par>

<seq>

<par> <! -- 文件組1-->

<ref src="graph/ image.rp" region="graphregion" />

<seq>

<textstream src="text/ text.rt" region="textregion" />

<video src="videos/video1.rm" begin="20s" region="videoregion" />

</seq>

</par>

<! -- 文件組2-->

<video src="videos/video2.rm"region="videoregion" />

</seq>

</par>

上述代碼所對應的時間線效果如圖1所示。

在文件組1中,首先播放的是image.rp文件和text.rt文件,由于text.rt文件的帶寬消耗很小,使image.rp文件有充足的帶寬來傳輸數據。當video1.rm視頻文件開始播放時,image.rp文件的數據已經傳輸結束,這時的帶寬全部可以為視頻文件video1.rm所占用。雖然文件組1和文件組2按順序播放,但最外層的組合會平衡組合中的媒體文件的帶寬消耗,當文件組1開始播放之后,存在多余帶寬,它就會開始傳送文件組2的數據,這樣就可以最大程度地掩蓋文件組2的預置過程,使得整個SMIL文件的播放不出現停頓而顯得平滑。

(4) 設置媒體播放的窗口布局。在流媒體課件中,除了聲音文件外,其他的媒體內容通常需要不同的播放區域。在SMIL文件的頭部,通過<layout>和</layout>標記設置窗口布局;在這個layout標記群內,通過<root-layout/>標記定義底層區域,即播放器的主窗口的大小;在定義了底層區域后,再通過<region/>標記定義每一個播放區域的大小和位置。在SMIL文件的正文部分,通過定義相關標記的region屬性,在各播放區域中放置相應的可視媒體對象。下面的代碼中定義了二個區域分別播放視頻和流式文本。

<smil>

<head>

<layout>

<root-layout width="500" height="100" />

<region id="textregion" top="0" left="0" width="200" height="100" />

<region id="videoregion" top="0" left="200" width="300" height="100" />

</layout>

</head>

<body>

<par>

<textstream src="T5_1.rt"region="textregion" />

<video src="V5-1.rm"region="videoregion" />

<audio src="A5-1.rm" />

</par>

</body>

</smil>

在復雜的流媒體播放應用中,可能需要建立動態或重疊的播放區域,這可以通過SMIL的<region>標記的zindex參數實現。zindex參數的值越大,播放區域就越處于播放窗口的前方。SMIL文件中所定義的播放區域,只要不定義其背景色,在默認狀態下是透明的。對于最上層播放區域,如果有媒體文件在其中播放,下面各層的區域就被覆蓋。如果區域中沒有媒體文件的播放,它就處于透明狀態,下層中正在播放媒體文件的區域就被顯示。如果所有區域中都沒有正在播放的內容,所有的區域都處于透明狀態,播放器窗口就顯示SMIL文件中<rootlayout>定義的底層區域,它總是位于所有播放層的最底層。下面的代碼定義了2層區域,并實現播放區域的動態轉換。

<smil>

<head>

<layout>

<root-layout width="400" height="360" />

<! C 第一層:左右排列的區域 -- >

<region id="left" top="10" left="10" width="185" height="340" z-index="1" />

<region id="right" top="10" left="205" width="185" height="340" z-index="1"/>

<! C 第二層:上下排列的區域,重疊于第一層前方 -- >

<region id="top" top="10" left="10" width="380" height="165" z-index="2" />

<region id="bottom" top="185" left="10" width="380" height="165" z-index="2"/>

</layout>

</head>

<body>

<par>

<seq>

<par> <! -- 文件組1:左右排列 -- >

<ref src="title.rp" region="left" fill="remove" />

<textstream src="words.rt" region="right"

fill="remove" />

</par>

<par> <! -- 文件組2:上下排列 -- >

<video src="film.rm" region="top" />

<textstream src="text.rt" region="bottom " />

</par>

</seq>

</par>

</body>

</smil>

上述代碼定義了2個顯示層,每層定義了2個區域,顯然,“top”和“bottom”區域位于“left”和“right”窗口的前方。盡管這些區域都是在SMIL播放的一開始就建好的,但是通過zindex,fill=“remove”以及區域默認的透明背景色,給用戶的感覺就是播放區域是在媒體文件開始播放時動態建立的。

4 結 語

流媒體運用特殊的數據壓縮和傳輸技術,可以使得聲音和視頻文件變得很小,通常只有WAV和AVI文件的3%~5%。因此,基于流媒體的網絡課程,能確保課程中音頻、視頻、演示文稿、圖片等資源在網絡上快速連續平滑的傳輸。利用SMIL同步集成多媒體語言,可以將網絡課程資源進行有效的關聯組合。本文針對基于流媒體的網絡課程開發,從技術層面詳細介紹了在網絡課程流式資源集成過程中,按照課程教學策略、教學目標和多媒體教學環境要求,實現流媒體的組合、規劃時間線、設置播放布局等關鍵技術。只有很好地解決這些關鍵技術,才能確保音頻、視頻播放流暢,音頻與視頻圖像有良好的同步,產生良好的視覺效果,使得網絡課程能高效、便捷地進行網上實時和遠程教學,構成一個情景交融的多媒體教學環境。

參 考 文 獻

[1]孫力,錢維瑩.流媒體技術與創作[M].北京:中國青年出版社,2002.

[2]張麗.流媒體技術大全[M].北京:中國青年出版社,2001.

[3]Synchronized Multimedia Integration Language (SMIL) 1.0 Specification.W3C Recommendation 15-June-1998 ,/TR/REC-smil/.

[4]/.

[5]陳鵬.遠程教育與網絡課程系統的研究與設計\.現代電子技術,2006,29(24) :101102,105.

篇8

【關鍵詞】流媒體;視頻會議;移動終端;系統分析;

隨著我國的科學技術不斷進步,計算機與網絡通訊技術也在進行著飛速的發展。人們不再滿足于諸如傳真、電話、以及電子郵箱等多種傳統的文字及語音傳播通信方式,希望找到一種集語音、文字、圖像等多種信息傳播于一體的新型多媒體通信方式。流媒體視頻會議移動終端由此應運而生。

一、 流媒體與視頻會議

(一)流媒體

流媒體,又稱流式媒體,是多媒體中的一種,是一項可以將數據傳輸與媒體播放同步進行的媒體。主要指的是利用流式傳輸在互聯網或企業內部網中播放的媒體格式。商家可以使用視頻傳送服務器將電視節目打包成數據包,并傳送至網絡上。用戶在利用解壓設備將網絡上的數據包解壓,節目就會以發送前的樣子顯示出來。使用流媒體播放,不需要將文件整個下載,只需要十秒至幾十秒的時間進行啟動延時就可以利用解壓設備將這些壓縮文件解壓播放,剩余文件則可以繼續在后臺同步下載。流媒體播放相較于普通下載,極大的縮短了啟動延時,而且還降低了系統緩存容量需求,提高了用戶觀看效率。

(二) 視頻會議

視頻會議,指的是處于兩個或多個地區的人,利用通信設備及網絡傳輸,進行面對面交流的會議。通常情況下,根據參加會議的地點數目不同,視頻會議又可以分為點對點和多點會議兩種。日常生活的個人對話,由于對談話內容的安全性、談話質量以及談話規模沒有較高的需求,所以一些常用的如QQ視頻等視頻軟件就可以進行簡單的視頻聊天。但像企事業單位、政府機關等商務視頻會議,對于網絡、會議質量、會議環境等條件就有較高的要求,這就需要采用一些十分專業的視頻會議技術及設備,來構建專業的商務視頻會議系統。而且由于視頻會議系統的運行顯示需要使用電視,因此也被稱作視訊會議、電視會議等。利用視頻會議系統,可以讓參加會議的人員聽到其余會場的聲音、看到其余會場的現場情況,還可以同步共享一些電子演示內容,減少了地域限制,大大提高了會議質量與工作效率。

二、 流媒體視頻會議移動終端

(一)硬件構架

視頻一般包括了視頻會議服務器(一般為MCU多點控制器)、視頻會議終端(包括了電腦桌面型硬件終端、軟件視頻會議終端、會議室型硬件終端等)、網關(Gateway)、網閘(Gatekeeper)等多個部分。其具體硬件結構如圖1所示。

(二)視頻會議模式

1.點對點的會議模式

該模式主要應用于企業領導間的遠程視頻會議,如分部領導向總部匯報工作等,還有各分部領導的交流,如通報某個重要活動的情況等。

2. 多組多點的會議模式

該模式可以滿足多個會議同時召開的需求,可以同時舉行多個遠程視頻會議。可以應用于不同會議現場的相互交流,如遠程培訓課程,各片區領導決策會議等。

3. 圖文的會議模式

利用該模式,可以完成不同會議現場的圖文交流,如主會場可以對各分會場進行PC內容演示,各分會場也可以對主會場做詳細的工作匯報等。

(三) 流媒體視頻會議移動終端的優勢

1. 設計標準化

該系統符合ITU-T的H.323國際標準,系統所用硬件視頻設備均是滿足國際統一標準,所有廠家的產品都可以互通使用,系統兼容性及拓展性極佳,有利于用戶今后對系統擴容,減少重復建設帶來的損失。

2. 穩定性強

該系統所有硬件設備都建立于嵌入式硬件平臺之上,可以滿足24x7的連續待機工作,穩定性極強,而且一般情況下,會議中不會出現死機等故障。

3. 安全性高

該系統使用嵌入式操作系統,系統軟件固化,可以有效抵御其他程序的攻擊,尤其是系統的抗病毒能力極強,保證了會議的安全性。

4. 操作簡便

有專業的硬件管理系統,維護十分簡單,操作也極其簡便。使用時,只需要進行簡單的設備開關機即可,不需要專門的IT人員,使得會議操作更加高效。

5. 容量大

該系統可以滿足多人視頻會議的需要,即既支持各主會場與分會場間的會議交流,也能實現移動會場的通信。

6.視頻質量優異

系統通過ATM和IP的靈活結合,解決了傳統IP網視頻質量不佳的問題,不僅是丟包等參數,還是時延抖動上都可以滿足用戶的需求。視頻音質也十分連續清晰、視頻圖像沒有馬賽克和模糊不清的情況,活動圖像也較為連續。而且由于全網設備選型都較為統一,都是整網設計,設備也均是國際領先,加之主設備和世界各大主要運營商都兼容,因此系統具有較高的互通性,能實現省內以及省際的高質量視頻會議。

7. 節約成本

較之自行組建的會議電視專網,使用視頻會議移動終端不需要再行投資購買MCU交換設備,也不需要定期維護會議電視承載網和MCU,更不需要花費資金進行網絡升級,極大程度的節約了視頻成本。

三、 總結

綜上所述,利用流媒體視頻會議移動終端,可以滿足多人同時視頻通訊,讓人們可以突破地域限制實現面對面交流以及同步PC內容共享。不僅可以節約電話費,減少出差旅行帶來的交通環境污染以及業務開支,還可以提高企業政策傳達速度及會議效率。因此只有不斷完善流媒體視頻會議移動終端技術,將視頻會議技術應用到人民生產生活的方方面面,才能促進我國信息通信科技發展,加速我國經濟建設。

參考文獻:

[1]高磊.一種基于流媒體技術的視頻會議直播系統[D].2004.

[2]劉君.關于視頻會議流媒體錄播技術的研究[J].科技與生活,2010,(22)

[3]崔學敬.基于流媒體技術的視頻會議系統的原理和實現方法[D].2004.

[4]胡萍.基于流媒體視頻會議移動終端的系統研究[D].2014.

篇9

【關鍵字】SMIL,SMIL時間線,組合媒體元素

1、概述

SMIL為同步多媒體集成語言,發音為"smile",它遵循W3C標準使用XML語言編寫的類似HTML語言,它易于學習和理解,可以使用文本編輯器編寫SMIL程序達到展示音頻視頻信息目的。自從1997年,W3C一直把SMIL作為一門用于精細編制多媒體呈現的語言來發展,以此實時地組合視頻、音頻、文本以及圖形。在1997年11月SMIL作為工作草案被提交。SMIL 1.0在1998年6月成為W3C標準,SMIL 2.0在2001年8月被確立為W3C標準。

2、SMIL語言的應用范圍

SMIL可用于創建因特網和內聯網程序,可以用于創建在Internet上幻燈片放映呈現;SMIL具有展示多種文件類型(文本、視頻、音頻)和多個文件的能力,文件可以實現分布式存放,同進SMIL文件可以嵌套,文件中可以包括控制按鈕;SMIL語言可以定義元素序列和持續時間,方便動態編輯,SMIL語言還可以定義元素的位置及元素的可見性。由以上的說明可以得出SMIL語言上應用范圍很廣的一種標識語言,我們可以將它用于所有信息展示功能需求的場所。本文所研究的如何更好的應用于教學,經過調查研究,發現現在網絡上的教學課件大部分都是由單一的信息元素所組成,而單一信息元素本身就不是一個完整的信息傳遞方式,所以我們可以利用SMIL語言的可以展示多種文件類型和多個文件能力的來完成一個InterNet網絡課件的制作,來更好的實現網絡課程優越性。同時本該利用SMIL語言特點可以確定一個有固定界面的可以展示教學的授課音視頻、教學版書、以及教案和課程體系風格統一可以在Internet上的網絡課程。

3、SIML文件

SMIL文件用于描述多媒體呈現,文件中包含了描述多媒體程序所需要的所有信息(包括呈現的布局、呈現的時間線、多媒體元素的源),以SMIL主文件擴展名的統一純文本文件,可以使用專門的播放器進行播放,也可以使用IE瀏覽器播放。

4、SMIL語言標記

4.1文件結構

SMIL文檔必須以標簽開始,并以標簽結束。它可包含一個元素,且必須包含一個元素。元素用于存儲有關呈現布局的信息,以及其他的元信息,包含媒介元素。

4.2 SMIL時間線

SMIL文件應該具有一個播放時間的順序表。規定一個所關聯的媒體對象或是媒體文件組合在什么時間播放,播放多長時間。這個所謂的時間順序表就被稱為SMIL文件的時間線。

4.3關聯媒體文件

可使用媒介元素在SMIL文檔中包括媒介對象,是通過文件正文部分中的媒體標記來實現的。媒體標記的作用就是將媒體文件引入SMIL文件中,通過對該類標記各個屬性的設置,來描述媒體文件的文件格式和所處的位置,以及媒體文件在SMIL文件中的其他行為。媒體文件分為有內部時間線的連續媒體與不具有內部時間線的離散媒體。

4.4組合媒體元素

有了關聯各媒體文件的媒體標記,在SMIL文件中就有了可以播放的媒體對象。SMIL最主要的功能就是可以把多個媒體對象組合在一起,形成多媒體文件組。在文件組中,可以設置整個組合的播放行為和組合中各文件之間的播放順序。這個強大而實用的功能是通過SMIL文件正文部分中的組合標記,和

4.5轉換標記

Transition轉換標記是SMIL 2.0中的新特性。Transition不屬于SMIL 1.0規范的組成部分。Internet Explorer 6支持基于SMIL 2.0規范的Transition。Transition由元素實現,其中type屬性定義transition濾鏡的類型、begin屬性定義何時開始。

4.6布局標記

如果在SMIL文件中,一次只播放一個不限制大小可視媒體對象,就沒有必要去設置播放區域,因為每一個媒體對象都會在媒體播放器的主窗口中被播放,每當調入一個新的媒體文件時,媒體播放器的主窗口都自動調整到媒體對象自身的窗口大小。如果想使媒體播放器的主窗口在播放不同的媒體對象時都保持同樣的大小,或者在同一時間內要同時播放多個可視媒體對象,那就必須通過SMIL文件窗口布局的設置來定義媒體播放器的主窗口的大小以及各播放區域的大小和位置,并在各播放區域中放置相應的媒體對象。

5、結束語

隨著日益興起的網絡多媒體應用關鍵技術的日漸成熟,正受到越來越多的關注。尤其是隨著基礎網絡的普及,因此對多媒體技術的研究有著非常廣闊的前景。本文在介紹SMIL語言的基礎上用實例講述流媒體課件的制作方法、流程以及制作步驟。如果對本例進行簡單的改動就可以應用動實時轉播、彩信等行業。

參考文獻:

[1] .cn/smil/index.asp

篇10

自流媒體技術問世以來,普遍應用于視音頻管理領域。隨著各級各類教育門戶、社區的建立,流媒體技術在教育領域的應用也普及起來。利用流媒體技術構建網絡課程點播系統,不僅是對“十一五”“十二五”計劃中網絡課程建設的一次實踐,也為更多的學生提供了幫助。

2 流媒體架設軟件介紹

隨著流媒體技術的蓬勃發展,國際市場一度出現了“百家爭鳴”的局面。由于主流流媒體平臺大多用于大型局域網視音頻管理系統中,它架設復雜困難、使用維護費用較高,對中小型的局域網并不適用。為解決此問題,流媒體VOD軟件應運而生。本文以美萍VOD點播系統軟件為例進行介紹。

2.1 美萍VOD點播系統軟件概述

美萍VOD點播系統軟件具有高效服務器引擎,采用多線程、多并發流處理技術。客戶端支持Web界面點播和應用程序界面點播兩種形式。支持目前幾乎所有流行媒體格式的播放,廣泛用于學校視音頻資料管理中。

2.2 美萍VOD點播系統軟件主要功能

1)文件管理功能。它不僅對視音頻提供流媒體文件管理與點播服務,對于圖片、文字等格式的文件同樣可以實現管理與點播。管理員可以對資源添加描述、封皮、資源評分,對不同類型的文件進行分類保存后,客戶便可以進行點播。

2)支持兩種流媒體播放形式。該系統不僅支持后的Web頁面流媒體播放,同時支持本地流媒體播放器對流媒體文件進行播放。通過“客戶端使用Web界面即網頁內嵌播放器播放”選項即可完成切換。

3)提供兩種點播形式:一種是管理員將服務器端文件后,通過“http://本機IP地址:6666”登錄到局域網內的美萍VOD點播系統網頁上實現點播;另一種是在客戶機上安裝客戶端應用程序,啟動后呈現與服務器端相同的文件管理界面自主點播,但客戶端沒有對資源進行修改的權限。

4)提供留言功能。該系統支持用戶網上留言和客戶端留言兩種留言方式。服務器端通過留言管理模塊對用戶留言進行管理。

3 基于美萍VOD點播系統的網絡課程設計與實現

3.1 選擇美萍VOD點播系統構建網絡課程理由

1)該軟件比較適合在中小型局域網中使用。

2)該軟件有很多免費開源版本,所提供的服務能很好地滿足中小型網絡課程的需求。

3)該軟件操作配置相對簡單,對于具有一定信息技術基礎的中小學教師來說很適合。

3.2 網絡課程設計

1)網絡課程取材與設計。以人民教育出版社出版的高一物理必修1的第四章“牛頓運動定律”為例。取材此內容的原因有:①物理學科比較抽象,僅憑課上教師講授不易徹底消化,通過網絡課程進行二次學習有必要;②物理學科涉及的實驗較多,通過網絡課程對實驗進行反復觀看摸索,有助于理解;③物理是一門應用性很強的學科,系統的總結和練習題必不可少。通過網絡課程平臺可以將更多更有效的學習資源共享。

2)網絡課程實現。

①資源搜索與整合。在視頻方面,將視頻導入友立會聲會影X3編輯器(也可選用其他編輯器)進行編輯,將重點、難點等利用文字標注功能標記,對視頻進行基本的剪輯和修飾。將多個視頻通過轉場、添加字幕等功能整合成一個視頻并導出。

②將視頻轉換成流媒體格式。使用Helix Producer basic 9.0流媒體編碼器(也可選用其他流媒體轉換工具)對視頻文件進行格式轉換。

③將資源添加到美萍VOD點播系統中。在服務器端新建高中物理子類,將資源逐一添加。添加過程中可為資源添加項目簡介、等級評分等。服務器端添加資料情況如圖1所示。

④客戶端可通過兩種方式訪問服務器端資源。一種是通過網頁形式,一種通過客戶端應用程序。通過網頁形式訪問網絡課程如圖2所示。通過客戶端應用程序訪問效果圖與圖1一致,但客戶端沒有權限對資源進行修改。

⑤留言功能使用。學生在客戶端留言,管理員在服務器端可以查看客戶留言的詳細情況。通過電話、郵件、聊天等手段對客戶端留言進行回復。

4 利用美萍VOD點播系統構建網絡課程的不足之處及建議

4.1 利用美萍VOD點播系統構建網絡課程的不足之處

1)缺少自帶的流媒體編碼器。該系統雖然能夠實現流媒體視頻文件的,但所的視頻都是通過其他的流媒體編碼器處理后得來的,缺少與之配套的編碼器。這就使得對視頻的編輯需要借助第三方軟件,使網絡課程的建設缺少一定的連貫性。

2)缺少同步交互功能,無法實現實時交流。該系統雖然提供了用戶留言功能,但它是非實時性的,只能在留言信息中填寫上自己的郵箱或電話,通過脫離該系統的其他手段如發送郵件、聊天等進行回復,無法實現實時交流。

3)計時系統有待完善,無法計算用戶學習時間。該系統僅能記錄客戶進入資源的初始時間,無法記錄客戶退出時間,因而無法計算用戶學習時間。網絡課程學習中,教師需要對學生的使用情況進行統計,把握學習時間很必要。

4.2 針對系統不足提出的建議

1)設計流媒體編碼器插件。目前成形的視頻轉換工具很多,如貍窩多功能視頻轉換器、格式工廠等。可以對其轉換機制進行分析,將軟件轉換成插件嵌入到該系統中。或利用一些網站開放API功能,將支持在線轉換的網站鏈接到系統中,從而實現視頻資源編輯的一體化。

2)為系統增加在線聊天功能。美萍VOD點播系統需要研發或整合一款嵌入網頁的聊天工具,從而實現在線用戶的實時交流與討論。

3)增加進入與離開學習資源的計時功能。為學習資源增添訪問計時功能,可以通過編寫腳本語言,設置按鈕對象的計時動作,對該動作進行監聽來掌握用戶的學習時間。在基礎教育網絡課程中,教師需要動態把握學生的學習情況,學習時間是其中一項重要參考指標。

5 基于流媒體技術的網絡課程點播系統發展趨勢

當今的教育環境下,網絡課程應用于各級各類的網校、高等學府開放教育資源平臺中。為更有效地將網絡課程資源充分利用,與新媒體技術相結合的網絡課程點播系統建設成為主流發展趨勢。

5.1 基于流媒體技術的網絡課程點播系統在云計算中的應用

基于流媒體技術的VOD點播系統是將所有的P2P節點由統一的中心服務器管理。隨著P2P網絡增大,中心服務器有可能出現帶寬不足的瓶頸。由于服務器端內存容量限制,內存占用率加大,系統的運行速度便會降低。近年來興起的云計算擁有超強的運算能力和海量存儲空間,具有良好的擴展性、可控性和安全性。將云計算與流媒體技術相結合構建網絡課程點播系統,可以有效解決數據空間不足以及帶寬瓶頸問題。提出云計算環境下能完成高數據量的流媒體視頻傳輸模型對推廣流媒體與云計算的整合有一定的積極作用。

5.2 基于流媒體技術的網絡課程點播系統在移動學習環境中的應用

隨著移動設備的興起,將基于流媒體技術的網絡課程點播系統遷移到移動學習環境中,對泛在學習的推行大有裨益。通過將網絡課程點播系統制作成APP安裝在移動設備中,能夠滿足學習者移動學習的需求。基于移動設備的APP網絡課程,對于推動網校多元建設、貫徹“電子書包進課堂”精神等都有積極作用。由于目前3G網絡建設仍在進行中,網絡數據連接問題、流量使用問題仍是流媒體技術與移動學習相結合中的難點。提出在移動學習環境中能夠有效節省數據流量并保證流媒體視頻流暢播放的方案仍是研究重點。

6 結束語

在“國家精品課程”“建設開放學習資源”的號召下,基于流媒體技術的網絡課程點播系統的應用達到新。長期以來,很多教育工作者致力于基于流媒體技術的網絡課程點播系統的研發及完善中。在國家相關教育政策的指引下,在新媒體新技術的支持下,基于流媒體技術的網絡課程點播系統將得到更好的完善及推廣,為更多學習者提供指導和幫助。

參考文獻

[1]鐘小平.網絡服務器配置完全手冊[M].北京:人民郵電出版社,2006.

[2]陳娟.基于流媒體技術的遠程教育系統設計研究[J].網友世界,2013(4):

21-23.

[3]楊輝.校園網VOD視頻點播系統的構建[J].科教文匯,2013(3):44-45.