本發(fā)明涉及視頻處理技術(shù)領(lǐng)域,具體涉及一種視頻處理系統(tǒng)及方法。
背景技術(shù):
剪輯是電影、電視節(jié)目制作的工序之一。影片或節(jié)目拍攝完成后,依照劇情或節(jié)目的發(fā)展和結(jié)構(gòu)的要求,將各個(gè)鏡頭的畫面和聲帶,經(jīng)過(guò)選擇、整理和修剪,然后按照蒙太奇原理和最富于銀幕效果的順序組接起來(lái),成為一部結(jié)構(gòu)完整、內(nèi)容連貫、含義明確并具有藝術(shù)感染力的影片。剪輯是電影或電視聲像素材的分解重組的整個(gè)工作,也是一部影片或節(jié)目攝制過(guò)程中的一次再創(chuàng)作。
視頻編輯分為線性編輯和非線性編輯。線性編輯是電視節(jié)目的傳統(tǒng)編輯方式,在傳統(tǒng)的視頻編輯中,鏡頭拍攝、剪輯通常以錄像帶為存儲(chǔ)介質(zhì),由于素材在錄像帶上是順序存放的,要完成編輯必須反復(fù)搜索和復(fù)制,并在另一錄像帶重新安排這些素材,這種編輯方法被稱之為線性編輯方法。
非線性編輯是傳統(tǒng)設(shè)備同計(jì)算機(jī)技術(shù)結(jié)合的產(chǎn)物,自數(shù)字技術(shù)發(fā)展起來(lái)之后出現(xiàn)了專用的非線性編輯機(jī),可以不按照素材在磁帶上的線性位置進(jìn)行更方便的處理。實(shí)際上個(gè)人電腦也可以作為一臺(tái)非線性編輯機(jī),因?yàn)樗械乃夭亩疾蹲降酱疟P上,可以隨時(shí)處理任何時(shí)間線位置上的內(nèi)容。
目前幾乎都采用非線性編輯方法,在非線性編輯中,視頻剪輯是其中的一個(gè)處理環(huán)節(jié),視頻剪輯就是對(duì)鏡頭拍攝的視頻片段進(jìn)行剪切、合并等簡(jiǎn)單處理。由于計(jì)算機(jī)技術(shù)的使用,非線性視頻編輯很大程度上方便了視頻編輯工作。
但是,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)現(xiàn)在現(xiàn)有技術(shù)中至少存在如下問(wèn)題:首先,當(dāng)在個(gè)人電腦上進(jìn)行視頻編輯處理時(shí),因?yàn)樗夭妮^多或者編輯軟件的要求,需要較高的個(gè)人電腦系統(tǒng)配置才能保證較高的渲染速度,保持高效流暢的視頻處理過(guò)程;其次,當(dāng)本地個(gè)人電腦上沒有合適的素材時(shí),用戶需要在處理視頻之前,通過(guò)網(wǎng)絡(luò)下載大量所需素材,在視頻處理完成后,又要將處理完成的視頻上傳到指定位置或者發(fā)送給指定用戶,這對(duì)用戶個(gè)人電腦所連接的網(wǎng)絡(luò)的帶寬和網(wǎng)絡(luò)質(zhì)量都提出了較高的要求;最后,當(dāng)在本地個(gè)人電腦上進(jìn)行視頻處理時(shí),如果出現(xiàn)機(jī)器故障等問(wèn)題,會(huì)導(dǎo)致未完成編輯處理的視頻文件因?yàn)闆]有及時(shí)保存而丟失或損壞,造成用戶較大的損失。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的視頻處理系統(tǒng)和相應(yīng)的視頻處理方法。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種視頻處理系統(tǒng),包括:用于實(shí)現(xiàn)視頻剪輯處理的云剪輯子系統(tǒng),以及用于實(shí)現(xiàn)視頻存儲(chǔ)的云存儲(chǔ)子系統(tǒng);其中,云剪輯子系統(tǒng)進(jìn)一步包括:預(yù)覽模塊和合成模塊,其中,
預(yù)覽模塊,適于從云存儲(chǔ)子系統(tǒng)中獲取與接收到的來(lái)自用戶終端的視頻剪輯請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù),根據(jù)視頻剪輯請(qǐng)求生成與原始視頻數(shù)據(jù)相對(duì)應(yīng)的視頻剪輯數(shù)據(jù),向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù);
合成模塊,適于接收來(lái)自用戶終端的視頻合成請(qǐng)求,獲取與視頻合成請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù),生成與原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)。
優(yōu)選地,預(yù)覽模塊進(jìn)一步適于:接收來(lái)自用戶終端的視頻跳轉(zhuǎn)請(qǐng)求,根據(jù)視頻跳轉(zhuǎn)請(qǐng)求中包含的時(shí)間點(diǎn)信息,確定與時(shí)間點(diǎn)信息相對(duì)應(yīng)的關(guān)鍵幀,根據(jù)關(guān)鍵幀進(jìn)行解碼播放,并向用戶終端返回對(duì)應(yīng)的播放數(shù)據(jù)。
優(yōu)選地,預(yù)覽模塊向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)時(shí),具體用于:根據(jù)用戶終端的下載速度信息和/或網(wǎng)絡(luò)流量信息確定預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。
優(yōu)選地,預(yù)覽模塊進(jìn)一步適于:接收來(lái)自用戶終端的分屏預(yù)覽請(qǐng)求,確定與分屏預(yù)覽請(qǐng)求相對(duì)應(yīng)的第一類視頻數(shù)據(jù),生成與所述第一類視頻數(shù)據(jù)相對(duì)應(yīng)的第二類視頻數(shù)據(jù),將第一類視頻數(shù)據(jù)與第二類視頻數(shù)據(jù)合成為分屏預(yù)覽視頻流,將分屏預(yù)覽視頻流傳輸給所述用戶終端。
優(yōu)選地,合成模塊進(jìn)一步包括:中央處理子模塊,以及多個(gè)分布式處理子模塊,其中,
中央處理子模塊適于確定與各個(gè)分布式處理子模塊對(duì)應(yīng)的視頻數(shù)據(jù)的時(shí)間段信息;
各個(gè)分布式處理子模塊適于根據(jù)中央處理子模塊確定的與其對(duì)應(yīng)的視頻數(shù)據(jù)的時(shí)間段信息,從云存儲(chǔ)子系統(tǒng)中獲取相應(yīng)時(shí)間段內(nèi)的視頻數(shù)據(jù)進(jìn)行處理,并將處理結(jié)果提供給中央處理子模塊。
優(yōu)選地,視頻剪輯請(qǐng)求包括以下中的至少一個(gè):視頻特效請(qǐng)求、視頻分解請(qǐng)求、以及視頻拼接請(qǐng)求;和/或,
視頻合成請(qǐng)求中包括以下中的至少一個(gè)合成參數(shù):視頻分辨率、比特率、以及編碼類型。
優(yōu)選地,云存儲(chǔ)子系統(tǒng)進(jìn)一步包括:
視頻素材數(shù)據(jù)庫(kù),用于存儲(chǔ)各個(gè)用戶終端對(duì)應(yīng)的原始視頻數(shù)據(jù);
云存儲(chǔ)數(shù)據(jù)庫(kù),用于存儲(chǔ)各個(gè)用戶終端對(duì)應(yīng)的視頻合成數(shù)據(jù);
內(nèi)容分發(fā)服務(wù)器,與云存儲(chǔ)數(shù)據(jù)庫(kù)相連,用于對(duì)云存儲(chǔ)數(shù)據(jù)庫(kù)中存儲(chǔ)的視頻合成數(shù)據(jù)提供內(nèi)容分發(fā)服務(wù)。
優(yōu)選地,合成模塊進(jìn)一步適于:將已生成的視頻合成數(shù)據(jù)存儲(chǔ)到云存儲(chǔ)數(shù)據(jù)庫(kù)中,并為視頻合成數(shù)據(jù)設(shè)置對(duì)應(yīng)的播放入口,以供用戶終端根據(jù)播放入口進(jìn)行播放。
根據(jù)本發(fā)明的另一方面,提供了視頻處理方法,包括:
獲取與接收到的來(lái)自用戶終端的視頻剪輯請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù),根據(jù)視頻剪輯請(qǐng)求生成與原始視頻數(shù)據(jù)相對(duì)應(yīng)的視頻剪輯數(shù)據(jù),向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù);
接收來(lái)自用戶終端的視頻合成請(qǐng)求,獲取與視頻合成請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù),生成與原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)。
優(yōu)選地,方法進(jìn)一步包括:接收來(lái)自用戶終端的視頻跳轉(zhuǎn)請(qǐng)求,根據(jù)視頻跳轉(zhuǎn)請(qǐng)求中包含的時(shí)間點(diǎn)信息,確定與時(shí)間點(diǎn)信息相對(duì)應(yīng)的關(guān)鍵幀,根據(jù)關(guān)鍵幀進(jìn)行解碼播放,并向用戶終端返回對(duì)應(yīng)的播放數(shù)據(jù)。
優(yōu)選地,向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)的步驟具體包括:根據(jù)用戶終端的下載速度信息和/或網(wǎng)絡(luò)流量信息確定預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。
優(yōu)選地,方法進(jìn)一步包括:接收來(lái)自用戶終端的分屏預(yù)覽請(qǐng)求,確定與分屏預(yù)覽請(qǐng)求相對(duì)應(yīng)的第一類視頻數(shù)據(jù),生成與所述第一類視頻數(shù)據(jù)相對(duì)應(yīng)的第二類視頻數(shù)據(jù),將第一類視頻數(shù)據(jù)與第二類視頻數(shù)據(jù)合成為分屏預(yù)覽視頻流,將分屏預(yù)覽視頻流傳輸給所述用戶終端。
優(yōu)選地,視頻剪輯請(qǐng)求包括以下中的至少一個(gè):視頻特效請(qǐng)求、視頻分解請(qǐng)求、以及視頻拼接請(qǐng)求;和/或,
視頻合成請(qǐng)求中包括以下中的至少一個(gè)合成參數(shù):視頻分辨率、比特率、以及編碼類型。
優(yōu)選地,生成與原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)的步驟之后,進(jìn)一步包括:將已生成的視頻合成數(shù)據(jù)存儲(chǔ)到云存儲(chǔ)數(shù)據(jù)庫(kù)中,并為視頻合成數(shù)據(jù)設(shè)置對(duì)應(yīng)的播放入口,以供用戶終端根據(jù)播放入口進(jìn)行播放。
根據(jù)本發(fā)明的一種視頻處理系統(tǒng)及方法,一方面可以通過(guò)實(shí)現(xiàn)視頻剪輯處理的云剪輯子系統(tǒng)利用云端系統(tǒng)資源,獲得更快的渲染速度,保持高效流暢的視頻處理過(guò)程,從而降低了對(duì)本地個(gè)人電腦的配置要求,方便用戶隨時(shí)隨地進(jìn)行視頻編輯操作;另一方面,可以通過(guò)實(shí)現(xiàn)視頻存儲(chǔ)的云存儲(chǔ)子系統(tǒng)利用云端存儲(chǔ)設(shè)備存儲(chǔ)大量視頻資源,省去了傳統(tǒng)視頻編輯操作過(guò)程中的下載與上傳操作,降低了用戶所連接網(wǎng)絡(luò)的帶寬和網(wǎng)絡(luò)質(zhì)量要求,并且在視頻編輯過(guò)程中,對(duì)正在編輯的視頻文件實(shí)時(shí)進(jìn)行云端存儲(chǔ),避免本地機(jī)器故障導(dǎo)致的文件丟失或損壞,進(jìn)一步提升了視頻編輯處理的安全性。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了本發(fā)明實(shí)施例一提供的一種視頻處理系統(tǒng)的結(jié)構(gòu)示意圖;
圖2示出了本發(fā)明實(shí)施例二提供的一種視頻處理系統(tǒng)的結(jié)構(gòu)示意圖;
圖3示出了本發(fā)明實(shí)施例三提供的一種視頻處理方法的流程圖;
圖4示出了本發(fā)明實(shí)施例四提供的一種視頻處理方法的流程圖;
圖5示出了本發(fā)明實(shí)施例中提供的一種視頻處理系統(tǒng)中包含的分屏預(yù)覽技術(shù)的流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
圖1示出了本發(fā)明實(shí)施例一提供的一種視頻處理系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括:云剪輯子系統(tǒng)110和云存儲(chǔ)子系統(tǒng)120,其中,云剪輯子系統(tǒng)110進(jìn)一步包括預(yù)覽模塊111和合成模塊112。
云剪輯子系統(tǒng)110,用于實(shí)現(xiàn)視頻剪輯處理。具體的,用戶通過(guò)與云剪輯子系統(tǒng)110相連接的終端,可以在云端對(duì)視頻文件進(jìn)行剪輯處理,其中,該終端可以是PC平臺(tái)上的WEB界面,也可以是手機(jī)APP,本發(fā)明對(duì)此不作具體限定。由此可見,由于云剪輯子系統(tǒng)110的存在,將視頻剪輯操作對(duì)用戶終端的配置要求降到了最低,極大地方便了用戶在各種情況下進(jìn)行云端視頻剪輯操作。
為了實(shí)現(xiàn)上述功能,云剪輯子系統(tǒng)110進(jìn)一步包括預(yù)覽模塊111和合成模塊112。
其中,預(yù)覽模塊111用于從云存儲(chǔ)子系統(tǒng)120中獲取與接收到的來(lái)自用戶終端的視頻剪輯請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù),根據(jù)視頻剪輯請(qǐng)求生成與原始視頻數(shù)據(jù)相對(duì)應(yīng)的視頻剪輯數(shù)據(jù),向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)。該視頻剪輯請(qǐng)求包括多種,例如視頻特效請(qǐng)求、視頻分解請(qǐng)求、以及視頻拼接請(qǐng)求等等。具體地,預(yù)覽模塊111根據(jù)用戶終端發(fā)送的視頻剪輯請(qǐng)求,訪問(wèn)云存儲(chǔ)子系統(tǒng)120,并從云存儲(chǔ)子系統(tǒng)120中查找并獲取到與視頻剪輯請(qǐng)求對(duì)應(yīng)的原始視頻數(shù)據(jù),通過(guò)對(duì)原始視頻數(shù)據(jù)進(jìn)行一定的剪輯處理后生成視頻剪輯數(shù)據(jù),根據(jù)視頻剪輯數(shù)據(jù)生成對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù),該預(yù)覽內(nèi)容數(shù)據(jù)是發(fā)送給客戶端使用戶能夠直觀的看到處理結(jié)果的數(shù)據(jù)。一般情況下,任意格式的視頻文件,只要是能夠正常播放,就可以作為原始視頻數(shù)據(jù)進(jìn)行剪輯操作,但是,考慮到云剪輯子系統(tǒng)110的自身特性,優(yōu)選的原始視頻數(shù)據(jù)格式為hls格式或mp4格式。需注意的是,視頻剪輯數(shù)據(jù)與預(yù)覽內(nèi)容數(shù)據(jù)可以相同也可以不同,通常情況下,為了縮短用戶等待時(shí)間且減小系統(tǒng)負(fù)荷,預(yù)覽內(nèi)容數(shù)據(jù)可能比視頻剪輯數(shù)據(jù)要少,只要能夠使用戶看出處理結(jié)果即可,不必包含全部的處理后數(shù)據(jù)。
合成模塊112用于接收來(lái)自用戶終端的視頻合成請(qǐng)求,獲取與視頻合成請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù),生成與原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)。在剪輯操作之后,還可以進(jìn)一步進(jìn)行視頻合成,合成時(shí)可以直接將各個(gè)剪輯后的視頻剪輯數(shù)據(jù)合成為新的視頻,也可以將剪輯后的視頻和預(yù)先存儲(chǔ)在云存儲(chǔ)子系統(tǒng)120中的原始視頻數(shù)據(jù)進(jìn)行合成進(jìn)而生成新的視頻。
云存儲(chǔ)子系統(tǒng)120,用于實(shí)現(xiàn)視頻存儲(chǔ)。具體的,該云存儲(chǔ)子系統(tǒng)120既保存有原始視頻數(shù)據(jù),又保存有根據(jù)用戶終端的視頻剪輯請(qǐng)求進(jìn)行剪輯操作后產(chǎn)生的視頻剪輯數(shù)據(jù),還保存有根據(jù)用戶終端的視頻合成請(qǐng)求進(jìn)行合成操作后生成的新的視頻。因?yàn)楸疽曨l處理系統(tǒng)的所有操作數(shù)據(jù)都在云端保存,所以有效避免了因本地設(shè)備出現(xiàn)問(wèn)題導(dǎo)致的數(shù)據(jù)丟失。
由此可見,本發(fā)明提供的一種視頻處理系統(tǒng),一方面通過(guò)云剪輯子系統(tǒng)保持高效流暢的視頻處理過(guò)程,同時(shí)降低剪輯操作對(duì)本地個(gè)人電腦的配置要求,方便用戶隨時(shí)隨地進(jìn)行視頻編輯操作;另一方面通過(guò)云存儲(chǔ)子系統(tǒng)保存視頻文件,避免本地機(jī)器故障導(dǎo)致的文件丟失或損壞,進(jìn)一步提升了視頻編輯處理的安全性。
實(shí)施例二
圖2示出了本發(fā)明實(shí)施例二提供的一種視頻處理系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括:云剪輯子系統(tǒng)210和云存儲(chǔ)子系統(tǒng)220,其中,云剪輯子系統(tǒng)210進(jìn)一步包括預(yù)覽模塊211和合成模塊212,合成模塊212進(jìn)一步包括中央處理子模塊2121和分布式處理子模塊2122;云存儲(chǔ)子系統(tǒng)220進(jìn)一步包括視頻素材數(shù)據(jù)庫(kù)221、云存儲(chǔ)數(shù)據(jù)庫(kù)222和內(nèi)容分發(fā)服務(wù)器223。
(一)云剪輯子系統(tǒng):
云剪輯子系統(tǒng)210,用于實(shí)現(xiàn)視頻剪輯處理。具體的,用戶通過(guò)與云剪輯子系統(tǒng)210相連接的終端,可以在云端對(duì)視頻文件進(jìn)行剪輯處理,其中,該終端可以是PC平臺(tái)上的WEB界面,也可以是手機(jī)APP,本發(fā)明對(duì)此不作具體限定。由此可見,由于云剪輯子系統(tǒng)210的存在,將視頻剪輯操作對(duì)用戶終端的配置要求降到最低,極大地方便了用戶在各種情況下進(jìn)行云端視頻剪輯操作。
為了實(shí)現(xiàn)上述功能,云剪輯子系統(tǒng)210進(jìn)一步包括預(yù)覽模塊211和合成模塊212。
(1)預(yù)覽模塊:
預(yù)覽模塊211用于從云存儲(chǔ)子系統(tǒng)220中獲取與接收到的來(lái)自用戶終端的視頻剪輯請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù),根據(jù)視頻剪輯請(qǐng)求生成與原始視頻數(shù)據(jù)相對(duì)應(yīng)的視頻剪輯數(shù)據(jù),向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)。該視頻剪輯請(qǐng)求包括多種,例如視頻特效請(qǐng)求、視頻分解請(qǐng)求、以及視頻拼接請(qǐng)求等等。具體地,預(yù)覽模塊211根據(jù)用戶終端發(fā)送的視頻剪輯請(qǐng)求,訪問(wèn)云存儲(chǔ)子系統(tǒng)220,并從云存儲(chǔ)子系統(tǒng)220中查找并獲取到與視頻剪輯請(qǐng)求對(duì)應(yīng)的原始視頻數(shù)據(jù),通過(guò)對(duì)原始視頻數(shù)據(jù)進(jìn)行一定的剪輯處理后生成視頻剪輯數(shù)據(jù),根據(jù)視頻剪輯數(shù)據(jù)生成對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù),該預(yù)覽內(nèi)容數(shù)據(jù)是發(fā)送給客戶端使用戶能夠直觀的看到處理結(jié)果的數(shù)據(jù)。一般情況下,任意格式的視頻文件,只要是能夠正常播放,就可以作為原始視頻數(shù)據(jù)進(jìn)行剪輯操作,但是,考慮到云剪輯子系統(tǒng)210的自身特性,優(yōu)選的原始視頻數(shù)據(jù)格式為hls格式或mp4格式。需注意的是,視頻剪輯數(shù)據(jù)與預(yù)覽內(nèi)容數(shù)據(jù)可以相同也可以不同,通常情況下,為了縮短用戶等待時(shí)間且減小系統(tǒng)負(fù)荷,預(yù)覽內(nèi)容數(shù)據(jù)可能比視頻剪輯數(shù)據(jù)要少,只要能夠使用戶看出處理結(jié)果即可,不必包含全部的處理后數(shù)據(jù)。例如,處理過(guò)程中的部分?jǐn)?shù)據(jù)可以不必發(fā)送給用戶終端。
具體地,預(yù)覽模塊不僅能夠用于處理各種類型的視頻剪輯請(qǐng)求,還能夠用于處理各類用戶發(fā)出的多種用戶操作請(qǐng)求。下面以常用的幾類用戶操作請(qǐng)求為例,介紹預(yù)覽模塊的具體工作原理:
(1.1)視頻跳轉(zhuǎn)類型的用戶操作請(qǐng)求:
為了方便用戶在視頻剪輯過(guò)程中,能夠在瀏覽視頻時(shí)隨意跳轉(zhuǎn),以使視頻從用戶指定的時(shí)間點(diǎn)進(jìn)行播放。預(yù)覽模塊211進(jìn)一步用于接收來(lái)自用戶終端的視頻跳轉(zhuǎn)請(qǐng)求,根據(jù)視頻跳轉(zhuǎn)請(qǐng)求中包含的時(shí)間點(diǎn)信息,確定與時(shí)間點(diǎn)信息相對(duì)應(yīng)的關(guān)鍵幀,根據(jù)關(guān)鍵幀進(jìn)行解碼播放,并向用戶終端返回對(duì)應(yīng)的播放數(shù)據(jù)。
具體的,當(dāng)用戶需要將視頻跳轉(zhuǎn)到某個(gè)時(shí)間點(diǎn)時(shí),預(yù)覽模塊211先確定離用戶指定時(shí)間點(diǎn)最接近的關(guān)鍵幀,然后從該關(guān)鍵幀開始根據(jù)用戶指定時(shí)間點(diǎn)確定與該用戶指定時(shí)間點(diǎn)相對(duì)應(yīng)的精確視頻幀的位置,并從該位置開始解碼播放,以實(shí)現(xiàn)視頻的精確跳轉(zhuǎn)。例如,一般情況下,一個(gè)視頻文件由I幀(即關(guān)鍵幀)、P幀(即差別幀)和B幀(即雙向差別幀)構(gòu)成。當(dāng)用戶指定時(shí)間點(diǎn)對(duì)應(yīng)的視頻幀為P幀時(shí),先確定該P(yáng)幀之前(或之后)的I幀,從該I幀開始解碼,直到解碼至該P(yáng)幀時(shí)停止,然后從該P(yáng)幀開始播放,由此實(shí)現(xiàn)一種情況下視頻的精確跳轉(zhuǎn);當(dāng)用戶指定時(shí)間點(diǎn)對(duì)應(yīng)的視頻幀為B幀時(shí),先確定該B幀前后的兩個(gè)I幀,根據(jù)兩個(gè)I幀開始解碼,直到完成B幀的解碼,然后從該B幀開始播放,由此實(shí)現(xiàn)另一種情況下視頻的精確跳轉(zhuǎn)。
因?yàn)楝F(xiàn)有技術(shù)的視頻跳轉(zhuǎn)僅能確定與用戶指定時(shí)間點(diǎn)最接近的I幀,并從該I幀開始播放,因而視頻跳轉(zhuǎn)的精度受限于I幀的間隔長(zhǎng)度,無(wú)法實(shí)現(xiàn)精確跳轉(zhuǎn),所以本發(fā)明通過(guò)根據(jù)I幀解碼得到與用戶指定時(shí)間點(diǎn)對(duì)應(yīng)的視頻幀,再開始播放,由此實(shí)現(xiàn)精確的視頻跳轉(zhuǎn),能夠定位到任意類型的視頻幀,進(jìn)一步方便用戶的視頻剪輯操作,提升用戶體驗(yàn)感。
(1.2)分屏預(yù)覽類型的用戶操作請(qǐng)求:
為了方便用戶對(duì)處理前后的視頻進(jìn)行比較,本發(fā)明提供的視頻處理系統(tǒng)中還可以提供一種分屏預(yù)覽技術(shù)。此時(shí),預(yù)覽模塊211進(jìn)一步用于接收來(lái)自用戶終端的分屏預(yù)覽請(qǐng)求,確定與分屏預(yù)覽請(qǐng)求相對(duì)應(yīng)的第一類視頻數(shù)據(jù),生成與第一類視頻數(shù)據(jù)相對(duì)應(yīng)的第二類視頻數(shù)據(jù),將第一類視頻數(shù)據(jù)與第二類視頻數(shù)據(jù)合成為分屏預(yù)覽視頻流,將該分屏預(yù)覽視頻流傳輸給用戶終端。其中,該分屏預(yù)覽視頻流中包含用于在屏幕上預(yù)設(shè)的第一區(qū)域內(nèi)進(jìn)行展示的第一部分視頻數(shù)據(jù),該第一部分視頻數(shù)據(jù)對(duì)應(yīng)于第一類視頻數(shù)據(jù)的合成處理結(jié)果;該分屏預(yù)覽視頻流中還包含用于在屏幕上預(yù)設(shè)的第二區(qū)域內(nèi)進(jìn)行展示第二部分視頻數(shù)據(jù),該第二部分視頻數(shù)據(jù)對(duì)應(yīng)于第二類視頻數(shù)據(jù)的合成處理結(jié)果。其中,分屏預(yù)覽請(qǐng)求可以通過(guò)預(yù)設(shè)的分屏預(yù)覽按鈕進(jìn)行觸發(fā),該請(qǐng)求尤其適用于比較處理前后的視頻差別。通常情況下,第一類視頻數(shù)據(jù)為處理前的原始視頻數(shù)據(jù),第二類視頻數(shù)據(jù)為處理后的視頻剪輯數(shù)據(jù),具體處理方式可以包括多種,例如可以是特效處理、轉(zhuǎn)碼處理等各類處理方式。另外,第一區(qū)域和第二區(qū)域既可以是左右設(shè)置的區(qū)域,也可以是上下設(shè)置的區(qū)域,且第一區(qū)域和第二區(qū)域的大小和形狀也可由本領(lǐng)域技術(shù)人員靈活調(diào)整,只要能夠?qū)崿F(xiàn)便于比較的目的即可。本發(fā)明的分屏預(yù)覽技術(shù)的優(yōu)勢(shì)在于通過(guò)將處理前和處理后的視頻合并為一個(gè)視頻并轉(zhuǎn)碼為一條數(shù)據(jù)流,由此,用戶終端僅需一個(gè)播放器播放該數(shù)據(jù)流,且合成為一個(gè)視頻流的方式還能夠保證兩類視頻畫面絕對(duì)同步絕對(duì)一致。同時(shí),本領(lǐng)域技術(shù)人員還能夠?qū)Ρ痉绞竭M(jìn)行各種改動(dòng)或變形,例如,上述的第二類視頻數(shù)據(jù)的數(shù)量還可以是多個(gè),例如,多個(gè)第二類視頻數(shù)據(jù)分別對(duì)應(yīng)于不同種類的特效處理結(jié)果,由此能夠?qū)⒃摲椒☉?yīng)用在三屏分屏預(yù)覽甚至更多屏分屏預(yù)覽的場(chǎng)景中而無(wú)需增加額外的成本。
為了進(jìn)一步方便理解該分屏預(yù)覽技術(shù),圖5示出了分屏預(yù)覽技術(shù)的流程圖,具體的:A為存儲(chǔ)在云存儲(chǔ)子系統(tǒng)220中的原始視頻源碼,進(jìn)行解碼后得到視頻B,根據(jù)用戶的視頻剪輯請(qǐng)求對(duì)B進(jìn)行特效處理得到視頻C,將視頻B和視頻C合并組成為一個(gè)新視頻F,將視頻F進(jìn)行編碼得到處理后的碼流G,通過(guò)一條網(wǎng)絡(luò)連接將碼流G發(fā)送給用戶終端,用戶終端利用一個(gè)播放器對(duì)碼流G進(jìn)行解碼后得到視頻PicG,此時(shí)的視頻PicG就是包含有處理前視頻B和處理后視頻C兩種畫面的最終分屏預(yù)覽視頻。其中,視頻PicG的展示方式可以有多種,例如,可以是B和C的左右水平排列;也可以是B的部分和C的互補(bǔ)部分的左右水平排列;還可以是B和C上下垂直排列。本發(fā)明對(duì)此不作具體限定,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況靈活選擇。
另外,由于本發(fā)明中的剪輯操作均由云端完成,用戶終端僅需根據(jù)云端返回的預(yù)覽內(nèi)容數(shù)據(jù)顯示出相應(yīng)的處理結(jié)果即可,因此,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn):通過(guò)合理控制預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量,能夠顯著提升系統(tǒng)運(yùn)行效率,并避免資源的浪費(fèi)。具體地,在常規(guī)的視頻剪輯操作過(guò)程中,用戶應(yīng)用某種特效之后,一般會(huì)想預(yù)覽應(yīng)用該特效后的視頻效果,此時(shí),服務(wù)器需要立即針對(duì)包含該特效的視頻剪輯請(qǐng)求進(jìn)行視頻轉(zhuǎn)碼處理。然而在常規(guī)方法中,服務(wù)器會(huì)將完整視頻全部進(jìn)行轉(zhuǎn)碼處理后再發(fā)送給用戶預(yù)覽,但是用戶往往只需要觀看一小段轉(zhuǎn)碼處理后的視頻即可知道特效效果,然后就轉(zhuǎn)而進(jìn)行其他編輯操作了,這就導(dǎo)致服務(wù)器浪費(fèi)了大量的資源用來(lái)為完整視頻進(jìn)行轉(zhuǎn)碼。為了避免這種浪費(fèi),在本發(fā)明提供的視頻處理系統(tǒng)中,預(yù)覽模塊211向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)時(shí),會(huì)根據(jù)用戶終端的下載速度信息和/或網(wǎng)絡(luò)流量信息確定預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。即用戶下載多少數(shù)據(jù)量,預(yù)覽模塊211就轉(zhuǎn)碼處理多少數(shù)據(jù)量,根據(jù)服務(wù)器發(fā)送給客戶端的流量速度來(lái)控制服務(wù)器的轉(zhuǎn)碼速度,從而盡最大可能的避免了運(yùn)算資源的浪費(fèi)。例如,當(dāng)用戶終端的下載速度增大和/或網(wǎng)絡(luò)流量增加時(shí),提升預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量;當(dāng)用戶終端的下載速度減小和/或網(wǎng)絡(luò)流量降低時(shí),減小預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。具體實(shí)現(xiàn)時(shí),預(yù)覽模塊211可以實(shí)時(shí)獲取或間隔預(yù)設(shè)時(shí)間獲取用戶終端的下載速度和/或網(wǎng)絡(luò)流量,從而動(dòng)態(tài)地調(diào)整預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。另外,也可以利用緩存機(jī)制來(lái)實(shí)現(xiàn)上述的控制效果。
(2)合成模塊:
合成模塊212用于接收來(lái)自用戶終端的視頻合成請(qǐng)求,獲取與視頻合成請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù),生成與原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)。在剪輯操作之后,還可以進(jìn)一步進(jìn)行視頻合成,合成時(shí)可以直接將各個(gè)剪輯后的視頻合成為新的視頻,也可以將剪輯后的視頻和預(yù)先存儲(chǔ)在云存儲(chǔ)子系統(tǒng)220中的原始視頻數(shù)據(jù)進(jìn)行合成進(jìn)而生成新的視頻。
具體的,合成模塊212進(jìn)一步包括中央處理子模塊2121和多個(gè)分布式處理子模塊2122。中央處理子模塊2121用于確定與各個(gè)分布式處理子模塊2122對(duì)應(yīng)的視頻數(shù)據(jù)的時(shí)間段信息;各個(gè)分布式處理子模塊2122用于根據(jù)中央處理子模塊2121確定的與其對(duì)應(yīng)的視頻數(shù)據(jù)的時(shí)間段信息,從云存儲(chǔ)子系統(tǒng)220中獲取相應(yīng)時(shí)間段內(nèi)的視頻數(shù)據(jù)進(jìn)行處理,并將處理結(jié)果提供給所述中央處理子模塊2121。當(dāng)中央處理子模塊2121接收到用戶發(fā)送的視頻合成請(qǐng)求時(shí),中央處理子模塊2121根據(jù)預(yù)設(shè)的負(fù)載均衡策略,將用戶請(qǐng)求分發(fā)給各個(gè)分布式處理子模塊2122;分布式處理子模塊2122根據(jù)用戶請(qǐng)求去云存儲(chǔ)子系統(tǒng)220上拉取對(duì)應(yīng)的視頻內(nèi)容并進(jìn)行轉(zhuǎn)碼處理,該轉(zhuǎn)碼處理可以采用實(shí)時(shí)轉(zhuǎn)碼方式,即邊下載邊轉(zhuǎn)碼的方式,且每個(gè)分布式處理子模塊2122都可以根據(jù)需要,去轉(zhuǎn)碼自己需要的時(shí)間段,而且互不影響;分布式處理子模塊2122將轉(zhuǎn)碼后得到的視頻內(nèi)容返回給中央處理子模塊2121;最后,中央處理子模塊2121根據(jù)不同用戶的視頻合成請(qǐng)求返回相對(duì)應(yīng)的視頻內(nèi)容。上述的視頻合成請(qǐng)求中包含了大量視頻處理的參數(shù),具體包括視頻分辨率、比特率、以及編碼類型等一系列參數(shù)。通過(guò)分布式并行處理的方式能夠大幅提升處理效率,最大程度地降低用戶等待時(shí)間。并且,由于本發(fā)明中的各個(gè)分布式處理子模塊能夠直接根據(jù)對(duì)應(yīng)的時(shí)間段信息從云存儲(chǔ)子系統(tǒng)中獲取相應(yīng)時(shí)間段內(nèi)的視頻數(shù)據(jù)直接進(jìn)行處理,不需要預(yù)先將視頻數(shù)據(jù)分割為多個(gè)子數(shù)據(jù),并分別將各個(gè)子數(shù)據(jù)分發(fā)到對(duì)應(yīng)的處理子模塊上,因而簡(jiǎn)化了處理流程,大幅節(jié)省了處理時(shí)間,并提高了處理效率。
(二)云存儲(chǔ)子系統(tǒng):
云存儲(chǔ)子系統(tǒng)220,用于實(shí)現(xiàn)視頻存儲(chǔ)。具體的,該云存儲(chǔ)子系統(tǒng)220包括:視頻素材數(shù)據(jù)庫(kù)221,用于存儲(chǔ)各個(gè)用戶終端對(duì)應(yīng)的原始視頻數(shù)據(jù);云存儲(chǔ)數(shù)據(jù)庫(kù)222,用于存儲(chǔ)各個(gè)用戶終端對(duì)應(yīng)的視頻合成數(shù)據(jù);內(nèi)容分發(fā)服務(wù)器223,與上述云存儲(chǔ)數(shù)據(jù)庫(kù)222相連接,用于對(duì)所述云存儲(chǔ)數(shù)據(jù)庫(kù)222中存儲(chǔ)的視頻合成數(shù)據(jù)提供內(nèi)容分發(fā)服務(wù)。
具體地,在一次視頻剪輯處理流程中,云剪輯子系統(tǒng)210中的預(yù)覽模塊211會(huì)根據(jù)用戶發(fā)送的視頻剪輯請(qǐng)求去云存儲(chǔ)子系統(tǒng)220中的視頻素材數(shù)據(jù)庫(kù)221中提取對(duì)應(yīng)的原始視頻數(shù)據(jù),并根據(jù)上述視頻剪輯請(qǐng)求對(duì)該原始視頻數(shù)據(jù)進(jìn)行剪輯處理,之后將剪輯處理好的視頻剪輯數(shù)據(jù)和/或所需的原始視頻數(shù)據(jù)發(fā)送給合成模塊212;合成模塊212在接收到上述視頻數(shù)據(jù)后,根據(jù)用戶發(fā)送的視頻合成請(qǐng)求對(duì)上述視頻數(shù)據(jù)進(jìn)行合成操作,之后將合成后的視頻合成數(shù)據(jù)存儲(chǔ)到云存儲(chǔ)數(shù)據(jù)庫(kù)222中;最后內(nèi)容分發(fā)服務(wù)器223從云存儲(chǔ)數(shù)據(jù)庫(kù)222中提取視頻合成數(shù)據(jù),用于內(nèi)容分發(fā)網(wǎng)絡(luò)加速服務(wù)。
由此可見,在本實(shí)施例中,通過(guò)視頻素材數(shù)據(jù)庫(kù)能夠快速查詢用戶所需的各類未經(jīng)剪輯的原始視頻素材,通過(guò)云存儲(chǔ)數(shù)據(jù)庫(kù)能夠快速查詢各類已經(jīng)過(guò)剪輯和/或合成處理的視頻數(shù)據(jù)。設(shè)置兩個(gè)數(shù)據(jù)庫(kù)分別存儲(chǔ)不同類型的數(shù)據(jù)的方式能夠?yàn)橛脩舻脑L問(wèn)提供便利,提高查詢和處理的響應(yīng)速度。另外,為了進(jìn)一步提升查詢速度,在視頻素材數(shù)據(jù)庫(kù)以及云存儲(chǔ)數(shù)據(jù)庫(kù)中,可以進(jìn)一步按照用戶數(shù)量和/或用戶種類設(shè)置多個(gè)子存儲(chǔ)區(qū)域,在每個(gè)子存儲(chǔ)區(qū)域內(nèi)分別存儲(chǔ)相應(yīng)用戶所對(duì)應(yīng)的視頻資源。例如,可以按照用戶標(biāo)識(shí)分別為每個(gè)用戶分配一塊子存儲(chǔ)區(qū)域,或者,也可以將所有用戶按照級(jí)別、類型等劃分為多個(gè)分組,分別為每個(gè)分組的用戶分配一塊子存儲(chǔ)區(qū)域。通過(guò)子存儲(chǔ)區(qū)域的劃分能夠分別存儲(chǔ)各個(gè)用戶所對(duì)應(yīng)的視頻資源,該種方式實(shí)際上相當(dāng)于為每個(gè)用戶單獨(dú)設(shè)立了一個(gè)用戶私有資源庫(kù),每個(gè)用戶私有資源庫(kù)對(duì)應(yīng)于相應(yīng)的用戶標(biāo)識(shí),由此一來(lái),能夠根據(jù)接收到的用戶請(qǐng)求中包含的用戶標(biāo)識(shí)快速定位到相應(yīng)的視頻資源。而且,在一種可選的實(shí)現(xiàn)方式中,還能夠進(jìn)一步在接收到用戶請(qǐng)求(包括視頻剪輯請(qǐng)求、視頻合成請(qǐng)求、視頻跳轉(zhuǎn)請(qǐng)求、分屏預(yù)覽請(qǐng)求等)后,判斷用戶請(qǐng)求中包含的用戶標(biāo)識(shí)與要訪問(wèn)的視頻資源所對(duì)應(yīng)的用戶標(biāo)識(shí)是否一致來(lái)確定該用戶是否有權(quán)限訪問(wèn)該視頻資源,從而為用戶的隱私提供了更好地保障。例如,假設(shè)張三發(fā)送的用戶請(qǐng)求用于訪問(wèn)李四對(duì)應(yīng)的私有資源庫(kù)中的視頻資源,則本系統(tǒng)能夠拒絕該用戶請(qǐng)求。
另外,為了進(jìn)一步提升視頻素材數(shù)據(jù)庫(kù)和/或云存儲(chǔ)數(shù)據(jù)庫(kù)中的資源訪問(wèn)速度,在本發(fā)明中還設(shè)置了內(nèi)容分發(fā)服務(wù)器,通過(guò)內(nèi)容分發(fā)服務(wù)器能夠?qū)崿F(xiàn)CDN加速功能,從而快速地將視頻資源分發(fā)至各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),大幅提升訪問(wèn)速度。
而且,為了方便用戶播放云存儲(chǔ)數(shù)據(jù)庫(kù)中的視頻內(nèi)容,合成模塊212進(jìn)一步用于將已生成的視頻合成數(shù)據(jù)存儲(chǔ)到云存儲(chǔ)數(shù)據(jù)庫(kù)222中,并為視頻合成數(shù)據(jù)設(shè)置對(duì)應(yīng)的播放入口,以供用戶終端根據(jù)播放入口進(jìn)行播放。該播放入口可以是視頻播放地址(URL,即統(tǒng)一資源定位器),也可以是用戶終端界面上的播放按鈕,還可以是其他的展現(xiàn)形式,本發(fā)明對(duì)此不作具體限定,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況靈活設(shè)定。通過(guò)為每個(gè)視頻分別設(shè)置對(duì)應(yīng)的播放入口的方式能夠簡(jiǎn)化用戶播放視頻時(shí)的操作復(fù)雜度,提升播放效率。
綜上所述,本發(fā)明提供的一種視頻處理系統(tǒng),一方面可以通過(guò)實(shí)現(xiàn)視頻剪輯處理的云剪輯子系統(tǒng)利用云端分布式處理方式,獲得更快的渲染速度,保持高效流暢的視頻處理過(guò)程,同時(shí)降低了對(duì)本地個(gè)人電腦的配置要求,方便用戶隨時(shí)隨地進(jìn)行視頻編輯操作;另一方面,可以通過(guò)實(shí)現(xiàn)視頻存儲(chǔ)的云存儲(chǔ)子系統(tǒng)利用云端存儲(chǔ)設(shè)備,省去了傳統(tǒng)視頻編輯操作過(guò)程中的下載與上傳操作,降低了用戶所連接網(wǎng)絡(luò)的帶寬和網(wǎng)絡(luò)質(zhì)量要求,并且在視頻編輯過(guò)程中,對(duì)正在編輯的視頻文件實(shí)時(shí)進(jìn)行云端存儲(chǔ),避免本地機(jī)器故障導(dǎo)致的文件丟失或損壞,進(jìn)一步提升了視頻編輯處理的安全性。
另外,本系統(tǒng)還可以實(shí)現(xiàn)其他的一些輔助功能,例如,可以實(shí)現(xiàn)投票、相關(guān)鏈接推送等與用戶交互的元素。而且,該系統(tǒng)還能夠?qū)崿F(xiàn)便捷的系統(tǒng)更新。并且,通過(guò)將渲染完的視頻保存在云存儲(chǔ)上,可提供面向全世界各網(wǎng)絡(luò)條件下的用戶點(diǎn)播加速功能。另外,在本系統(tǒng)中,還能夠?qū)︶槍?duì)同一視頻設(shè)置多種清晰度,從而使渲染完的視頻可以同時(shí)輸出多種清晰度供觀看用戶選擇。另外,為了便于實(shí)現(xiàn)用戶交互,在本系統(tǒng)的云剪輯子系統(tǒng)中,還可以進(jìn)一步包含一個(gè)用戶接口模塊,用于與用戶終端和后臺(tái)的云存儲(chǔ)子系統(tǒng)進(jìn)行交互,并將交互結(jié)果提供給云剪輯子系統(tǒng)內(nèi)部的預(yù)覽模塊和合成模塊。通過(guò)引入用戶接口模塊能夠方便用戶訪問(wèn),該用戶接口模塊可通過(guò)PHP時(shí)間號(hào)接口服務(wù)實(shí)現(xiàn)。
實(shí)施例三
圖3示出了本發(fā)明實(shí)施例三提供的一種視頻處理方法的流程圖,該方法包括:
步驟S310:獲取與接收到的來(lái)自用戶終端的視頻剪輯請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù),根據(jù)視頻剪輯請(qǐng)求生成與原始視頻數(shù)據(jù)相對(duì)應(yīng)的視頻剪輯數(shù)據(jù),
向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)。
具體的,在接收到用戶終端發(fā)送的視頻剪輯請(qǐng)求后,根據(jù)該視頻剪輯請(qǐng)求訪問(wèn)云端存儲(chǔ)設(shè)備,并從云端存儲(chǔ)設(shè)備中查找并獲取到與視頻剪輯請(qǐng)求對(duì)應(yīng)的原始視頻數(shù)據(jù),通過(guò)對(duì)原始視頻數(shù)據(jù)進(jìn)行一定的剪輯處理后生成視頻剪輯數(shù)據(jù),根據(jù)視頻剪輯數(shù)據(jù)生成對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù),該預(yù)覽內(nèi)容數(shù)據(jù)是發(fā)送給用戶終端,使用戶能夠直觀看到處理結(jié)果的數(shù)據(jù)。一般情況下,任意格式的視頻文件,只要能夠正常播放,就可以作為原始視頻數(shù)據(jù)進(jìn)行剪輯操作,但是,考慮到本發(fā)明提供的視頻處理方法全部在云端運(yùn)行,因此,優(yōu)選的原始視頻數(shù)據(jù)格式為hls格式或mp4格式。需要注意的是,視頻剪輯數(shù)據(jù)與預(yù)覽內(nèi)容數(shù)據(jù)可以相同也可以不同,通常情況下,為了縮短用戶等待時(shí)間且減小系統(tǒng)負(fù)荷,預(yù)覽內(nèi)容數(shù)據(jù)可能比視頻剪輯數(shù)據(jù)要少,只要能夠使用戶看出處理結(jié)果即可,不必包含全部的處理后數(shù)據(jù)。
步驟S320:接收來(lái)自用戶終端的視頻合成請(qǐng)求,獲取與視頻合成請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù),生成與原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)。
在剪輯操作之后,還可以進(jìn)一步進(jìn)行視頻合成操作,在視頻合成操作過(guò)程中,可以直接將各個(gè)剪輯后的視頻剪輯數(shù)據(jù)合成為新的視頻,也可以將剪輯后的視頻剪輯數(shù)據(jù)和預(yù)先存儲(chǔ)在云端存儲(chǔ)設(shè)備中的原始視頻數(shù)據(jù)進(jìn)行合成,進(jìn)而生成新的視頻。
關(guān)于上述方法實(shí)施例中各個(gè)步驟的實(shí)施細(xì)節(jié)可參照上述裝置實(shí)施例中各個(gè)模塊具體結(jié)構(gòu)和工作原理的相應(yīng)部分的描述,此處不再贅述。
由此可見,本發(fā)明提供的一種視頻處理方法,通過(guò)在云端進(jìn)行視頻剪輯和合成操作,能夠保持高效流暢的視頻處理過(guò)程,同時(shí)降低剪輯操作對(duì)本地個(gè)人電腦的配置要求,方便用戶隨時(shí)隨地進(jìn)行視頻編輯操作;通過(guò)云端存儲(chǔ)設(shè)備,避免本地機(jī)器故障導(dǎo)致的文件丟失或損壞,進(jìn)一步提升了視頻編輯處理的安全性。
實(shí)施例四
圖4示出了本發(fā)明實(shí)施例四提供的一種視頻處理方法的流程圖,該方法的所有操作均在云端進(jìn)行,是一種基于云計(jì)算的視頻處理方法,本方法具體包括:
步驟S410:獲取與接收到的來(lái)自用戶終端的視頻剪輯請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù),根據(jù)視頻剪輯請(qǐng)求生成與原始視頻數(shù)據(jù)相對(duì)應(yīng)的視頻剪輯數(shù)據(jù),向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)。
具體的,在接收到用戶終端發(fā)送的視頻剪輯請(qǐng)求后,根據(jù)該視頻剪輯請(qǐng)求訪問(wèn)云端存儲(chǔ)設(shè)備,并從云端存儲(chǔ)設(shè)備中查找并獲取到與視頻剪輯請(qǐng)求對(duì)應(yīng)的原始視頻數(shù)據(jù),通過(guò)對(duì)原始視頻數(shù)據(jù)進(jìn)行一定的剪輯處理后生成視頻剪輯數(shù)據(jù),根據(jù)視頻剪輯數(shù)據(jù)生成對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù),該預(yù)覽內(nèi)容數(shù)據(jù)是發(fā)送給用戶終端,使用戶能夠直觀看到處理結(jié)果的數(shù)據(jù)。該視頻剪輯請(qǐng)求包括多種,例如視頻特效請(qǐng)求、視頻分解請(qǐng)求、以及視頻拼接請(qǐng)求等等。一般情況下,任意格式的視頻文件,只要能夠正常播放,就可以作為原始視頻數(shù)據(jù)進(jìn)行剪輯操作,但是,考慮到本發(fā)明提供的視頻處理方法全部在云端運(yùn)行,因此,優(yōu)選的原始視頻數(shù)據(jù)格式為hls格式或mp4格式。需要注意的是,視頻剪輯數(shù)據(jù)與預(yù)覽內(nèi)容數(shù)據(jù)可以相同也可以不同,通常情況下,為了縮短用戶等待時(shí)間且減小系統(tǒng)負(fù)荷,預(yù)覽內(nèi)容數(shù)據(jù)可能比視頻剪輯數(shù)據(jù)要少,只要能夠使用戶看出處理結(jié)果即可,不必包含全部的處理后數(shù)據(jù)。例如,處理過(guò)程中的部分?jǐn)?shù)據(jù)可以不必發(fā)送給用戶終端。
在常規(guī)的視頻剪輯操作過(guò)程中,用戶在應(yīng)用某種特效之后,一般會(huì)想預(yù)覽應(yīng)用該特效后的視頻效果,此時(shí),服務(wù)器需要立即針對(duì)包含該特效的視頻剪輯請(qǐng)求進(jìn)行視頻轉(zhuǎn)碼處理。然而在常規(guī)方法中,服務(wù)器會(huì)將完整視頻進(jìn)行轉(zhuǎn)碼處理后再發(fā)送給用戶預(yù)覽,但是用戶往往只需要觀看一小段轉(zhuǎn)碼處理后的視頻即可知道特效效果,然后就轉(zhuǎn)而進(jìn)行其他編輯操作了,這就導(dǎo)致服務(wù)器浪費(fèi)了大量的資源用來(lái)為完整視頻進(jìn)行轉(zhuǎn)碼。為了避免這種浪費(fèi),在本發(fā)明提供的視頻處理方法中,向用戶終端返回與視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)時(shí),會(huì)根據(jù)用戶終端的下載速度信息和/或網(wǎng)絡(luò)流量信息確定預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。即用戶下載多少數(shù)據(jù)量,就轉(zhuǎn)碼處理多少數(shù)據(jù)量,根據(jù)服務(wù)器發(fā)送給客戶端的流量速度來(lái)控制服務(wù)器的轉(zhuǎn)碼速度,從而盡最大可能的避免了運(yùn)算資源的浪費(fèi)。例如,當(dāng)用戶終端的下載速度增大和/或網(wǎng)絡(luò)流量增加時(shí),提升預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量;當(dāng)用戶終端的下載速度減小和/或網(wǎng)絡(luò)流量降低時(shí),減小預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。具體實(shí)現(xiàn)時(shí),可以實(shí)時(shí)獲取或間隔預(yù)設(shè)時(shí)間獲取用戶終端的下載速度和/或網(wǎng)絡(luò)流量,從而動(dòng)態(tài)地調(diào)整預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。另外,也可以利用緩存機(jī)制來(lái)實(shí)現(xiàn)上述的控制效果。
步驟S420:接收來(lái)自用戶終端的視頻合成請(qǐng)求,獲取與視頻合成請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù),生成與原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)。
在剪輯操作之后,還可以進(jìn)一步進(jìn)行視頻合成操作,在視頻合成操作過(guò)程中,可以直接將各個(gè)剪輯后的視頻剪輯數(shù)據(jù)合成為新的視頻,也可以將剪輯后的視頻剪輯數(shù)據(jù)和預(yù)先存儲(chǔ)在云端存儲(chǔ)設(shè)備中的原始視頻數(shù)據(jù)進(jìn)行合成,進(jìn)而生成新的視頻。其中,視頻合成請(qǐng)求中包含了大量視頻處理的參數(shù),具體包括視頻分辨率、比特率、以及編碼類型等一系列參數(shù)。
為了提高視頻合成操作的處理速度,在本發(fā)明中,步驟S420可以采用分布式處理方法實(shí)現(xiàn)。具體的,當(dāng)接收到用戶發(fā)送的視頻合成請(qǐng)求后,通過(guò)中央處理服務(wù)器根據(jù)預(yù)設(shè)的負(fù)載均衡策略,將用戶請(qǐng)求分發(fā)給多個(gè)分布式處理服務(wù)器;該分布式處理服務(wù)器根據(jù)接收到的用戶請(qǐng)求去云存儲(chǔ)設(shè)備上拉取對(duì)應(yīng)的視頻內(nèi)容并進(jìn)行轉(zhuǎn)碼處理,該轉(zhuǎn)碼處理可以采用實(shí)時(shí)轉(zhuǎn)碼方式,即邊下載邊轉(zhuǎn)碼的方式,且每個(gè)分布式處理服務(wù)器都可以根據(jù)需要,去轉(zhuǎn)碼自己需要的時(shí)間段,而且互不影響;分布式處理服務(wù)器將轉(zhuǎn)碼后得到的視頻內(nèi)容返回給中央處理服務(wù)器;最后,中央處理服務(wù)器根據(jù)不同用戶的視頻合成請(qǐng)求返回相應(yīng)的視頻內(nèi)容。通過(guò)分布式并行處理的方式能夠大幅提升處理效率,最大程度地降低用戶等待時(shí)間。并且,由于本發(fā)明中的各個(gè)分布式處理服務(wù)器能夠直接根據(jù)對(duì)應(yīng)的時(shí)間段信息從云存儲(chǔ)設(shè)備中獲取相應(yīng)時(shí)間段內(nèi)的視頻數(shù)據(jù)直接進(jìn)行處理,不需要預(yù)先將視頻數(shù)據(jù)分割為多個(gè)子數(shù)據(jù),并分別將各個(gè)子數(shù)據(jù)分發(fā)到對(duì)應(yīng)的處理服務(wù)器上,因而簡(jiǎn)化了處理流程,大幅節(jié)省了處理時(shí)間,并提高了處理效率。
步驟S430:將已生成的視頻合成數(shù)據(jù)存儲(chǔ)到云存儲(chǔ)數(shù)據(jù)庫(kù)中,并為視頻合成數(shù)據(jù)設(shè)置對(duì)應(yīng)的播放入口,以供用戶終端根據(jù)播放入口進(jìn)行播放。
該播放入口可以是視頻播放地址(URL,即統(tǒng)一資源定位器),也可以是用戶終端界面上的播放按鈕,還可以是其他的展現(xiàn)形式,本發(fā)明對(duì)此不作具體限定,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況靈活設(shè)定。該云存儲(chǔ)數(shù)據(jù)庫(kù)用于存儲(chǔ)各個(gè)用戶終端對(duì)應(yīng)的視頻合成數(shù)據(jù)。通過(guò)為每個(gè)視頻分別設(shè)置對(duì)應(yīng)的播放入口的方式能夠簡(jiǎn)化用戶播放視頻時(shí)的操作復(fù)雜度,提升播放效率。
在本發(fā)明提供的視頻處理方法中,除了用于存儲(chǔ)視頻合成數(shù)據(jù)的云存儲(chǔ)數(shù)據(jù)庫(kù),還可以設(shè)置用于存儲(chǔ)原始視頻數(shù)據(jù)的視頻素材數(shù)據(jù)庫(kù)和/或用于為視頻合成數(shù)據(jù)提供內(nèi)容分發(fā)服務(wù)的內(nèi)容分發(fā)服務(wù)器。在一次視頻剪輯處理流程中,根據(jù)用戶發(fā)送的視頻剪輯請(qǐng)求去視頻素材數(shù)據(jù)庫(kù)中提取對(duì)應(yīng)的原始視頻數(shù)據(jù),并根據(jù)上述視頻剪輯請(qǐng)求對(duì)該原始視頻數(shù)據(jù)進(jìn)行剪輯處理;然后,根據(jù)用戶發(fā)送的視頻合成請(qǐng)求對(duì)剪輯處理好的視頻剪輯數(shù)據(jù)和/或所需的原始視頻數(shù)據(jù)進(jìn)行合成操作,之后將合成后的視頻合成數(shù)據(jù)存儲(chǔ)到云存儲(chǔ)數(shù)據(jù)庫(kù)中;最后從云存儲(chǔ)數(shù)據(jù)庫(kù)中提取視頻合成數(shù)據(jù),用于內(nèi)容分發(fā)網(wǎng)絡(luò)加速服務(wù)。
另外,為了進(jìn)一步提升視頻素材數(shù)據(jù)庫(kù)和/或云存儲(chǔ)數(shù)據(jù)庫(kù)中的資源訪問(wèn)速度,在本發(fā)明中還可以設(shè)置內(nèi)容分發(fā)服務(wù)器,通過(guò)內(nèi)容分發(fā)服務(wù)器能夠?qū)崿F(xiàn)CDN加速功能,從而快速地將視頻資源分發(fā)至各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),大幅提升訪問(wèn)速度。
步驟S440:接收來(lái)自用戶終端的視頻跳轉(zhuǎn)請(qǐng)求,根據(jù)視頻跳轉(zhuǎn)請(qǐng)求中包含的時(shí)間點(diǎn)信息,確定與時(shí)間點(diǎn)信息相對(duì)應(yīng)的關(guān)鍵幀,根據(jù)關(guān)鍵幀進(jìn)行解碼播放,并向用戶終端返回對(duì)應(yīng)的播放數(shù)據(jù)。
為了方便用戶在視頻剪輯過(guò)程中,能夠在瀏覽視頻時(shí)隨意跳轉(zhuǎn),以使視頻從用戶指定的時(shí)間點(diǎn)進(jìn)行播放,本發(fā)明提供的方法包括可選步驟S440。具體的,當(dāng)用戶需要將視頻跳轉(zhuǎn)到某個(gè)時(shí)間點(diǎn)時(shí),先確定離用戶指定時(shí)間點(diǎn)最接近的關(guān)鍵幀,然后從該關(guān)鍵幀開始根據(jù)用戶指定時(shí)間點(diǎn)確定與該用戶指定時(shí)間點(diǎn)相對(duì)應(yīng)的精確視頻幀的位置,并從該位置開始解碼播放,以實(shí)現(xiàn)視頻的精確跳轉(zhuǎn)。例如,一般情況下,一個(gè)視頻文件由I幀(即關(guān)鍵幀)、P幀(即差別幀)和B幀(即雙向差別幀)構(gòu)成。當(dāng)用戶指定時(shí)間點(diǎn)對(duì)應(yīng)的視頻幀為P幀時(shí),先確定該P(yáng)幀之前(或之后)的I幀,從該I幀開始解碼,直到解碼至該P(yáng)幀時(shí)停止,然后從該P(yáng)幀開始播放,由此實(shí)現(xiàn)一種情況下視頻的精確跳轉(zhuǎn);當(dāng)用戶指定時(shí)間點(diǎn)對(duì)應(yīng)的視頻幀為B幀時(shí),先確定該B幀前后的兩個(gè)I幀,根據(jù)兩個(gè)I幀開始解碼,直到完成B幀的解碼,然后從該B幀開始播放,由此實(shí)現(xiàn)另一種情況下視頻的精確跳轉(zhuǎn)。因?yàn)楝F(xiàn)有技術(shù)的視頻跳轉(zhuǎn)僅能確定與用戶指定時(shí)間點(diǎn)最接近的I幀,并從該I幀開始播放,因而視頻跳轉(zhuǎn)的精度受限于I幀的間隔長(zhǎng)度,無(wú)法實(shí)現(xiàn)精確跳轉(zhuǎn),所以本發(fā)明通過(guò)根據(jù)I幀解碼得到與用戶指定時(shí)間點(diǎn)對(duì)應(yīng)的視頻幀,再開始播放,由此實(shí)現(xiàn)精確的視頻跳轉(zhuǎn),能夠定位到任意類型的視頻幀,進(jìn)一步方便用戶的視頻剪輯操作,提升用戶體驗(yàn)感。
步驟S450:接收來(lái)自用戶終端的分屏預(yù)覽請(qǐng)求,確定與分屏預(yù)覽請(qǐng)求相對(duì)應(yīng)的第一類視頻數(shù)據(jù),生成與第一類視頻數(shù)據(jù)相對(duì)應(yīng)的第二類視頻數(shù)據(jù),將第一類視頻數(shù)據(jù)與第二類視頻數(shù)據(jù)合成為分屏預(yù)覽視頻流,將該分屏預(yù)覽視頻流傳輸給用戶終端。
為了方便用戶對(duì)處理前后的視頻進(jìn)行比較,本發(fā)明提供的視頻處理系統(tǒng)中還可以提供一種分屏預(yù)覽技術(shù)。本發(fā)明的分屏預(yù)覽技術(shù)的優(yōu)勢(shì)在于通過(guò)將處理前和處理后的視頻合并為一個(gè)視頻并轉(zhuǎn)碼為一條數(shù)據(jù)流,由此,用戶終端僅需一個(gè)播放器播放該數(shù)據(jù)流,且合成為一個(gè)視頻流的方式還能夠保證兩類視頻畫面絕對(duì)同步絕對(duì)一致。同時(shí),本領(lǐng)域技術(shù)人員還能夠?qū)Ρ痉绞竭M(jìn)行各種改動(dòng)或變形,例如,上述的第二類視頻數(shù)據(jù)的數(shù)量還可以是多個(gè),例如,多個(gè)第二類視頻數(shù)據(jù)分別對(duì)應(yīng)于不同種類的特效處理結(jié)果,由此能夠?qū)⒃摲椒☉?yīng)用在三屏分屏預(yù)覽甚至更多屏分屏預(yù)覽的場(chǎng)景中而無(wú)需增加額外的成本。具體實(shí)施方法,與實(shí)施例二中分屏預(yù)覽技術(shù)的描述一致,在此不再贅述。
關(guān)于上述方法實(shí)施例中各個(gè)步驟的實(shí)施細(xì)節(jié)可參照上述裝置實(shí)施例中各個(gè)模塊具體結(jié)構(gòu)和工作原理的相應(yīng)部分的描述,此處不再贅述。
本領(lǐng)域技術(shù)人員還可以對(duì)上述方法進(jìn)行各種改動(dòng)和變形,例如,可以調(diào)整各個(gè)步驟之間的執(zhí)行順序,對(duì)上述步驟進(jìn)行合并或增刪等。
綜上所述,本發(fā)明提供的一種視頻處理方法,一方面可以通過(guò)實(shí)現(xiàn)視頻剪輯處理的云剪輯子系統(tǒng)利用云端分布式處理方式,獲得更快的渲染速度,保持高效流暢的視頻處理過(guò)程,同時(shí)降低了對(duì)本地個(gè)人電腦的配置要求,方便用戶隨時(shí)隨地進(jìn)行視頻編輯操作;另一方面,可以通過(guò)實(shí)現(xiàn)視頻存儲(chǔ)的云存儲(chǔ)子系統(tǒng)利用云端存儲(chǔ)設(shè)備,省去了傳統(tǒng)視頻編輯操作過(guò)程中的下載與上傳操作,降低了用戶所連接網(wǎng)絡(luò)的帶寬和網(wǎng)絡(luò)質(zhì)量要求,并且在視頻編輯過(guò)程中,對(duì)正在編輯的視頻文件實(shí)時(shí)進(jìn)行云端存儲(chǔ),避免本地機(jī)器故障導(dǎo)致的文件丟失或損壞,進(jìn)一步提升了視頻編輯處理的安全性。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說(shuō)明書中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的視頻處理系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了:A1、一種視頻處理系統(tǒng),包括:用于實(shí)現(xiàn)視頻剪輯處理的云剪輯子系統(tǒng),以及用于實(shí)現(xiàn)視頻存儲(chǔ)的云存儲(chǔ)子系統(tǒng);其中,所述云剪輯子系統(tǒng)進(jìn)一步包括:預(yù)覽模塊和合成模塊,其中,
所述預(yù)覽模塊,適于從所述云存儲(chǔ)子系統(tǒng)中獲取與接收到的來(lái)自用戶終端的視頻剪輯請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù),根據(jù)所述視頻剪輯請(qǐng)求生成與所述原始視頻數(shù)據(jù)相對(duì)應(yīng)的視頻剪輯數(shù)據(jù),向所述用戶終端返回與所述視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù);
所述合成模塊,適于接收來(lái)自用戶終端的視頻合成請(qǐng)求,獲取與所述視頻合成請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù),生成與所述原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)。
A2、根據(jù)A1所述的系統(tǒng),其中,所述預(yù)覽模塊進(jìn)一步適于:接收來(lái)自用戶終端的視頻跳轉(zhuǎn)請(qǐng)求,根據(jù)所述視頻跳轉(zhuǎn)請(qǐng)求中包含的時(shí)間點(diǎn)信息,確定與所述時(shí)間點(diǎn)信息相對(duì)應(yīng)的關(guān)鍵幀,根據(jù)所述關(guān)鍵幀進(jìn)行解碼播放,并向所述用戶終端返回對(duì)應(yīng)的播放數(shù)據(jù)。
A3、根據(jù)A1所述的系統(tǒng),其中,所述預(yù)覽模塊向所述用戶終端返回與所述視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)時(shí),具體用于:根據(jù)所述用戶終端的下載速度信息和/或網(wǎng)絡(luò)流量信息確定所述預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。
A4、根據(jù)A1所述的系統(tǒng),其中,所述預(yù)覽模塊進(jìn)一步適于:接收來(lái)自用戶終端的分屏預(yù)覽請(qǐng)求,確定與所述分屏預(yù)覽請(qǐng)求相對(duì)應(yīng)的第一類視頻數(shù)據(jù),生成與所述第一類視頻數(shù)據(jù)相對(duì)應(yīng)的第二類視頻數(shù)據(jù),將所述第一類視頻數(shù)據(jù)與所述第二類視頻數(shù)據(jù)合成為分屏預(yù)覽視頻流,將所述分屏預(yù)覽視頻流傳輸給所述用戶終端。
A5、根據(jù)A1所述的系統(tǒng),其中,所述合成模塊進(jìn)一步包括:中央處理子模塊,以及多個(gè)分布式處理子模塊,其中,
所述中央處理子模塊適于確定與各個(gè)分布式處理子模塊對(duì)應(yīng)的視頻數(shù)據(jù)的時(shí)間段信息;
各個(gè)分布式處理子模塊適于根據(jù)所述中央處理子模塊確定的與其對(duì)應(yīng)的視頻數(shù)據(jù)的時(shí)間段信息,從所述云存儲(chǔ)子系統(tǒng)中獲取相應(yīng)時(shí)間段內(nèi)的視頻數(shù)據(jù)進(jìn)行處理,并將處理結(jié)果提供給所述中央處理子模塊。
A6、根據(jù)A1所述的系統(tǒng),其中,所述視頻剪輯請(qǐng)求包括以下中的至少一個(gè):視頻特效請(qǐng)求、視頻分解請(qǐng)求、以及視頻拼接請(qǐng)求;和/或,
所述視頻合成請(qǐng)求中包括以下中的至少一個(gè)合成參數(shù):視頻分辨率、比特率、以及編碼類型。
A7、根據(jù)A1所述的系統(tǒng),其中,所述云存儲(chǔ)子系統(tǒng)進(jìn)一步包括:
視頻素材數(shù)據(jù)庫(kù),用于存儲(chǔ)各個(gè)用戶終端對(duì)應(yīng)的原始視頻數(shù)據(jù);
云存儲(chǔ)數(shù)據(jù)庫(kù),用于存儲(chǔ)各個(gè)用戶終端對(duì)應(yīng)的視頻合成數(shù)據(jù);
內(nèi)容分發(fā)服務(wù)器,與所述云存儲(chǔ)數(shù)據(jù)庫(kù)相連,用于對(duì)所述云存儲(chǔ)數(shù)據(jù)庫(kù)中存儲(chǔ)的視頻合成數(shù)據(jù)提供內(nèi)容分發(fā)服務(wù)。
A8、根據(jù)A7所述的系統(tǒng),其中,所述合成模塊進(jìn)一步適于:將已生成的視頻合成數(shù)據(jù)存儲(chǔ)到所述云存儲(chǔ)數(shù)據(jù)庫(kù)中,并為所述視頻合成數(shù)據(jù)設(shè)置對(duì)應(yīng)的播放入口,以供用戶終端根據(jù)所述播放入口進(jìn)行播放。
本發(fā)明還公開了:B9、一種視頻處理方法,包括:
獲取與接收到的來(lái)自用戶終端的視頻剪輯請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù),根據(jù)所述視頻剪輯請(qǐng)求生成與所述原始視頻數(shù)據(jù)相對(duì)應(yīng)的視頻剪輯數(shù)據(jù),向所述用戶終端返回與所述視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù);
接收來(lái)自用戶終端的視頻合成請(qǐng)求,獲取與所述視頻合成請(qǐng)求相對(duì)應(yīng)的原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù),生成與所述原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)。
B10、根據(jù)B9所述的方法,其中,所述方法進(jìn)一步包括:接收來(lái)自用戶終端的視頻跳轉(zhuǎn)請(qǐng)求,根據(jù)所述視頻跳轉(zhuǎn)請(qǐng)求中包含的時(shí)間點(diǎn)信息,確定與所述時(shí)間點(diǎn)信息相對(duì)應(yīng)的關(guān)鍵幀,根據(jù)所述關(guān)鍵幀進(jìn)行解碼播放,并向所述用戶終端返回對(duì)應(yīng)的播放數(shù)據(jù)。
B11、根據(jù)B9所述的方法,其中,所述向所述用戶終端返回與所述視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的預(yù)覽內(nèi)容數(shù)據(jù)的步驟具體包括:根據(jù)所述用戶終端的下載速度信息和/或網(wǎng)絡(luò)流量信息確定所述預(yù)覽內(nèi)容數(shù)據(jù)的生成速度和/或數(shù)據(jù)量。
B12、根據(jù)B9所述的方法,其中,所述方法進(jìn)一步包括:接收來(lái)自用戶終端的分屏預(yù)覽請(qǐng)求,確定與所述分屏預(yù)覽請(qǐng)求相對(duì)應(yīng)的第一類視頻數(shù)據(jù),生成與所述第一類視頻數(shù)據(jù)相對(duì)應(yīng)的第二類視頻數(shù)據(jù),將所述第一類視頻數(shù)據(jù)與所述第二類視頻數(shù)據(jù)合成為分屏預(yù)覽視頻流,將所述分屏預(yù)覽視頻流傳輸給所述用戶終端。
B13、根據(jù)B9所述的方法,其中,所述視頻剪輯請(qǐng)求包括以下中的至少一個(gè):視頻特效請(qǐng)求、視頻分解請(qǐng)求、以及視頻拼接請(qǐng)求;和/或,
所述視頻合成請(qǐng)求中包括以下中的至少一個(gè)合成參數(shù):視頻分辨率、比特率、以及編碼類型。
B14、根據(jù)B9所述的方法,其中,所述生成與所述原始視頻數(shù)據(jù)和/或視頻剪輯數(shù)據(jù)相對(duì)應(yīng)的視頻合成數(shù)據(jù)的步驟之后,進(jìn)一步包括:將已生成的視頻合成數(shù)據(jù)存儲(chǔ)到云存儲(chǔ)數(shù)據(jù)庫(kù)中,并為所述視頻合成數(shù)據(jù)設(shè)置對(duì)應(yīng)的播放入口,以供用戶終端根據(jù)所述播放入口進(jìn)行播放。