林弋程
摘要:針對教學(xué)用途設(shè)計(jì)一個(gè)以FFmpeg為核心技術(shù)支撐的視頻管理系統(tǒng),支持視頻入/出庫、基于屬性的視頻檢索、常見視頻格式轉(zhuǎn)換、視頻播放、基于視頻標(biāo)簽截取與合并視頻片段等功能,可基本滿足教師日常備課的視頻管理和制做需求。其突出特點(diǎn)是通過視頻屬性記錄以及視頻標(biāo)記功能,大大提高視頻檢索、視頻片段截取與合并操作的效率。
關(guān)鍵詞:視頻標(biāo)簽;視頻管理系統(tǒng);FFmpeg
一、引言
一圖抵千言,更別說視頻了。相對于其它媒體,視頻具有表現(xiàn)力強(qiáng)、信息傳輸量大等特點(diǎn)。如果運(yùn)用得當(dāng),視頻輔助教學(xué)常常可以起到事半功倍的效果。例如,危玉妹、危薇將法律視頻案例運(yùn)用到教學(xué)中,有效提高了教學(xué)效率[1]。周娟認(rèn)為微視頻能呈現(xiàn)普通課堂不易呈現(xiàn)的內(nèi)容,合理應(yīng)用微視頻可以有效提高學(xué)生的自主學(xué)習(xí)能力和學(xué)生的實(shí)際獲得[2]。Amanda L Roshier等對諾丁漢大學(xué)獸醫(yī)科學(xué)學(xué)院為促進(jìn)學(xué)生學(xué)習(xí)而開發(fā)的在線視頻學(xué)習(xí)資源的教學(xué)效果進(jìn)行了實(shí)證研究,結(jié)果表明在教學(xué)中使用視頻輔助教學(xué)獲得了學(xué)生的積極評價(jià)[3]。就教學(xué)視頻的獲取而言,隨著信息技術(shù)的迅猛發(fā)展和網(wǎng)絡(luò)應(yīng)用的推廣普及,教師可獲取的視頻資源極大地豐富起來了,同時(shí)教育管理部門和各高校也在大力建設(shè)各類教學(xué)資源庫,教師可以便利地獲得大量視頻資源。但是,由于教學(xué)研究本身就是個(gè)具有創(chuàng)造性的學(xué)術(shù)工作,教師個(gè)體對于具體教學(xué)實(shí)踐的視頻需要有著巨大差異,因此,積累和制作適合自身教學(xué)用途的教學(xué)視頻在一定意義上來說是每一名教師都必須做到的。然而,教師要想制成好用的教學(xué)視頻并不是一件容易的事。雖然如今視頻管理和編輯工具越來越容易獲得,工具掌握的難度也越來越低,但是就目前而言,已有的視頻管理和編輯工具對于大數(shù)量視頻的管理和編輯效率很低(編輯高清大視頻文件時(shí)情況尤甚,常會(huì)造成計(jì)算機(jī)系統(tǒng)卡頓),更為重要的是,相比于文字資源內(nèi)容的易搜索性,當(dāng)前技術(shù)對視頻資源內(nèi)容的檢索難度極大,教師常常為了尋找切合某個(gè)教學(xué)主題的多個(gè)短時(shí)視頻片斷,花費(fèi)大量時(shí)間在眾多長視頻中進(jìn)行全程人工搜索,效率極低。鑒于此,本文提出設(shè)計(jì)一種適合管理和編輯大數(shù)量視頻的管理工具。
二、FFmpeg介紹
Ffmpeg既是一款音視頻編解碼工具,同時(shí)也是一組音視頻編解碼開發(fā)套件。作為編解碼開發(fā)套件,它為開發(fā)者提供了豐富的音視頻處理的調(diào)用接口[5],在許多商用和自由軟件中得到了廣泛采用。它的開發(fā)套件中包含的函數(shù)庫主要有:1)libavcodec函數(shù)庫:音視頻編解碼;2)libavformat函數(shù)庫:處理音頻、視頻以及字幕封裝和解封裝。本文提出的視頻管理系統(tǒng)依賴Ffmpeg的這兩個(gè)函數(shù)庫提供的API來完成對視頻的處理。
三、教學(xué)用途視頻管理系統(tǒng)的需求分析
為了滿足教學(xué)的多方面需要,教師平時(shí)往往積累了大量的教學(xué)基礎(chǔ)視頻,為了備課時(shí)能快速調(diào)用并編輯特定主題視頻,教學(xué)用途視頻管理系統(tǒng)(以下簡稱:系統(tǒng))需要具備特殊的“增刪改查”功能。常規(guī)的,系統(tǒng)需要提供視頻入庫(出于便捷考慮,視頻入庫功能需支持多個(gè)視頻一次性文件入庫操作)和視頻出庫(即把某個(gè)/某些視頻保存到指定目錄)功能。同時(shí),為了便于教師調(diào)取特定內(nèi)容的入庫視頻,系統(tǒng)必須提供依據(jù)屬性的視頻檢索功能。我們知道,視頻文件在入庫前一般只帶有文件名、時(shí)長、大小、幀數(shù)率等簡單屬性,不能滿足復(fù)雜檢索的需要,因此系統(tǒng)在原有屬性的基礎(chǔ)上重點(diǎn)應(yīng)為視頻提供額外屬性,包括固定屬性和擴(kuò)展屬性。前者包括內(nèi)容描述(1個(gè))、關(guān)鍵詞(任意多個(gè),支持任何常見的間隔符號(hào)),這對于從眾多視頻文件中迅速找到特定主題的視頻非常有幫助,后者為特殊需要提供定制化屬性。此外,為方便使用,系統(tǒng)還應(yīng)提供最近使用視頻的列表的功能。
為了便于后續(xù)高效搜索視頻內(nèi)容,視頻入庫以后,用戶可以在任何時(shí)候?yàn)橐曨l中任意時(shí)段做具體的內(nèi)容標(biāo)記。為此,系統(tǒng)提供創(chuàng)建、刪除、編輯和搜索視頻標(biāo)簽的功能,用戶通過它在視頻中標(biāo)記感興趣的視頻片段。為了方便使用,系統(tǒng)還提供最近使用視頻標(biāo)簽列表的功能。如此,教師平時(shí)在收集、使用、編輯視頻時(shí),就可以方便地在視頻中的任意時(shí)段做標(biāo)記(包括感興趣的視頻片段的起止時(shí)間、內(nèi)容描述和關(guān)鍵詞等),將來為某個(gè)教學(xué)需要進(jìn)行內(nèi)容檢索時(shí),就可以從大量長視頻中迅速定位到特定主題的視頻片斷,節(jié)省重復(fù)人工觀看視頻查找特定內(nèi)容的大量時(shí)間。這樣,教師平時(shí)所積累的大量視頻就不僅僅是令人望而生嘆難以實(shí)際使用的堆積物,而是可以隨時(shí)調(diào)用的數(shù)據(jù)資源庫。
在將視頻實(shí)際用于教學(xué)的時(shí)候,教師對于視頻的使用有三種可能性:一是完整播放原有視頻,二是播放某個(gè)視頻的部分片段,三是播放融合了多個(gè)視頻片段的視頻。這就要求系統(tǒng)為用戶提供視頻播放、視頻格式轉(zhuǎn)換、視頻截取和視頻合并的功能。對于視頻格式轉(zhuǎn)換、視頻截取和視頻合并,由于有時(shí)候需要處理的數(shù)量較大,為了方便使用,系統(tǒng)以批處理方式提供相應(yīng)的功能:先由用戶指定要對哪些視頻進(jìn)行格式轉(zhuǎn)換,要對哪些視頻截取哪部分視頻片段,要合并哪些視頻片段,作為任務(wù)列表,再由系統(tǒng)集中處理完成。需要特別指出的是,為了輔助教學(xué),教師常會(huì)運(yùn)用運(yùn)動(dòng)相機(jī)拍攝教學(xué)素材。如王亮等將運(yùn)動(dòng)相機(jī)用于輔助游泳教學(xué)[3]。在拍攝過程中,運(yùn)動(dòng)相機(jī)會(huì)同時(shí)錄制高清版本和低清版本兩個(gè)視頻。高清版本的視頻文件的大小通常都達(dá)到數(shù)G規(guī)模,直接用來編輯常常會(huì)因?yàn)檎加糜?jì)算機(jī)過多資源導(dǎo)致卡頓現(xiàn)象,極大影響用戶體驗(yàn)。此時(shí),系統(tǒng)支持用戶通過觀看低清版本視頻文件來設(shè)置編輯參數(shù),待設(shè)置完成后交由系統(tǒng)對高清版本視頻執(zhí)行編輯任務(wù),從而極大地提高編輯效率。如果原先沒有對應(yīng)的低清版本視頻,系統(tǒng)對高清版本視頻進(jìn)行壓縮處理,生成低清版本視頻。
為了保障系統(tǒng)信息的安全,系統(tǒng)還提供用戶管理功能,包括用戶注冊/注銷、用戶身份驗(yàn)證和對視頻文件訪問的權(quán)限管理。系統(tǒng)的用戶分為管理用戶和應(yīng)用用戶兩類。系統(tǒng)設(shè)置一個(gè)永久存在的管理用戶,負(fù)責(zé)自身密碼修改和對應(yīng)用用戶的管理,包括注銷應(yīng)用用戶,將應(yīng)用用戶密碼重置為默認(rèn)密碼,但不能查看應(yīng)用用戶的信息和訪問系統(tǒng)中的視頻信息。應(yīng)用用戶可以根據(jù)需要注冊和注銷,修改密碼,以及為視頻設(shè)置私有或公開訪問權(quán)限,默認(rèn)為公開權(quán)限。
四、教學(xué)用途視頻管理系統(tǒng)的設(shè)計(jì)
(一)系統(tǒng)的信息存儲(chǔ)設(shè)計(jì)
對視頻,選擇以文件形式進(jìn)行存儲(chǔ),系統(tǒng)以相對路徑進(jìn)行訪問。對其它信息,選擇以數(shù)據(jù)庫形式進(jìn)行存儲(chǔ)??紤]到信息規(guī)模并不大,為了簡化系統(tǒng)配置,選擇采用輕型數(shù)據(jù)庫管理系統(tǒng)SQLite進(jìn)行信息管理。
(二)系統(tǒng)的事務(wù)處理設(shè)計(jì)
通過以上需求分析,可以看到系統(tǒng)需要提供用戶管理、視頻文件管理、視頻標(biāo)簽管理和視頻編輯任務(wù)管理的功能。為此,系統(tǒng)設(shè)置了用戶管理模塊、視頻文件管理模塊、視頻標(biāo)簽管理模塊和視頻編輯任務(wù)管理模塊等相應(yīng)模塊,它們的接口描述如下:
1.用戶管理模塊:通過訪問數(shù)據(jù)庫為系統(tǒng)提供實(shí)現(xiàn)用戶管理的支撐,包括用戶注冊,用戶注銷,用戶身份驗(yàn)證,當(dāng)前登錄用戶記錄和讀取,用戶密碼修改等。
2.視頻文件管理模塊:為前端播放器提供視頻文件地址,最近入庫/修改的視頻列表及列表中視頻數(shù)量的設(shè)置,根據(jù)查詢條件搜索視頻,視頻文件入庫出庫與刪除,視頻文件屬性記錄生成、刪除和編輯,為視頻文件增加/刪除定制化屬性等。
3.視頻標(biāo)簽管理模塊:最近生成/修改的標(biāo)簽列表及其列表中標(biāo)簽數(shù)量的設(shè)置,根據(jù)查詢條件搜索視頻標(biāo)簽,視頻標(biāo)簽生成與刪除等。
4.視頻編輯任務(wù)管理模塊:任務(wù)列表創(chuàng)建/刪除,任務(wù)添加,任務(wù)順序調(diào)整,任務(wù)列表提交,任務(wù)列表撤銷等。
(三)系統(tǒng)的用戶界面設(shè)計(jì)
總體上應(yīng)遵循Theo Mandel提出的3條用戶界面設(shè)計(jì)“黃金準(zhǔn)則”:1)用戶操作控制;2)減少用戶的記憶負(fù)擔(dān);3)保持界面一致[6]。因此,系統(tǒng)的整個(gè)界面從上到下設(shè)置三大分區(qū)(菜單區(qū)、按鈕區(qū)和工作區(qū)),其中,“菜單區(qū)”含有系統(tǒng)可供用戶使用的所有功能項(xiàng),“按鈕區(qū)”設(shè)置常用按鈕,“工作區(qū)”隨工作內(nèi)容顯示對當(dāng)前操作有幫助的信息,提供鍵盤快捷鍵操作(可極大提高編輯效率)和快捷菜單操作。
(四)系統(tǒng)架構(gòu)
綜上,教學(xué)用途視頻管理系統(tǒng)選擇如下圖所示的分層架構(gòu)。圖中的箭頭表示箭頭發(fā)出模塊需要調(diào)用箭頭指向模塊的功能。
五、結(jié)語
設(shè)計(jì)上述視頻管理系統(tǒng)的出發(fā)點(diǎn)是讓教師個(gè)人管理和編輯視頻變得輕松便捷,其突出特點(diǎn)是通過視頻屬性記錄以及視頻標(biāo)記功能,可以極大提高教師備課實(shí)際工作中視頻檢索、視頻片段截取與合并操作的效率。但是,該系統(tǒng)提供的功能還比較少,特別是對視頻的編輯只包含視頻格式轉(zhuǎn)換、視頻片段截取和視頻片段合并功能,需要在今后加以完善。
參考文獻(xiàn)
[1]危玉妹, 危薇. 視頻案例教學(xué):法律教學(xué)的新突破[J]. 福建師范大學(xué)學(xué)報(bào)(哲學(xué)社會(huì)科學(xué)版), 2006(6):175-178.
[2]周娟. 微視頻在教學(xué)中的積極作用[J]. 中國教育學(xué)刊, 2018(5).
[3]Roshier A L, Foster N, Jones M A. Veterinary students' usage and perception of video teaching resources.[J]. Bmc Medical Education, 2011, 11(1):1.
[4]陳宗讓, 李驥平, 李曉銘. 教學(xué)視頻資源在課堂教學(xué)中的應(yīng)用研究[J]. 電化教育研究, 2009(7):95-97.
[5]劉琦, 趙文杰. FFmpeg 從入門到精通[M]. 機(jī)械工業(yè)出版社,2018.
[6]Mandel T . The Elements of User Interface Design[M]. John Wiley & Sons, Inc. 1997.
[3]王亮, 吳雙. 運(yùn)動(dòng)相機(jī)在游泳日常教學(xué)中的創(chuàng)新應(yīng)用[J]. 文體用品與科技, 2016(4):125-126.