国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

教育視頻點(diǎn)播系統(tǒng)視頻格式轉(zhuǎn)換技術(shù)的研究*

2014-07-31 10:04吳凡代毅高冠南

吳凡+代毅+高冠南

摘 要:隨著Internet的普及,用戶原創(chuàng)內(nèi)容逐漸受到人們的重視,對教育視頻點(diǎn)播系統(tǒng)提出了新的要求,即為教育者和受教育者提供視頻上傳功能。然而當(dāng)前視頻種類繁多,數(shù)字化處理后的視頻數(shù)據(jù)量非常大,如何有效壓縮視頻數(shù)據(jù)和音頻數(shù)據(jù)并將其存儲為適當(dāng)?shù)母袷匠蔀榉?wù)器端亟待解決的問題。FFmpeg及MEncoder兩種開源、跨平臺的視頻壓縮處理命令行程序,已成為目前最流行的視頻壓縮和處理軟件核心。文章在測試二者差異性基礎(chǔ)上,結(jié)合二者優(yōu)點(diǎn)及視頻編碼信息,設(shè)計服務(wù)器端視頻轉(zhuǎn)碼模塊,為開發(fā)者提供服務(wù)器端統(tǒng)一視頻文件格式技術(shù)解決方案。

關(guān)鍵詞:教育視頻點(diǎn)播系統(tǒng);視頻轉(zhuǎn)碼;FFmpeg;MEncoder

中圖分類號:G431 文獻(xiàn)標(biāo)志碼:B 文章編號:1673-8454(2014)10-0067-04

一、引言

計算機(jī)網(wǎng)絡(luò)技術(shù)逐漸成熟及多媒體應(yīng)用日益普及的同時,視頻點(diǎn)播(VOD)系統(tǒng)開始興起并逐漸成為人們獲取網(wǎng)絡(luò)信息的重要手段,其在遠(yuǎn)程教育中的應(yīng)用已成為開展遠(yuǎn)程教育的一個重要方面。[1]視頻點(diǎn)播系統(tǒng)以視聽、交互及根據(jù)用戶需求提供服務(wù)為特征應(yīng)用于教育,不僅為受教育者提供實(shí)時同步的音、視頻等多種多媒體信息。同時,在一定程度上實(shí)現(xiàn)了按需教育,打破了傳統(tǒng)教育手段時間和空間上的局限,使受教育者可以根據(jù)自己的需求,自主選擇和獲取自己感興趣的各種多媒體信息。[2]

教育視頻點(diǎn)播(EVOD)系統(tǒng),即應(yīng)用于教育的視頻點(diǎn)播系統(tǒng),其結(jié)構(gòu)和數(shù)據(jù)傳輸方式與普通視頻點(diǎn)播系統(tǒng)相同,所不同的是視頻資料主要面向?qū)W生自主學(xué)習(xí)、學(xué)生課外知識拓展、教師課堂教學(xué)及教師專業(yè)發(fā)展等方面,一般要求具有科學(xué)性和教育性。[3]由此可見,教育視頻點(diǎn)播系統(tǒng)的發(fā)展很大程度上依賴于視頻點(diǎn)播技術(shù)的進(jìn)步。Web 2.0的迅猛發(fā)展,移動網(wǎng)接入速度的提高,及終端處理能力的逐步增強(qiáng),在推動視頻點(diǎn)播系統(tǒng)面向用戶參與、主導(dǎo)及建設(shè)的同時,對教育視頻點(diǎn)播系統(tǒng)也提出了新的要求。

二、教育視頻點(diǎn)播系統(tǒng)面臨的挑戰(zhàn)

互聯(lián)網(wǎng)的普及,催生了用戶原創(chuàng)內(nèi)容(UGC)的概念,即用戶將自己原創(chuàng)的內(nèi)容通過互聯(lián)網(wǎng)平臺分享給其他用戶。這表明用戶使用互聯(lián)網(wǎng)的方式已由以下載為主轉(zhuǎn)變?yōu)橄螺d與上傳并重。YouTube、MySpace、優(yōu)酷等主流視頻點(diǎn)播網(wǎng)站,都已支持原創(chuàng)視頻的上傳與分享功能。UGC在視頻點(diǎn)播系統(tǒng)的成功應(yīng)用,對教育視頻點(diǎn)播系統(tǒng)提出了新的要求,即為教育者和受教育者提供視頻上傳功能,系統(tǒng)自動分享與維護(hù),以方便教育資源傳播的便易性和快捷性,加強(qiáng)師生、生生之間的交流,進(jìn)一步提高學(xué)生的學(xué)習(xí)效果及教師隊(duì)伍的教學(xué)水平。

目前教育視頻點(diǎn)播系統(tǒng)面向開放的同時,也面臨視頻編碼信息(格式、分辨率、編解碼器等)多元化而帶來的眾多視頻標(biāo)準(zhǔn)及大量不同格式的視頻信息交織在一起的混亂局面。[4]限定上載視頻格式雖然能夠解決此類問題,卻增加了使用者的負(fù)擔(dān)。如何將龐大的視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行有效壓縮并以適當(dāng)格式存儲已成為教育視頻點(diǎn)播系統(tǒng)一個非常重要的問題。統(tǒng)一視頻文件格式,不僅有利于瀏覽器的兼容播放,降低受教育者使用成本,增強(qiáng)界面友好性,便于網(wǎng)站服務(wù)器端的管理,而且視頻素材易于應(yīng)用到教學(xué)中,具有重要的意義。[5]針對這一問題,筆者主要對服務(wù)器端的兩種視頻格式轉(zhuǎn)換技術(shù)FFmpeg和MEncoder進(jìn)行研究,為教育視頻點(diǎn)播系統(tǒng)開發(fā)者提供服務(wù)器端統(tǒng)一視頻文件格式技術(shù)解決方案。

三、視頻格式轉(zhuǎn)換技術(shù)

當(dāng)前最流行的視頻壓縮和處理軟件核心為FFmpeg和MEncoder兩種。兩者都是開源、跨平臺的視頻壓縮處理命令行程序,而且很多FFmpeg的開發(fā)者同時也是Mplayer的開發(fā)者,所以兩者聯(lián)系緊密。此外,F(xiàn)Fmpeg和MEncoder也被廣泛應(yīng)用于大多數(shù)的視頻播放軟件,例如暴風(fēng)影音播放器利用了FFmpeg,Mplayer播放器利用了MEncoder。

1.FFmpeg

FFmpeg是如今應(yīng)用非常廣泛的開源免費(fèi)項(xiàng)目,提供對音視頻進(jìn)行錄制、轉(zhuǎn)換及編解碼功能為一體的完整解決方案。它包含了目前領(lǐng)先的音視頻編解碼庫libavcodec,并對libavcodec庫中的很多codec重新開發(fā),以保證質(zhì)量和性能。FFmpeg基于Linux平臺開發(fā),但同樣可以在Windows等主流操作系統(tǒng)中編譯運(yùn)行,很多優(yōu)秀的播放器如暴風(fēng)影音、TCPMP、VLC都采用FFmpeg解碼器。

(1)FFmpeg的使用

FFmpeg的基本語法為:ffmpeg [inputfile_options] -i inputfile [outputfile_options] outputfile,其中inputfile_options為源文件格式選項(xiàng),-i為讀取源文件命令,inputfile為帶有完全路徑的源視頻文件名(可以為硬盤中的文件、網(wǎng)絡(luò)流、設(shè)備中捕獲的音視頻等),outputfile_options為輸出文件格式選項(xiàng),outputfile為帶有完全路徑的輸出文件名。FFmpeg常用options選項(xiàng)如下表 1所示。

(2)FFmpeg視頻格式轉(zhuǎn)換技術(shù)

FFmpeg命令行可實(shí)現(xiàn)視頻格式轉(zhuǎn)換及視頻圖片提取功能。視頻格式轉(zhuǎn)換命令如圖 1所示,此命令可將input.avi文件轉(zhuǎn)換為output.flv文件;設(shè)置輸出文件使用flv視頻編碼器,幀頻為24fps,視頻編碼碼率為500bps,分辨率為720×480;設(shè)置輸出文件使用mp3音頻編碼器,音頻采樣率為22050Hz,音頻編碼碼率為56kbps。

FFmpeg提取視頻圖片命令如圖 2所示,此命令實(shí)現(xiàn)每秒提取input.avi的一個視頻幀,并將圖片命名為“output-001.jpg”、“output-002.jpg”,“output-003.jpg”等。圖片的分辨率將由“W×H”的值重新設(shè)置。若要提取有限數(shù)量的幀,可以添加-vframes或-t選項(xiàng),也可以添加-ss選項(xiàng),從一個特定時間點(diǎn)開始提取圖片。

2.MEncoder

MEncoder是Linux視頻播放工具M(jìn)Player自帶的編碼工具,是一個使用C語言開發(fā)的高效的視頻壓縮和格式轉(zhuǎn)換系統(tǒng)。MEncoder基于命令行使用,需要用命令行手工添加所需的各項(xiàng)參數(shù)。它支持各種視頻格式,可針對不同CPU指令集進(jìn)行優(yōu)化編譯,能充分利用處理器性能,因此轉(zhuǎn)換速度快,1/10至1/2的播放時長就可完成。

(1)MEncoder的使用

MEncoder的基本語法為:mencoder inputfile[file|URL|-] [-o outputfile] [options],其中inputfile為帶有完全路徑的源視頻文件名(可以為硬盤中的文件或網(wǎng)頁地址);-o為輸出文件命令,outputfile帶有完全路徑的輸出文件名;options選項(xiàng)較為復(fù)雜,表 2列出了MEncoder部分選項(xiàng)。

(2)MEncoder視頻格式技術(shù)

MEncoder命令可實(shí)現(xiàn)視頻格式轉(zhuǎn)換功能。視頻格式轉(zhuǎn)換命令,如圖 3所示,此命令將input.avi文件轉(zhuǎn)換為output.flv文件;以mp3lame為編碼使用的音頻編碼器,lavc(Libavcodec)為編碼使用的視頻編碼器,由于Libavcodec包含了多種視頻編碼,故用vcodec指定使用FLV編碼;并設(shè)定以平均碼率編碼的音頻編碼碼率為56kbps,音頻采樣頻率為22050Hz,視頻編碼碼率為500kbps。

四、視頻格式轉(zhuǎn)換技術(shù)比較

1.功能比較

FFmpeg命令行可在輸入文件前添加選項(xiàng)、強(qiáng)制輸出格式,支持輸入文件的編解碼及從視頻中截取單幀圖片,而MEncoder不支持。[6]但在視頻壓縮方面,兩者的功能相差不大,主要差別在于MEncoder能夠編輯到所有FFmpeg的libavcodec所支持的編碼,[7]其支持的視頻格式較FFmpeg完整。例如MEncoder可轉(zhuǎn)換FFmpeg不支持的擴(kuò)展名為.rm、.rmvb、.rt的文件。[8]

2.效率效果比較

本實(shí)驗(yàn)基于Ubuntu 12.04操作系統(tǒng)安裝的FFmpeg及MEncoder轉(zhuǎn)換軟件,分別轉(zhuǎn)換同一高清視頻,從轉(zhuǎn)換視頻用時及輸出視頻的大小兩個角度,測試兩者轉(zhuǎn)換效率的差異。源視頻采用時長為超過1h20mn,碼率為3535Kbps,MPEG-4編碼的100段高清視頻片段,主要為滑雪運(yùn)動畫面和人物敘事畫面,可以有效檢測視頻轉(zhuǎn)碼在壓縮動態(tài)和靜態(tài)畫面時的優(yōu)劣。FFmpeg及MEncoder均采用表 3中命令行選項(xiàng)提及的flv對視頻進(jìn)行壓縮,mp3對音頻進(jìn)行壓縮,設(shè)定音頻采樣率為22050Hz,視頻碼率為3000Kbp,幀頻為24fps,容器為flv。測試結(jié)果及分析如下:

例如,抽取源視頻文件大小為1.99GB(2,137,663,152 字節(jié))的滑雪視頻,轉(zhuǎn)碼后視頻大小見表 3。由于為了保持高清視頻轉(zhuǎn)碼后的清晰度,設(shè)定了較高的碼率,轉(zhuǎn)碼后的視頻大小相比源文件大小沒有較大的變化,但相同選項(xiàng)參數(shù)下,MEncoder壓縮率略高。在視頻轉(zhuǎn)換用時方面,F(xiàn)Fmpeg用時較少,編碼速度較高。在畫面效果方面,由于壓縮是有損的,輸出視頻相比源視頻清晰度都有一定程度的下降,且MEncoder相比FFmpeg轉(zhuǎn)碼后的視頻質(zhì)量略高。本實(shí)驗(yàn)一共測試了所有的100段測試視頻,92%的視頻符合此規(guī)律。同時也有學(xué)者證實(shí),F(xiàn)Fmpeg轉(zhuǎn)換.wmv和.asf文件時經(jīng)常出現(xiàn)花屏現(xiàn)象,轉(zhuǎn)換.mkv格式的效果也差。[8]

綜上所述,F(xiàn)Fmpeg的優(yōu)點(diǎn)在于編碼速度高、功能較全面、使用更加靈活,MEncoder的優(yōu)點(diǎn)在于可轉(zhuǎn)換的視頻種類多、質(zhì)量高,但是轉(zhuǎn)換速度較FFmpeg慢。因此,在視頻文件格式轉(zhuǎn)換時,應(yīng)結(jié)合兩個編碼器的優(yōu)點(diǎn)及視頻格式、時長等視頻編碼信息,同時使用它們。首先,依據(jù)表4視頻格式集合分類所示,將wmv、rm、rmvb、rt等FFmpeg無法處理或處理不好的格式交給MEncoder處理;其次,依據(jù)視頻時長分類,將時長較大的視頻(如課例)交給FFmpeg處理,減少轉(zhuǎn)換用時,將時長較小的視頻(如“微課”)交給MEncoder處理,忽略轉(zhuǎn)換用時的略微差異,提高視頻轉(zhuǎn)換后的質(zhì)量。

五、視頻格式轉(zhuǎn)換模塊設(shè)計

考慮到FLV以其文件極小、加載速度極快,可以通過FlashPlayer在網(wǎng)頁上播放的特點(diǎn),已成為視頻網(wǎng)站廣泛使用的流媒體格式。本服務(wù)器端視頻格式轉(zhuǎn)換模塊結(jié)合FFmpeg與MEncoder的優(yōu)點(diǎn),同時使用它們,將上傳至服務(wù)器的所有格式的視頻轉(zhuǎn)換成符合要求的FLV格式視頻。整個視頻格式轉(zhuǎn)換模塊功能設(shè)計流程如圖 4所示。

遍歷視頻文件夾,判斷是否存在視頻文件,如果發(fā)現(xiàn)視頻文件,利用FFmpeg命令讀取視頻的屬性信息,包括時長、分辨率、格式、幀速、比特率等參數(shù),并根據(jù)表 4中視頻轉(zhuǎn)換的視頻格式集合分類,判斷其格式是否屬于FFmpeg可處理的格式集合;如果屬于,則判斷視頻時長是否較小,較小則調(diào)用MEncoder根據(jù)視頻的屬性信息執(zhí)行視頻轉(zhuǎn)換,時長較大則調(diào)用FFmpeg根據(jù)視頻的屬性信息執(zhí)行視頻轉(zhuǎn)換;如果不屬于,則調(diào)用MEncoder根據(jù)視頻的屬性信息執(zhí)行視頻轉(zhuǎn)換。待視頻轉(zhuǎn)換完成后,判斷視頻是否轉(zhuǎn)換成功。如果轉(zhuǎn)換成功,則執(zhí)行文件重命名、調(diào)用FFmpeg截取視頻縮略圖、刪除源視頻文件、保存處理信息等操作;如果轉(zhuǎn)換失敗,將錯誤信息寫入錯誤日志,再次遍歷視頻文件夾,當(dāng)遍歷完視頻文件夾而沒有發(fā)現(xiàn)視頻文件時,退出程序。

六、結(jié)束語

鑒于目前教育視頻點(diǎn)播系統(tǒng)逐漸趨于開放,所面臨用戶上載視頻種類繁多的問題。本文通過測試及比較分析兩種當(dāng)前最流行的視頻壓縮和處理軟件核心FFmpeg與MEncoder,并結(jié)合兩者優(yōu)勢及視頻編碼信息,設(shè)計服務(wù)器端視頻格式轉(zhuǎn)換模塊,為教育視頻點(diǎn)播系統(tǒng)開發(fā)者提供服務(wù)器端統(tǒng)一視頻文件格式技術(shù)解決方案。云計算的興起及云終端的普及,視頻點(diǎn)播系統(tǒng)已經(jīng)不再滿足于多種視頻格式上載并統(tǒng)一為一種格式的正向轉(zhuǎn)換,而趨向于云服務(wù)器根據(jù)網(wǎng)絡(luò)鏈接狀況和終端屏幕分辨率計算得到最佳效果的視頻提供給終端播放的逆向轉(zhuǎn)換。本研究將進(jìn)一步研究基于云計算的教育視頻點(diǎn)播系統(tǒng),為教育者和受教育者提供適合當(dāng)前終端的最佳效果的視頻。

參考文獻(xiàn):

[1]吳艾,劉心松,符青云,劉克劍. DPVoD:基于P2P的視頻點(diǎn)播體系結(jié)構(gòu)[J].計算機(jī)研究與發(fā)展, 2008(2).

[2]沈時軍,李三立.基于P2P的視頻點(diǎn)播系統(tǒng)綜述[J].計算機(jī)學(xué)報,2010(4).

[3]金智勇,孫樂傳,宋志明.基于校園網(wǎng)的視頻點(diǎn)播系統(tǒng)的構(gòu)建及在教學(xué)中的應(yīng)用[J].電化教育研究,2009(2).

[4]Ishfaq Ahmad , Xiaohui Wei , Yu Sun , Ya-qin Zhang.Video Transcoding: An Overview of Various Techniques and Research Issues[J]. IEEE TRANSACTIONS ON MULTIMEDIA, MULTIMEDIA, 2005, vol. 7, p. 793-804.

[5]陳少涌,林敏,梁仕鑾.基于開源軟件的視頻點(diǎn)播系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].中國教育信息化,2011(3):30-32.

[6]Berton D. Advanced video coding on Linux[J].Linux Journal,2006 (150): 74-77.

[7]Heikki Orsila, Jaco Geldenhuys, Anna Ruokonen, Imed Hammouda,Trust issues in open source software development, WUP '09 Proceedings of the Warm Up Workshop for ACM/IEEE ICSE 2010, P. 9-12.

[8]FFmpeg Documentation[DB/OL].http://www.ffmpeg.org/documentation.html.

(編輯:魯利瑞)