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