黃子健,吳瑞萍,伍晶晶
(廣州城市理工學(xué)院,廣東 廣州 510800)
在數(shù)字化時(shí)代下,短視頻飛速爆火,更多用戶投身短視頻拍攝當(dāng)中。該項(xiàng)目方向在于簡(jiǎn)化用戶剪輯過(guò)程,提供多樣的模板、場(chǎng)景效果,使用戶能處于時(shí)間占比更高的想法“爆炸”之中,創(chuàng)造出更多的奇思妙想。利用目前前景良好的AWS云平臺(tái)作為部署平臺(tái)[1],AWS優(yōu)越的計(jì)算服務(wù)、高可靠的存儲(chǔ)服務(wù)及CDN服務(wù)都能為我們減少開(kāi)發(fā)難度。
傳統(tǒng)剪輯軟件門檻高,技術(shù)要求都頗高,操作較為復(fù)雜,新手入門剪輯視頻困難偏多。在線剪輯比較依賴后臺(tái)處理效率,一般會(huì)存在處理延遲較高的問(wèn)題,用戶流失量明顯偏多。當(dāng)前時(shí)代發(fā)展飛速,視頻新媒體產(chǎn)業(yè)正在發(fā)生重大變革,傳統(tǒng)視頻剪輯方式已經(jīng)開(kāi)始“力不從心”了。因此在移動(dòng)互聯(lián)網(wǎng)、云計(jì)算的背景下,建立一個(gè)方便、快捷、能彈性擴(kuò)展性能的視頻剪輯系統(tǒng)的需求變得迫切起來(lái)。
本項(xiàng)目提供將視頻剪輯和云平臺(tái)結(jié)合起來(lái)的視頻云剪輯服務(wù),既提供了高效的視頻效果處理功能,又給用戶提供了流暢的視頻文件觀看效果以及剪輯后的視頻文件的長(zhǎng)期存儲(chǔ)的功能。
根據(jù)中國(guó)廣視索福瑞媒介研究(CSM)重磅發(fā)布的《2021年短視頻用戶價(jià)值研究報(bào)告》數(shù)據(jù)顯示,我國(guó)10歲及以上網(wǎng)民觀看短視頻的比例高達(dá)90.4%,短視頻在媒介生態(tài)中的地位持續(xù)攀升。從具體的使用時(shí)長(zhǎng)來(lái)看,日均觀看短視頻超過(guò)60分鐘的用戶占比達(dá)56.5%,人均每天使用時(shí)長(zhǎng)升至87分鐘,預(yù)期觀看短視頻時(shí)長(zhǎng)增加的用戶占比升至57.9%。同時(shí),短視頻成為用戶碎片化時(shí)間的黏合劑,“晚上睡覺(jué)前”觀看的用戶占比上升最快,在2021年升至61.3%;20.7%的短視頻用戶選擇在“看電視時(shí)”看短視頻。由此表明,短視頻已經(jīng)深度滲透,全面融入用戶生活。短視頻發(fā)展迅猛,參與制作的創(chuàng)作者們要想獲得更好的流量關(guān)注,需要通過(guò)短視頻營(yíng)銷來(lái)變現(xiàn),不僅視頻內(nèi)容要更實(shí)用、更有深度,視頻的質(zhì)量更要有所保證。在短視頻迅猛發(fā)展下,更多用戶有了視頻剪輯的需求,而市面上的剪輯軟件大多操作過(guò)于復(fù)雜,新手想要入手短視頻制作市場(chǎng)過(guò)于不易,鑒于上述情況,本項(xiàng)目便做了簡(jiǎn)易版的視頻剪輯平臺(tái)。
該項(xiàng)目采用Web前端當(dāng)前最流行的框架vue,結(jié)合近幾年逐步發(fā)展起來(lái)的AWS云平臺(tái),并利用其高效性等優(yōu)點(diǎn),致力于在制作簡(jiǎn)單剪輯軟件的基礎(chǔ)上,更快地去提高系統(tǒng)的性能,提高用戶的體驗(yàn)感,且在國(guó)家“三網(wǎng)融合”的大背景下,利用基于分布式、有彈性、可擴(kuò)展的云計(jì)算平臺(tái)發(fā)展傳統(tǒng)電視媒體適應(yīng)當(dāng)前的媒體視頻新媒體產(chǎn)業(yè)已經(jīng)成為一個(gè)大趨勢(shì)。
視頻剪輯主要體現(xiàn)在視頻內(nèi)容的包裝上,包括片頭片尾動(dòng)畫(huà),片花演繹,字幕、logo的花式、濾鏡的增加以及多個(gè)視頻內(nèi)容的合成。目前流行的視頻剪輯方式分為兩種:
(1)脫機(jī)剪輯。利用本地實(shí)驗(yàn)視頻剪輯工具對(duì)視頻內(nèi)容進(jìn)行剪輯、美化。這種處理方式,通常需要對(duì)視頻剪輯工具了解得比較透徹,并且處理效率低下。
(2)在線剪輯。在線剪輯平臺(tái),多是一些收費(fèi)平臺(tái),并且處理效率和效果依賴于后臺(tái)服務(wù)器的處理能力。
根據(jù)項(xiàng)目背景來(lái)看,我們需要完成的大致研究任務(wù)如下:如何對(duì)視頻內(nèi)容進(jìn)行包裝,如何在使系統(tǒng)簡(jiǎn)單可行的情況下提高系統(tǒng)的性能。
對(duì)視頻內(nèi)容的包裝:包括片頭片尾動(dòng)畫(huà),片花演繹,字幕、logo的花式、濾鏡的增加、單個(gè)視頻的剪輯以及多個(gè)視頻內(nèi)容的合成。
提高系統(tǒng)的性能:將視頻剪輯和云平臺(tái)結(jié)合起來(lái)的視頻云剪輯服務(wù),可提供高效的視頻效果處理功能,給用戶提供流暢的視頻文件觀看效果以及剪輯后的視頻文件的長(zhǎng)期存儲(chǔ)的功能。
設(shè)計(jì)依據(jù):本項(xiàng)目結(jié)合當(dāng)前市場(chǎng)上已有的視頻剪輯技術(shù)來(lái)發(fā)掘一種新的設(shè)計(jì)思路。市面上的脫機(jī)剪輯技術(shù),由于是在本地對(duì)視頻內(nèi)容進(jìn)行編輯、美化,其速度較在線剪輯技術(shù)快得多,而本項(xiàng)目使用云平臺(tái)來(lái)作為項(xiàng)目的后臺(tái),其速度對(duì)比使用傳統(tǒng)架構(gòu)搭成的后臺(tái)速度更為快速,可以與脫機(jī)剪輯技術(shù)的速度媲美;在線剪輯技術(shù)多為簡(jiǎn)便的操作,更有利于用戶使用,但是其效率偏低。鑒于此,本項(xiàng)目致力于打造簡(jiǎn)便高效的剪輯平臺(tái)。綜上,本項(xiàng)目是結(jié)合當(dāng)前市面上已有的剪輯技術(shù),取其精華、去其糟粕,采用更好更新的技術(shù)來(lái)設(shè)計(jì)的。
在概要設(shè)計(jì)的基礎(chǔ)上,該項(xiàng)目的總體結(jié)構(gòu)采用前后端分離的方式,前端開(kāi)發(fā)的總體界面布局設(shè)計(jì)等采用了Vue框架,并結(jié)合VideoContext、WebGL技術(shù)實(shí)現(xiàn)實(shí)時(shí)視頻剪輯處理和濾鏡實(shí)時(shí)渲染。后端以Springboot框架為基礎(chǔ)進(jìn)行開(kāi)發(fā),與前端實(shí)現(xiàn)數(shù)據(jù)交互,并且結(jié)合了FFmpeg和多線程對(duì)視頻文件進(jìn)行剪輯處理。
確定了該項(xiàng)目的基本功能為處理視頻來(lái)源(包括視頻素材的收集、媒資數(shù)據(jù)導(dǎo)入、電視直播信號(hào)接入等,并對(duì)本地視頻數(shù)據(jù)進(jìn)行統(tǒng)一管理,采用ftp、 http、faspTM等多種標(biāo)準(zhǔn)或私有傳輸協(xié)議批量上傳視頻文件)、視頻多格式轉(zhuǎn)換(采用云轉(zhuǎn)碼的方式)、大容量存儲(chǔ)(采用云計(jì)算平臺(tái)的海量的視頻數(shù)據(jù)存儲(chǔ))、視頻剪輯(通過(guò)FFmpeg對(duì)視頻進(jìn)行逐幀處理,通過(guò)VideoContext對(duì)視頻進(jìn)行實(shí)時(shí)剪輯處理)、視頻濾鏡(使用ffmpeg和WebGL 3D繪圖協(xié)議)、視頻字幕添加(通過(guò)video.js給視頻添加一個(gè)文本軌道)、視頻上傳(上傳后的視頻數(shù)據(jù)存放在AWS S3)、視頻云計(jì)算平臺(tái)架構(gòu)的存儲(chǔ)服務(wù)、計(jì)算服務(wù)和CDN服務(wù)。
本項(xiàng)目的前端采用vue-cli腳手架工具搭建項(xiàng)目,主界面設(shè)計(jì)上采用了左右結(jié)構(gòu)的方式,左邊是系統(tǒng)的功能,選擇需要對(duì)視頻進(jìn)行操作的功能在右邊顯示。后端使用springboot搭建項(xiàng)目,用AWS云計(jì)算平臺(tái)管理。
系統(tǒng)設(shè)計(jì)為可在任何IE8以上的瀏覽器環(huán)境下運(yùn)行。
(1)前端使用VUE框架和ElementUI組件框架實(shí)現(xiàn)良好的頁(yè)面交互。
(2)前端使用VideoContext實(shí)現(xiàn)視頻剪輯處理,使用WebGL實(shí)現(xiàn)濾鏡等視頻效果的實(shí)時(shí)渲染。
(3)前端使用JavaScript原生API獲取手機(jī)或電腦的語(yǔ)音設(shè)備,將錄制的音頻添加到視頻中,如圖1所示。
(4)后端使用AWS云平臺(tái)作為云計(jì)算平臺(tái),并借助AWS實(shí)現(xiàn)視頻文件的格式轉(zhuǎn)換和安全存儲(chǔ)以及視頻播放時(shí)的類CDN處理(邊緣站點(diǎn)和CloudFront)。
(5)后端通過(guò)SpringBoot框架,實(shí)現(xiàn)和前端的交互。將項(xiàng)目部署到目前流行的AWS云上,其高伸縮擴(kuò)展性,使得項(xiàng)目運(yùn)行穩(wěn)定,降低了一定的開(kāi)發(fā)風(fēng)險(xiǎn)。
前端使用VUE框架和ElementUI組件框架實(shí)現(xiàn)良好的頁(yè)面交互,而VUE框架是目前最流行的前端技術(shù)框架,是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript的輕量級(jí)框架。其優(yōu)點(diǎn)在于體積小,壓縮后只有33KB左右;基于虛擬Dom,事先通過(guò)JavaScript進(jìn)行計(jì)算,把最終的Dom操作計(jì)算出來(lái)對(duì)Dom進(jìn)行優(yōu)化的技術(shù)Dom預(yù)操作,具有更高的運(yùn)行效率,提高了系統(tǒng)的性能;它基于MVVM模型,利用雙向數(shù)據(jù)綁定和組件化為vue前端開(kāi)發(fā)提供了良好實(shí)現(xiàn)。ElementUI組件框架是當(dāng)前很流行的一套與Vue框架配合使用的桌面端組件庫(kù),我們使用它來(lái)對(duì)整個(gè)項(xiàng)目結(jié)構(gòu)進(jìn)行布局,能夠使整個(gè)項(xiàng)目結(jié)構(gòu)更加清晰明了。
項(xiàng)目前端結(jié)合VideoContext、WebGL技術(shù)實(shí)現(xiàn)實(shí)時(shí)視頻剪輯處理和濾鏡實(shí)時(shí)渲染。BBC的VideoContext是一種HTML5/WebGL 媒體處理和排序庫(kù),可以用于在網(wǎng)絡(luò)上創(chuàng)建交互式和響應(yīng)式視頻,在前端實(shí)現(xiàn)視頻剪輯處理。而WebGL(Web Graphics Library)是一種3D繪圖協(xié)議標(biāo)準(zhǔn),允許把JavaScript和OpenGL ES 2.0結(jié)合在一起。通過(guò)增加OpenGL ES 2.0的一個(gè)JavaScript綁定,WebGL可以為HTML5 Canvas提供硬件3D加速渲染[2],如圖1所示。
這樣就可以借助系統(tǒng)顯卡在瀏覽器里更流暢地展示3D場(chǎng)景和模型[6],還能創(chuàng)建復(fù)雜的導(dǎo)航和數(shù)據(jù)視覺(jué)化。
后端以Springboot框架為基礎(chǔ)進(jìn)行開(kāi)發(fā),與前端實(shí)現(xiàn)交互;并且結(jié)合了FFmpeg和多線程對(duì)視頻文件進(jìn)行剪輯處理。多線程有利于提高CPU的利用率,更好地利用系統(tǒng)資源,縮短大量用戶同時(shí)進(jìn)行視頻剪輯處理使用的時(shí)間。FFmpeg是一款非常實(shí)用的視頻處理工具,可以用來(lái)記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開(kāi)源計(jì)算機(jī)程序,借助FFmpeg的幫助文檔可以解決許多問(wèn)題。多媒體視頻處理工具FFmpeg有非常強(qiáng)大的功能,包括視頻采集功能、視頻格式轉(zhuǎn)換[3]、視頻抓圖、給視頻加水印等。FFmpeg以其豐富的編解碼庫(kù)和強(qiáng)大的編碼能力著稱[4],目前幾乎所有的主流多媒體播放器都是基于開(kāi)源多媒體框架FFmpeg來(lái)做的,F(xiàn)Fmpeg幾乎覆蓋了全部視頻格式,可以輕易地實(shí)現(xiàn)多種視頻格式之間的相互轉(zhuǎn)換。例如,可以將攝錄下的視頻AVI等轉(zhuǎn)成視頻網(wǎng)站所采用的FLV格式。項(xiàng)目后臺(tái)基于FFmpeg工具實(shí)現(xiàn)了根據(jù)參數(shù)自動(dòng)化剪輯的功能,后端僅需了解相關(guān)的命令集,定義出不同功能的方法,接受前端發(fā)送的參數(shù)數(shù)據(jù),通過(guò)CLI方式啟動(dòng)FFmpeg進(jìn)行視頻剪輯處理。相比強(qiáng)大的Pr視頻剪輯軟件,項(xiàng)目提供的視頻剪輯系統(tǒng)能帶來(lái)更便利的剪輯方式,獲取更好的體驗(yàn)感。
視頻剪輯系統(tǒng)部署和文件存儲(chǔ)均選擇AWS云平臺(tái)上的服務(wù),AWS云平臺(tái)相比傳統(tǒng)部署配置上更具有優(yōu)勢(shì)。傳統(tǒng)模式下,企業(yè)建立一套IT系統(tǒng)不僅僅需要購(gòu)買硬件等基礎(chǔ)設(shè)施,還有買軟件的許可證,需要專門人員維護(hù)。當(dāng)企業(yè)的規(guī)模擴(kuò)大時(shí)還要繼續(xù)升級(jí)各種軟硬件設(shè)施以滿足需要。對(duì)于企業(yè)來(lái)說(shuō),計(jì)算機(jī)等硬件和軟件本身并非他們真正需要的,它們僅僅是完成工作、提供效率的工具而已。因此,在這個(gè)時(shí)候云計(jì)算就有很大的利用價(jià)值。
視頻剪輯系統(tǒng)設(shè)計(jì)中使用到云計(jì)算技術(shù)中的兩種服務(wù):EC2(Elastic Compute Cloud)計(jì)算服務(wù)和S3(Simple Storage Service)對(duì)象存儲(chǔ)服務(wù)。
后臺(tái)使用AWS EC2計(jì)算服務(wù)快速配置一臺(tái)虛擬機(jī),配合配置的Auto Scaling負(fù)載均衡組,搭建一個(gè)彈性的高可用、高并發(fā)架構(gòu)[5],避免峰值流量高導(dǎo)致的服務(wù)器崩潰。設(shè)計(jì)架構(gòu)如圖3所示。
除此以外,視頻文件存儲(chǔ)使用AWS S3對(duì)象存儲(chǔ)服務(wù)。AWS S3具有行業(yè)領(lǐng)先的可擴(kuò)展性、數(shù)據(jù)可用性、安全性和性能。其能無(wú)限存儲(chǔ)對(duì)象文件,每個(gè)對(duì)象文件大小最高可達(dá)5TB,滿足所有視頻的存儲(chǔ),并且AWS S3具有99.999999999%(11個(gè)9)的高持久性和99.99%的高可用性,保障了用戶數(shù)據(jù)的穩(wěn)定存儲(chǔ)。
CDN分布式緩存服務(wù)有效降低了服務(wù)器壓力,增強(qiáng)服務(wù)器的健壯性。后端結(jié)合FFmpeg軟件實(shí)現(xiàn)后臺(tái)自動(dòng)化剪輯視頻的功能,提升了用戶的體驗(yàn)感。
Web網(wǎng)站形式往往比APP解決問(wèn)題效率更高,視頻剪輯系統(tǒng)將以Web網(wǎng)站形式為用戶提供服務(wù),無(wú)需下載APP,通過(guò)點(diǎn)擊鏈接即可進(jìn)行視頻剪輯?;ヂ?lián)網(wǎng)時(shí)代,抖音、快手等短視頻軟件盛行,全民紛紛開(kāi)始拿起手機(jī)相機(jī)拍攝身邊的“美”,積極投入其中分享快樂(lè)。項(xiàng)目意向是為用戶提供一個(gè)能隨時(shí)隨地剪輯視頻的平臺(tái),降低用戶剪輯門檻,即刻玩轉(zhuǎn)互聯(lián)網(wǎng)。系統(tǒng)會(huì)實(shí)時(shí)同步網(wǎng)上有趣的濾鏡模板,增加用戶剪輯過(guò)程中的選擇,提升視頻的樂(lè)趣性。
當(dāng)前互聯(lián)網(wǎng)上短視頻的流行,產(chǎn)生出更多的視頻內(nèi)容需求。視頻后期剪輯處理工作能為短視頻呈現(xiàn)出更好的視覺(jué)效果,使視頻質(zhì)量、流量顯著提高。視頻剪輯系統(tǒng)結(jié)合AWS云平臺(tái)服務(wù)的優(yōu)勢(shì),既在前端實(shí)現(xiàn)了視頻編輯效果展示,實(shí)時(shí)展示給用戶所見(jiàn)即所得的效果,利于提高用戶的體驗(yàn)感,又能保障其文件數(shù)據(jù)。
該視頻剪輯系統(tǒng)在短視頻流行的大背景下運(yùn)用也將更為廣泛,且系統(tǒng)的剪輯和濾鏡處理等技術(shù)豐富,與云平臺(tái)結(jié)合的性能效率也更為出色,有極好的應(yīng)用 價(jià)值。