李菁菁, 蔡鴻明, 步豐林
(上海交通大學(xué) 軟件學(xué)院, 上海 200240)
面向圖書電子化的視頻協(xié)同編輯和管理平臺(tái)
李菁菁, 蔡鴻明, 步豐林
(上海交通大學(xué) 軟件學(xué)院, 上海 200240)
針對(duì)圖書電子化過(guò)程的協(xié)同編輯問(wèn)題,提出了一種視頻協(xié)同編輯和管理平臺(tái)框架.采用基于雙向鏈表帶權(quán)重的有向圖形式進(jìn)行視頻版本管理模型的設(shè)計(jì),并使用完整版本和增量版本混合的方式對(duì)視頻資源進(jìn)行管理,版本的存取則采用非對(duì)稱多模型的形式,通過(guò)實(shí)現(xiàn)視頻的版本控制模塊來(lái)實(shí)現(xiàn)視頻編輯的異步協(xié)同.軟件的初步應(yīng)用驗(yàn)證可知,提出的版本控制模塊在支持視頻的異步協(xié)同編輯方面具有較大適用性.
版本控制; 協(xié)同; 視頻編輯
出版社為了適應(yīng)新一輪互聯(lián)網(wǎng)+的發(fā)展,已經(jīng)由傳統(tǒng)的單一紙質(zhì)出版形式向紙質(zhì)文本與電子化資源聯(lián)合出版的形式轉(zhuǎn)變,其中電子化資源主要指書籍內(nèi)容所對(duì)應(yīng)的視頻.書籍文本和其電子化資源的編輯都需要作者協(xié)作完成,但是作者的工作時(shí)間比較彈性,多個(gè)作者往往不能滿足同一時(shí)間全部在線工作的要求.因此,如何為作者提供一種異步協(xié)同的工作模式來(lái)保證作者可以隨時(shí)隨地進(jìn)行編輯工作成為目前急需解決的問(wèn)題.
現(xiàn)已有GitBook等工具支持多人對(duì)書籍文本進(jìn)行異步協(xié)同編輯工作,但對(duì)于視頻而言,目前還沒有成熟的應(yīng)用以支持多人異步協(xié)同編輯.隨著HTML5標(biāo)準(zhǔn)化的發(fā)展,開發(fā)獨(dú)立的平臺(tái)應(yīng)用在不同操作系統(tǒng)和不同分辨率的智能手機(jī)、平板電腦、手提電腦和臺(tái)式機(jī)中運(yùn)行成為可能,基于HTML5視頻播放器進(jìn)行視頻編輯的相關(guān)研究已有很多成果.Video-Wiki[1]是一款基于Web的視頻編輯系統(tǒng),根據(jù)文本對(duì)視頻內(nèi)容進(jìn)行協(xié)同標(biāo)記,通過(guò)用戶對(duì)文本內(nèi)容的理解對(duì)視頻內(nèi)容進(jìn)行剪切、編輯以及重組,生成定制視頻.文獻(xiàn)[2]開發(fā)了一款基于HTML5的交互式非線性視頻編輯播放器,但提出的視頻協(xié)同編輯只限于不同用戶對(duì)視頻添加文字或者圖片注釋等操作,并沒有開放對(duì)原有視頻內(nèi)容進(jìn)行編輯的權(quán)限,對(duì)視頻的最終修改只能由視頻擁有者來(lái)做.維基百科[3]在2011年提出視頻協(xié)同編輯的概念,通過(guò)討論現(xiàn)有HTML5技術(shù)如何為富媒體應(yīng)用提供更好的支持,進(jìn)行了基于瀏覽器的視頻協(xié)同程序的展望工作.VidWiki[4]是一個(gè)基于瀏覽器的在線視頻修正系統(tǒng),可用來(lái)提高教育視頻中手寫文字的可讀性.用戶可以為教育視頻某一時(shí)刻的內(nèi)容添加標(biāo)注,用印刷字覆蓋視頻中的手寫字,提高了視頻中文字的可讀性,為視頻中的內(nèi)容添加公式、圖片或者其他內(nèi)容使教學(xué)視頻中的內(nèi)容更便于理解,同時(shí)通過(guò)本地化視頻中的語(yǔ)言方便本地學(xué)習(xí)者學(xué)習(xí)視頻中的內(nèi)容.VidWiki通過(guò)獲得鎖的方式實(shí)現(xiàn)視頻協(xié)同編輯,在某一段時(shí)間內(nèi)只有一人擁有某個(gè)視頻的編輯權(quán),只有獲得鎖的人將鎖釋放后,其他人才有可能獲得相應(yīng)的鎖,進(jìn)行視頻編輯操作.NOVET[5]是一種基于Web的視頻編輯開源工具,它允許用戶通過(guò)瀏覽器編輯視頻并將其結(jié)果發(fā)布,具有視頻剪切、合并、上傳、下載、添加音頻等功能.WeVideo[6]是一個(gè)視頻協(xié)同編輯平臺(tái),可以運(yùn)行在Web端和移動(dòng)端,提供視頻剪輯,添加特效、字幕和音樂等功能.用戶通過(guò)邀請(qǐng)其他用戶進(jìn)入自己創(chuàng)建的工程,實(shí)現(xiàn)在線多人同步編輯功能.簡(jiǎn)而言之,現(xiàn)有的在線視頻編輯應(yīng)用,大多數(shù)不支持多人協(xié)同編輯,少數(shù)只支持視頻的同步協(xié)同編輯或者只支持單人進(jìn)行視頻編輯的異步協(xié)同.
因此,本文提出一種視頻協(xié)同編輯和管理平臺(tái)框架,支持同步協(xié)同和異步協(xié)同兩種協(xié)同方式.其中,異步協(xié)同主要基于版本控制來(lái)實(shí)現(xiàn),提出基于雙向鏈表的非對(duì)稱版本管理模型,并在此基礎(chǔ)上實(shí)現(xiàn)版本控制算法來(lái)達(dá)到多人異步協(xié)同進(jìn)行視頻編輯的目的.
以同步協(xié)同方式進(jìn)行視頻編輯時(shí),用戶的操作會(huì)實(shí)時(shí)地上傳至服務(wù)器,服務(wù)器端對(duì)所有操作進(jìn)行沖突檢測(cè),若沖突無(wú)法得到解決,系統(tǒng)會(huì)駁回相關(guān)的沖突操作,其余的操作則會(huì)根據(jù)文獻(xiàn)[7]中的方法構(gòu)建操作樹,根據(jù)操作樹得到視頻的渲染結(jié)果并返回給所有用戶.系統(tǒng)的版本控制模塊會(huì)保留用戶每次進(jìn)行協(xié)同工作的最終版本,并對(duì)其進(jìn)行管理.
異步協(xié)同視頻編輯功能的實(shí)現(xiàn)依賴于版本控制模塊.每個(gè)用戶可以創(chuàng)建私有分支,在私有分支上進(jìn)行視頻編輯工作和版本的提交,同時(shí)不會(huì)影響其他用戶的編輯結(jié)果.在所有用戶完成工作后,進(jìn)行分支的融合并得到最終的結(jié)果.但用戶間的操作往往會(huì)發(fā)生沖突,沖突的檢測(cè)主要依賴于視頻操作集,沖突解決方案主要采用產(chǎn)生多版本的沖突容忍策略.
本文提出的視頻協(xié)同編輯和管理平臺(tái)框架(如圖1所示)主要分為客戶端和服務(wù)器端兩部分.
圖1 視頻協(xié)同編輯和管理平臺(tái)框架Fig.1 Collaborative video editing and management platform framework
客戶端即瀏覽器端,用戶可以在瀏覽器中上傳視頻或者選擇已有的視頻進(jìn)行編輯,其主要包括視頻編輯器模塊、版本控制模塊、協(xié)同編輯方式模塊和協(xié)同管理模塊.
(1) 視頻編輯器模塊包括視頻播放以及各種視頻編輯操作模塊,主要為視頻編輯提供相應(yīng)功能.
(2) 版本控制模塊可以查看視頻版本關(guān)系演進(jìn)圖,并進(jìn)行版本的提取和回溯等.
(3) 協(xié)同編輯方式模塊進(jìn)行協(xié)同方式的選擇,提供同步協(xié)同和異步協(xié)同兩種方式.
(4) 協(xié)同管理模塊主要對(duì)用戶權(quán)限和視頻資源進(jìn)行管理.
服務(wù)器端包括服務(wù)層和數(shù)據(jù)層兩部分.服務(wù)層包括版本控制模塊和協(xié)同編輯模塊.數(shù)據(jù)層主要是對(duì)系統(tǒng)資源進(jìn)行管理,包括視頻操作集、視頻資源、版本關(guān)系圖和用戶權(quán)限.其中服務(wù)層主要模塊的功能如下:
(1) 版本控制模塊的版本管理是核心,并在其基礎(chǔ)上實(shí)現(xiàn)版本控制算法.
(2) 協(xié)同編輯模塊主要是對(duì)抽象操作集、共享資源和用戶間的會(huì)話進(jìn)行管理,以此來(lái)進(jìn)行沖突檢測(cè),實(shí)現(xiàn)沖突避免,或?qū)σ旬a(chǎn)生的沖突根據(jù)不同的處理策略進(jìn)行沖突處理.
2.1非對(duì)稱多模型的版本管理
本文通過(guò)實(shí)現(xiàn)視頻的版本控制模塊來(lái)實(shí)現(xiàn)異步協(xié)同,保證所有用戶能隨時(shí)進(jìn)行資源的編輯與管理.如今流行的版本控制系統(tǒng)包括CVS、 Subversion、 Git和Mercurial[8].由于視頻無(wú)法進(jìn)行結(jié)構(gòu)化分割且占用大量存儲(chǔ)空間,以往基于文本和基于場(chǎng)景圖的3D資源版本控制方法不適用于視頻資源,本文提出非對(duì)稱多模型的版本管理方法,根據(jù)版本間轉(zhuǎn)化權(quán)重決定版本的管理模型類型,以非對(duì)稱的形式維護(hù)視頻版本,并在此基礎(chǔ)上實(shí)現(xiàn)版本控制算法,達(dá)到異步協(xié)同的目的.
2.1.1 視頻多版本管理模型
現(xiàn)有的多版本管理策略分為完整版本管理和增量版本管理[9-10].完整版本管理對(duì)管理空間的要求較高,增量版本管理雖然降低了管理空間的要求,但對(duì)特定版本的提取需要進(jìn)行相關(guān)計(jì)算,從而影響版本的提取效率.因此,提出一種基于雙向鏈表的帶權(quán)重的有向圖的版本關(guān)系模型,采取混合版本管理的方式來(lái)平衡管理空間與版本提取速度.
圖2 基于雙向鏈表的帶權(quán)重的有向圖Fig.2 Weighted directed graph based on doubly linked list
2.1.2 非對(duì)稱多模型
編輯視頻前首先要提取視頻的某個(gè)版本,之后的編輯操作主要是為了讓用戶快速看到編輯后的效果,對(duì)視頻本身質(zhì)量要求不高,所以用戶提取版本時(shí)為用戶返回視頻的壓縮版本,這樣可以降低網(wǎng)絡(luò)負(fù)載,減少網(wǎng)絡(luò)傳輸時(shí)間,提高用戶操作響應(yīng)速度.
定義1 滿足以下條件之一時(shí),則為相關(guān)版本創(chuàng)建壓縮版本并進(jìn)行維護(hù),其中壓縮版本均為完整版本的壓縮版本.
(1) 版本為當(dāng)前分支的最新版本;
(2) 用戶提取版本為某個(gè)非最新版本.
定義2 滿足以下條件之一時(shí),創(chuàng)建和維護(hù)的壓縮版本將被舍棄.
(1) 新版本產(chǎn)生,即壓縮版本所對(duì)應(yīng)的版本節(jié)點(diǎn)不再是當(dāng)前分支的最新版本節(jié)點(diǎn);
(2) 分支進(jìn)行合并.
非對(duì)稱多模型如圖3所示.由圖3可知:在版本節(jié)點(diǎn)1處進(jìn)行分支操作,產(chǎn)生兩個(gè)分支,每個(gè)分支會(huì)在最新版本節(jié)點(diǎn)處產(chǎn)生最新版本所對(duì)應(yīng)完整版本的壓縮版本,并進(jìn)行臨時(shí)存儲(chǔ);進(jìn)行分支合并操作后,每個(gè)分支創(chuàng)建和維護(hù)的壓縮版本將被舍棄,并創(chuàng)建和維護(hù)合并版本所對(duì)應(yīng)的壓縮版本.由于分支合并規(guī)定存儲(chǔ)完整版本,可以直接對(duì)其產(chǎn)生的合并版本進(jìn)行壓縮,產(chǎn)生對(duì)應(yīng)的壓縮版本.圖3中,在版本5處進(jìn)行分支的合并操作,版本5為當(dāng)前最新版本,應(yīng)創(chuàng)建和維護(hù)其對(duì)應(yīng)的壓縮版本,同時(shí)壓縮版本3和壓縮版本4被舍棄;當(dāng)用戶進(jìn)行指定版本的提取時(shí),也將臨時(shí)維護(hù)所提取版本對(duì)應(yīng)的壓縮版本.
圖3 非對(duì)稱多模型Fig.3 Asymmetric multiple model
2.2版本控制算法
本文提出的版本控制算法主要包括4個(gè)方面:提取、分支與標(biāo)簽、提交與更新、差分與融合.
2.2.1 版本的提取
將用戶上傳的原始視頻作為視頻的初始版本,服務(wù)器端會(huì)對(duì)初始版本進(jìn)行壓縮,將壓縮版本返回給用戶進(jìn)行編輯,其中初始版本永遠(yuǎn)采用完整版本策略.
若視頻已經(jīng)存儲(chǔ)在服務(wù)器端,且用戶沒有指定返回的版本,則服務(wù)器端返回給當(dāng)前用戶所在分支最新版本所對(duì)應(yīng)的壓縮版本.如果用戶指定了某個(gè)版本,且指定版本不是當(dāng)前分支所對(duì)應(yīng)的最新版本,則分為以下兩種情況進(jìn)行結(jié)果的返回:(1)如果提取版本為完整版本,則直接創(chuàng)建其壓縮版本并返回給用戶;(2)如果提取版本為增量版本,則通過(guò)最近的完整版本進(jìn)行操作渲染,產(chǎn)生指定版本的完整版本并進(jìn)行壓縮,將其壓縮版本返回給用戶.
2.2.2 版本的分支與標(biāo)簽
視頻編輯默認(rèn)的分支為主分支(Master),在進(jìn)行分支操作的時(shí)候,會(huì)判斷當(dāng)前分支的最后一個(gè)節(jié)點(diǎn)的存儲(chǔ)類型.如果是完整存儲(chǔ)版本,則直接進(jìn)行分支操作;如果是增量存儲(chǔ)版本,則向上追溯到最近的完整版本并進(jìn)行當(dāng)前分支最后一個(gè)節(jié)點(diǎn)的完整版本渲染,得到最新的完整版本并替換當(dāng)前的增量版本.新的分支會(huì)被用戶賦予一個(gè)新的名稱作為唯一標(biāo)識(shí),用戶可以在任意分支之間進(jìn)行切換.
用戶可以對(duì)任意一個(gè)分支中的某個(gè)版本進(jìn)行標(biāo)簽操作,系統(tǒng)會(huì)產(chǎn)生一個(gè)對(duì)此版本的引用,用戶可以通過(guò)標(biāo)簽快速切換到其對(duì)應(yīng)的版本;同時(shí),用戶也可以對(duì)已有的標(biāo)簽進(jìn)行刪除,解除對(duì)某個(gè)版本的引用.
視頻版本的分支和標(biāo)簽如圖4所示.由圖4可知,當(dāng)前的版本歷史圖中有Master和Branch 1兩個(gè)分支,同時(shí)為版本1所在的標(biāo)簽打上Version 1的標(biāo)簽.
圖4 視頻版本的分支和標(biāo)簽Fig.4 Branches and tags of video versions
2.2.3 版本的提交與更新
將用戶上傳的原始視頻作為視頻的初始版本,視頻編輯后產(chǎn)生的新版本則根據(jù)2.1.1節(jié)中提出的基于雙向鏈表的帶權(quán)重的有向圖來(lái)進(jìn)行新版本的存儲(chǔ),存儲(chǔ)新版本流程的偽代碼如圖5所示.
Procedure1:CalculatecostweightWbasedonoperations0Input:OperationSetO={O1,O2,……On}(0istheoperationofthevideo)Lastversionvideo:Vedioi=1Toleranceparameters:tolerancepOutput:ThecostW1ofthenewversionvideo1. CalculatenoperationcostWtempbyLoopingoverOperationSetO2. Versioni-1=getversionType(Vedioi=1)3. if(Versioni=1=='complete')4. returnWtemp5. else{6. Versiontemp=Versioni=17. while(Versiontemp!='complete'){8. Wtemp=Wtemp+getWeight(Versiontemp)9. Versiontemp=getPriorVersion(Versiontemp)10. }11.returnWtemp
Procedure2:CalculatethenewversiontypebasedonweightWInput:ThecostweightW1ofthenewversionfromthelastcompleteversionvideoOperationSetO=O1,O2,……,On(0istheoperationofthevideo)Lastversionvideo:Vedioi-1ThecriticalvalueofthecostweightΔw1.if(W1≥Δw){2. Versiontemp=Versioni-13. index=i=14. while(Versiontemp!='complete'){5. Wtemp=Wtemp+getPriorVersion(Versiontemp)6. Versiontemp=getPriorVersion(Versiontemp)7. index=index-18. }9. Vediores=Vedioindex10. while(index!=i){11. Vediorse=getRenderVideo(Vediores,Oindex+1)12. index=index=113. }14. storeCompleteVideo(Vediores,O)15.}16.else{17. storeoperations(O)18.}
圖5存儲(chǔ)新視頻版本算法
Fig.5Algorithmofstorenewversionvideo
用戶在進(jìn)行視頻編輯操作時(shí),系統(tǒng)會(huì)記錄用戶的每一個(gè)操作,在操作結(jié)束時(shí),會(huì)產(chǎn)生一系列操作組成的操作集.在進(jìn)行新版本存儲(chǔ)時(shí),系統(tǒng)會(huì)根據(jù)產(chǎn)生的操作集計(jì)算從上一個(gè)版本到當(dāng)前要存儲(chǔ)版本之間進(jìn)行視頻渲染所需要的代價(jià)wi,系統(tǒng)本身有一個(gè)臨界值Δw,比較wi和Δw大小,來(lái)決定當(dāng)前版本是進(jìn)行增量存儲(chǔ)還是完整存儲(chǔ).
2.2.4 版本的差分與融合
任意分支可以進(jìn)行融合操作,但是融合之前要進(jìn)行分支之間的差異性計(jì)算.首先獲取每個(gè)分支從當(dāng)前最新版本到所有分支公共祖先結(jié)點(diǎn)的所有操作序列,將每個(gè)分支的操作序列合并形成一個(gè)新的操作集On,通過(guò)文獻(xiàn)[7]中的方法為其構(gòu)建操作樹,在構(gòu)建操作樹的過(guò)程中,如果不同分支之間的操作存在沖突,則采用文獻(xiàn)[11]中的沖突容忍策略,系統(tǒng)會(huì)先試圖將不同分支的結(jié)果進(jìn)行融合,如果融合失敗則保留所有的組合情況供用戶選擇.由于分支的起始位置均采用完整存儲(chǔ)策略,所以分支的公共祖先根據(jù)構(gòu)建的操作樹來(lái)進(jìn)行視頻的處理產(chǎn)生分支的融合結(jié)果,并將融合的結(jié)果進(jìn)行完整版本的存儲(chǔ),舍棄每個(gè)分支之前各自維護(hù)的最新版本對(duì)應(yīng)的壓縮版本,并產(chǎn)生融合版本所對(duì)應(yīng)的視頻壓縮版本.
2.2.5 異步協(xié)同視頻編輯
異步協(xié)同視頻編輯功能通過(guò)版本控制模塊來(lái)實(shí)現(xiàn).多個(gè)用戶可以各自創(chuàng)建私有分支,并在自己的私有分支上進(jìn)行相關(guān)的視頻編輯工作和版本的提交.在所有用戶完成各自的編輯工作后,對(duì)所有分支進(jìn)行融合操作,得到最終結(jié)果.融合過(guò)程中沖突的檢測(cè)主要依賴于視頻操作集,沖突解決方案主要采用產(chǎn)生多版本的沖突容忍策略.
3.1原型系統(tǒng)實(shí)現(xiàn)架構(gòu)
原型系統(tǒng)的實(shí)現(xiàn)架構(gòu)如圖6所示.應(yīng)用層以瀏覽器為客戶端,主要基于HTML5進(jìn)行前端頁(yè)面的開發(fā),實(shí)現(xiàn)基于Video.js的視頻編輯播放器,包括視頻協(xié)同編輯方式選擇和協(xié)同管理等模塊.服務(wù)層使用Node.js進(jìn)行后臺(tái)開發(fā),采用ffmpeg實(shí)現(xiàn)服務(wù)器端視頻的處理,主要包括版本控制、協(xié)同編輯、視頻存儲(chǔ)、視頻處理和用戶權(quán)限管理模塊.數(shù)據(jù)存儲(chǔ)層使用非結(jié)構(gòu)化數(shù)據(jù)庫(kù)MongoDB進(jìn)行數(shù)據(jù)存儲(chǔ),主要存儲(chǔ)視頻操作集、視頻資源、版本關(guān)系圖和用戶權(quán)限等資源.其中,應(yīng)用層和服務(wù)層通過(guò)WebSocket技術(shù)實(shí)現(xiàn)雙向?qū)崟r(shí)通信功能,使用Ajax進(jìn)行應(yīng)用層和服務(wù)層之間的服務(wù)調(diào)用.
圖6 系統(tǒng)實(shí)現(xiàn)架構(gòu)圖Fig.6 System implementation architecture
3.2原型系統(tǒng)界面
Web端的實(shí)現(xiàn)界面如圖7所示.
圖7 系統(tǒng)實(shí)現(xiàn)圖Fig.7 Main interface of system
分支管理界面如圖8所示.
圖8 分支管理界面Fig.8 Interface of branch management
合并分支之后的結(jié)果界面如圖9所示.
圖9 分支合并結(jié)果Fig.9 Interface of branch merge result
3.3分析與討論
本文實(shí)現(xiàn)的原型系統(tǒng)WVES(web-based video editing system),不僅提供了較為豐富的視頻編輯功能,還同時(shí)支持同步協(xié)同和異步協(xié)同兩種協(xié)同編輯方式,并且提供視頻的版本控制模塊來(lái)對(duì)多人異步協(xié)同編輯提供保障.基于Web的視頻編輯系統(tǒng)的比較如表1所示.
由表1可知,現(xiàn)有的視頻系統(tǒng)對(duì)協(xié)同編輯的支持并不完善,也沒有提供視頻資源的管理方案.VidWiki不支持同步協(xié)同,通過(guò)獲取鎖的方式進(jìn)行單人異步協(xié)同,在某一段時(shí)間內(nèi)只對(duì)一個(gè)人開放視頻資源的編輯權(quán)利,并不能體現(xiàn)協(xié)同編輯的特性.WeVideo只支持視頻的同步協(xié)同編輯,不支持異步協(xié)同.本文實(shí)現(xiàn)的WVES系統(tǒng)在提供了較為完整的視頻編輯功能的基礎(chǔ)上,同時(shí)支持同步協(xié)同和異步協(xié)同兩種視頻協(xié)同編輯方式.在對(duì)視頻資源的管理方面,VidWiki和WeVideo每次均對(duì)新的視頻版本進(jìn)行完整版本的存儲(chǔ),而本文實(shí)現(xiàn)的WVES系統(tǒng)包括視頻的版本控制模塊,該模塊不僅為實(shí)現(xiàn)多人異步協(xié)同提供了保障,還可更好地對(duì)視頻資源進(jìn)行管理.
表1 基于Web的視頻編輯系統(tǒng)對(duì)比
本文提出了基于Web的視頻協(xié)同編輯和管理平臺(tái)框架.針對(duì)視頻資源的版本控制,從多版本管理模型和版本控制算法兩方面展開研究,采用基于雙向鏈表的帶權(quán)重的有向圖形式進(jìn)行版本管理模型的設(shè)計(jì),并使用完整版本和增量版本混合的技術(shù)對(duì)視頻資源進(jìn)行管理,版本的存取則采用非對(duì)稱多模型的形式,所提出的版本控制算法支持版本的提取、分支與標(biāo)記、提交與更新、差分與融合.視頻的多人異步協(xié)同編輯的實(shí)現(xiàn)基于提出的視頻版本控制模塊.
由于本文對(duì)視頻處理操作主要在服務(wù)端進(jìn)行,對(duì)網(wǎng)路的傳輸速度有很高的要求;在異步協(xié)同編輯模式下,對(duì)多分支的融合需要較長(zhǎng)的時(shí)間進(jìn)行最終版本的渲染來(lái)獲得合并后的結(jié)果.所以下一步的研究工作主要包括如何降低網(wǎng)絡(luò)延遲對(duì)獲取視頻渲染結(jié)果的影響,以及如何優(yōu)化現(xiàn)有的多分支合并方案來(lái)提高多分支融合的速度.
[1c] BLANKINSHIP E, MIKHAK B. Video-Wikis and media fluency[C]//Proceedings of the 6th International Conference on Interaction Design and Children. ACM, 2007: 175-176.
[2] MEIXNER B, SIEGEL B, SCHULTES P, et al. An HTML5 player for interactive non-linear video with time-based collaborative annotations[C]//Proceedings of International Conference on Advances in Mobile Computing & Multimedia. ACM, 2013: 490-500.
[3] DALE M. Collaborative video editing for Wikipedia[C]//Proceedings of the 7th International Symposium on Wikis and Open Collaboration. ACM, 2011: 225-225.
[4] CROSS A, BAYYAPUNEDI M, RAVINDRAN D, et al. VidWiki: Enabling the crowd to improve the legibility of online educational videos[C]//Proceedings of the 17th ACM Conference on Computer Supported Cooperative Work & Social Computing. ACM, 2014: 1167-1175.
[5] WANG H A, LIN Y C, LU H T, et al. Open source for web-based video editing[J]. Journal of Information Science and Engineering, 2012, 28(4): 787-801.
[6] WeVideo[EB/OL].[2017-02-15]. https://www.wevideo.com/.
[7] 謝曉青,張妍,姜麗紅,等.基于操作樹的移動(dòng)視頻編輯方法研究及實(shí)現(xiàn)[J].東華大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,41(4):467-473.
[8] MUSLU K, BIRD C, NAGAPPAN N, et al. Transition from centralized to decentralized version control systems: A case study on reasons, barriers, and outcomes[C]//Proceedings of the 36th International Conference on Software Engineering. ACM, 2014: 334-344.
[9] 劉國(guó)軍,楊宏志.基于雙向鏈表的產(chǎn)品協(xié)同設(shè)計(jì)版本存儲(chǔ)模型[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(10):129-131.
[10] SONG Y, LUO Y, ZHANG Y, et al. Version storage in collaborative design system based on circular linked list[C]//Computer Supported Cooperative Work in Design (CSCWD), Proceedings of the 2014 IEEE 18th International Conference on. IEEE, 2014: 684-688.
[11] GAO L, YU F, CHEN Q, et al. Consistency maintenance of Do and Undo/Redo operations in real-time collaborative bitmap editing systems[J]. Cluster Computing, 2016, 19(1): 255-267.
(責(zé)任編輯:徐惠華)
BookOrientedElectronicPlatformforCollaborativeVideoEditingandManagement
LIJingjing,CAIHongming,BUFenglin
(School of Software, Shanghai Jiao Tong University, Shanghai 200240, China)
Aiming at the problem of collaborative video editing of book oriented electronic process, an architecture of book oriented platform for collaborative video editing and management is proposed. In this architecture, the video version management model is based on doubly linked list of weighted directed graph, using the full version and incremental version mix mode to manage the video resources, and the access of the specified version video adopts asymmetric multiple model form. Through the implementation of video version control module, the goal on asynchronous collaborative video editing can be achieved. The initial application of the system shows that the version control module has great applicability in the field of asynchronous collaborative video editing.
version control; collaboration; video editing
TP 391
A
1671-0444 (2017)04-0459-07
2017-04-28
國(guó)家自然科學(xué)基金資助項(xiàng)目(61373030,71171132)
李菁菁(1994—),女,河南濮陽(yáng)人,碩士研究生,研究方向?yàn)樾畔⒖梢暬? E-mail:jingjing.li@sjtu.edu.cn
蔡鴻明(聯(lián)系人),男,教授,E-mail:hmcai@sjtu.edu.cn