本發(fā)明涉及視頻解碼技術(shù)領(lǐng)域,特別涉及一種基于iOS設(shè)備的VR視頻的播放方法、裝置及終端設(shè)備。
背景技術(shù):
VR(Virtual Reality)視頻一般通過由一組(2個或以上)的普通攝像機(jī)通過特定的方式組合而成的全景攝像機(jī)拍攝而成。全景視頻在拍攝完成后,會將多路普通攝像機(jī)拍攝所得視頻幀拼接成一個2D的VR視頻幀來存儲,使得VR視頻幀的視頻容量相對于普通攝像機(jī)所拍視頻要大的多。
當(dāng)前,人們常使用iOS設(shè)備(例如常規(guī)的iPhone手機(jī)、iPad平板電腦)來播放VR視頻,當(dāng)前的iOS設(shè)備均是基于HLS(HTTP Live Streaming)作為傳輸協(xié)議,這種HLS協(xié)議會對視頻進(jìn)行切片傳輸,每次切片的間隔均是10秒,由于VR視頻的視頻容量較大,每次切片傳輸?shù)暮臅r較長,使得iOS設(shè)備來播放VR視頻時有嚴(yán)重延遲,嚴(yán)重影響用戶觀看。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的是提供一種基于iOS設(shè)備的VR視頻的解碼方法、裝置及終端設(shè)備,用于解決上述問題。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種基于iOS設(shè)備的VR視頻的解碼方法,包括:
獲取基于RTMP協(xié)議的VR視頻數(shù)據(jù);
從所述VR視頻數(shù)據(jù)中提取畫面幀數(shù)據(jù),所述畫面幀數(shù)據(jù)符合AVFrame數(shù)據(jù)結(jié)構(gòu);
調(diào)用所述iOS設(shè)備內(nèi)硬件解碼組件的應(yīng)用程序接口,創(chuàng)建硬解碼會話;
根據(jù)所述硬解碼會話,通過所述iOS設(shè)備內(nèi)硬件解碼組件對所述畫面幀數(shù)據(jù)進(jìn)行硬解碼,輸出適用于iOS設(shè)備的視頻播放數(shù)據(jù)。
在本發(fā)明一實(shí)施例中,從所述VR視頻數(shù)據(jù)中提取畫面幀數(shù)據(jù),具體包括:
根據(jù)播放器解析協(xié)議,將所述VR視頻數(shù)據(jù)轉(zhuǎn)換為H.264數(shù)據(jù)流,所述H.264數(shù)據(jù)流包括畫面幀數(shù)據(jù)以及描述數(shù)據(jù);
在所述H.264數(shù)據(jù)流內(nèi)提取出畫面幀數(shù)據(jù)。
在本發(fā)明一實(shí)施例中,創(chuàng)建硬解碼會話,具體包括:
在所述H.264數(shù)據(jù)流內(nèi)提取出掃描數(shù)據(jù);
獲取所述掃描數(shù)據(jù)內(nèi)的序列參數(shù)集和圖像參數(shù)集;
根據(jù)所提取到的序列參數(shù)集和圖像參數(shù)集創(chuàng)建視頻格式描述信息;
根據(jù)視頻格式描述信息創(chuàng)建硬解碼會話,所述硬解碼會話所輸出的圖像格式為NV12。
在本發(fā)明一實(shí)施例中,通過所述iOS設(shè)備內(nèi)硬件解碼組件對所述畫面幀數(shù)據(jù)進(jìn)行硬解碼,具體包括:
將各畫面幀數(shù)據(jù)輸入至所述硬件解碼組件,通過所述硬件解碼組件對各畫面幀數(shù)據(jù)進(jìn)行硬解碼。
在本發(fā)明一實(shí)施例中,根據(jù)所述硬解碼會話,通過所述iOS設(shè)備內(nèi)硬件解碼組件對所述畫面幀數(shù)據(jù)進(jìn)行硬解碼之后,所述方法還包括:
注銷所述硬解碼會話。
在本發(fā)明一實(shí)施例中,根據(jù)所述硬解碼會話,通過所述iOS設(shè)備內(nèi)硬件解碼組件對所述畫面幀數(shù)據(jù)進(jìn)行硬解碼之后,所述方法還包括:
對硬解碼的視頻數(shù)據(jù)進(jìn)行雙眼渲染處理,以播放所述VR視頻數(shù)據(jù)。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種基于iOS設(shè)備的VR視頻的解碼裝置,包括:
數(shù)據(jù)獲取模塊,用于獲取基于RTMP協(xié)議的VR視頻數(shù)據(jù);
數(shù)據(jù)轉(zhuǎn)換模塊,用于從所述VR視頻數(shù)據(jù)中提取畫面幀數(shù)據(jù),所述畫面幀數(shù)據(jù)符合AVFrame數(shù)據(jù)結(jié)構(gòu);
會話創(chuàng)建模塊,用于調(diào)用所述iOS設(shè)備內(nèi)硬件解碼組件的應(yīng)用程序接口,創(chuàng)建硬解碼會話;
數(shù)據(jù)硬解模塊,用于通過所述iOS設(shè)備內(nèi)硬件解碼組件對所述畫面幀數(shù)據(jù)進(jìn)行硬解碼,輸出適用于iOS設(shè)備的視頻播放數(shù)據(jù)。
在本發(fā)明一實(shí)施例中,所述數(shù)據(jù)轉(zhuǎn)換模塊,具體包括:
根據(jù)播放器解析協(xié)議,將所述VR視頻數(shù)據(jù)轉(zhuǎn)換為H.264數(shù)據(jù)流,所述H.264數(shù)據(jù)流包括畫面幀數(shù)據(jù)以及描述數(shù)據(jù);
在所述H.264數(shù)據(jù)流內(nèi)提取出畫面幀數(shù)據(jù)。
在本發(fā)明一實(shí)施例中,所述會話創(chuàng)建模塊,具體用于:
在所述H.264數(shù)據(jù)流內(nèi)提取出掃描數(shù)據(jù);
獲取所述掃描數(shù)據(jù)內(nèi)的序列參數(shù)集和圖像參數(shù)集;
根據(jù)所提取到的序列參數(shù)集和圖像參數(shù)集創(chuàng)建視頻格式描述信息;
根據(jù)視頻格式描述信息創(chuàng)建硬解碼會話,所述硬解碼會話所輸出的圖像格式為NV12。
在本發(fā)明一實(shí)施例中,所述數(shù)據(jù)硬解模塊,具體用于:
對各畫面幀數(shù)據(jù)進(jìn)行硬解碼。
在本發(fā)明一實(shí)施例中,所述裝置還包括會話注銷模塊,用于:
注銷所述硬解碼會話。
在本發(fā)明一實(shí)施例中,所述裝置還包括視頻渲染模塊,用于:
對硬解碼的視頻數(shù)據(jù)進(jìn)行雙眼渲染處理,以播放所述VR視頻數(shù)據(jù)。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種終端設(shè)備,包括:
播放器;
如前述發(fā)明內(nèi)容所述的解碼裝置;
請求模塊,用于請求待播放的VR視頻數(shù)據(jù),并將所得到的VR視頻數(shù)據(jù)傳輸至所述解碼裝置和播放器。
由以上本發(fā)明實(shí)施例提供的技術(shù)方案可見,本發(fā)明實(shí)施例所提供的基于iOS設(shè)備的VR視頻的播放方法、裝置及終端設(shè)備,通過硬解碼方式來解碼基于RTMP協(xié)議的視頻數(shù)據(jù),避免了HLS協(xié)議的視頻數(shù)據(jù)的切片周期過長的問題,也避免了通過CPU來軟解碼視頻數(shù)據(jù)所造成的解碼效率低、耗電和發(fā)熱情況嚴(yán)重的問題,無需對現(xiàn)有iOS設(shè)備的硬件做調(diào)整,從軟件層面即可提高iOS設(shè)備對VR視頻的播放能力,具有很強(qiáng)的應(yīng)用前景。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法和裝置所適用的系統(tǒng)的架構(gòu)圖。
圖2為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼裝置所適用的終端設(shè)備的模塊圖。
圖3為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法的流程圖。
圖4為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法內(nèi)從所述VR視頻數(shù)據(jù)中提取畫面幀數(shù)據(jù)的具體流程圖。
圖5為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法內(nèi)創(chuàng)建硬解碼會話的具體流程圖。
圖6為本發(fā)明另一實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法的流程圖。
圖7為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼裝置的模塊圖。
圖8為本發(fā)明另一實(shí)施例中基于iOS設(shè)備的VR視頻的解碼裝置的模塊圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法和裝置所適用的系統(tǒng)的架構(gòu)圖。結(jié)合圖1所示,該系統(tǒng)包括可終端設(shè)備100以及云端服務(wù)器200。終端設(shè)備100即為該解碼方法所適用的iOS設(shè)備,其可以是iPhone手機(jī)、iPad平板電腦等;云端服務(wù)器200可以是業(yè)內(nèi)常規(guī)的視頻網(wǎng)站的服務(wù)器或云存儲網(wǎng)站的服務(wù)器等,云端服務(wù)器200與終端設(shè)備100建立通信,待解碼的VR視頻存儲于云端服務(wù)器200內(nèi),終端設(shè)備100可以從云端服務(wù)器200獲取VR視頻數(shù)據(jù),進(jìn)行解碼并播放。當(dāng)然,VR數(shù)據(jù)還可以離線存儲于終端設(shè)備100內(nèi),在此不做贅述。
圖2為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼裝置所適用的終端設(shè)備的模塊圖。結(jié)合圖2所示,該終端設(shè)備100即為iOS設(shè)備,其包括解碼裝置10、播放器20以及請求模塊30,請求模塊30可以與云端服務(wù)器200建立通信并從云端服務(wù)器200請求待播放的VR視頻數(shù)據(jù),請求模塊300將所接收到的VR視頻數(shù)據(jù)發(fā)送至播放器20,播放器20與解碼裝置10配合來硬解碼該VR視頻數(shù)據(jù)并進(jìn)行播放。其中,解碼裝置10可以是業(yè)內(nèi)常規(guī)的圖像處理器GPU或視頻處理單元VPU。
當(dāng)然,終端設(shè)備100還會包括攝像頭、存儲器、處理器、供電模塊等元器件,在此不做贅述。
圖3為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法的流程圖。該iOS設(shè)備即為前述終端設(shè)備100,該解碼方法的執(zhí)行主體即為前述解碼裝置10,該解碼方法具體包括如下的步驟S101至S103。
步驟S101、獲取基于RTMP協(xié)議的VR視頻數(shù)據(jù)。
VR視頻數(shù)據(jù)可以存儲于云端服務(wù)器200,也可以離線存儲與終端設(shè)備100內(nèi),并且該VR視頻數(shù)據(jù)流是基于RTMP(Real Time Messaging Protocol,實(shí)時消息傳輸協(xié)議)協(xié)議的,RTMP協(xié)議是基于TCP的,包括RTMP基本協(xié)議及RTMPT、TTMPS等多種變種,可以用于和支持基于RTMP協(xié)議的流媒體、交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信,在此不做贅述。
步驟S102、從所述VR視頻數(shù)據(jù)中提取畫面幀數(shù)據(jù),所述畫面幀數(shù)據(jù)符合AVFrame數(shù)據(jù)結(jié)構(gòu)。
待解碼的VR數(shù)據(jù)在寫入播放器后,可以提取出符合AVFrame數(shù)據(jù)結(jié)構(gòu)的畫面幀數(shù)據(jù)。AVFrame數(shù)據(jù)結(jié)構(gòu)也是預(yù)先定義好的數(shù)據(jù)結(jié)構(gòu),與常見的軟解方式不同,數(shù)據(jù)解碼通過GPU實(shí)現(xiàn)。
圖4為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法內(nèi)S102的具體流程圖,該步驟S102具體包括步驟S121至S122,具體如下。
步驟S121、根據(jù)播放器解析協(xié)議,將所述VR視頻數(shù)據(jù)轉(zhuǎn)換為H.264數(shù)據(jù)流,所述H.264數(shù)據(jù)流包括畫面幀數(shù)據(jù)以及描述數(shù)據(jù)。
在iOS設(shè)備100內(nèi)播放器接收到待解碼的VR視頻時,通過該播放器所自帶的解碼協(xié)議,將VR視頻轉(zhuǎn)換為H.264數(shù)據(jù)流,H.264是一種視頻編碼標(biāo)準(zhǔn),能夠很好的適應(yīng)IP和無線網(wǎng)絡(luò),具有很強(qiáng)的抗誤碼和抗丟包性能。
所轉(zhuǎn)換得到的H.264數(shù)據(jù)流內(nèi)包括畫面幀數(shù)據(jù)以及描述數(shù)據(jù),畫面幀數(shù)據(jù)符合AVFrame數(shù)據(jù)結(jié)構(gòu)。描述數(shù)據(jù)是描述每個畫面幀數(shù)據(jù)的二進(jìn)制數(shù)據(jù)流,具體可以描述這些畫面幀數(shù)據(jù)所代表畫面的RGB參數(shù)、分辨率等。
步驟S122、在所述H.264數(shù)據(jù)流內(nèi)提取出畫面幀數(shù)據(jù)。
在經(jīng)過轉(zhuǎn)換得到的H.264數(shù)據(jù)流內(nèi)得到畫面幀數(shù)據(jù),以被后續(xù)處理。由于H.264數(shù)據(jù)流的結(jié)構(gòu)為業(yè)內(nèi)常見技術(shù),可以很簡單的提取出畫面幀數(shù)據(jù)和描述數(shù)據(jù)。
步驟S103、調(diào)用所述iOS設(shè)備內(nèi)硬件解碼組件的應(yīng)用程序接口,創(chuàng)建硬解碼會話。
硬件解碼組件即為前述解碼裝置10,例如可以是業(yè)內(nèi)常規(guī)的圖像處理器GPU或視頻處理單元VPU。在iOS系統(tǒng)層面,設(shè)置了解碼裝置10的應(yīng)用程序接口API,可以通過該應(yīng)用程序接口API創(chuàng)建解碼會話session,通過該解碼會話session來控制所述硬件解碼組件來對前述步驟中的畫面幀數(shù)據(jù)進(jìn)行硬解碼。
圖5為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法內(nèi)步驟S103的具體流程圖,該步驟S103具體包括步驟S131至S134,具體如下。
步驟S131、在所述H.264數(shù)據(jù)流內(nèi)提取出掃描數(shù)據(jù)。
所轉(zhuǎn)換得到的H.264數(shù)據(jù)流內(nèi)包括描述數(shù)據(jù),在經(jīng)過轉(zhuǎn)換得到的H.264數(shù)據(jù)流內(nèi)得到畫面幀數(shù)據(jù),以被后續(xù)處理。由于H.264數(shù)據(jù)流的結(jié)構(gòu)為業(yè)內(nèi)常見技術(shù),可以很簡單的提取出描述數(shù)據(jù)。
步驟S132、獲取所述掃描數(shù)據(jù)內(nèi)的序列參數(shù)集和圖像參數(shù)集。
描述數(shù)據(jù)內(nèi)包括序列參數(shù)集SPS(Sequence Parameter Set)和圖像參數(shù)集PS(Picture Parameter Set),序列參數(shù)集包括了圖像序列中所有信息,是描述數(shù)據(jù)的基礎(chǔ)之一,圖像參數(shù)集包括一個圖像的所有切片信息,同樣是描述數(shù)據(jù)的基礎(chǔ)之一。在描述數(shù)據(jù)內(nèi)確定出序列參數(shù)集和圖像參數(shù)集為業(yè)內(nèi)常規(guī)技術(shù)手段,在此不做贅述。
步驟S133、根據(jù)所提取到的序列參數(shù)集和圖像參數(shù)集創(chuàng)建視頻格式描述信息。
在本發(fā)明實(shí)施例中,可以利用根據(jù)所提取到的序列參數(shù)集和圖像參數(shù)集來調(diào)用目前業(yè)內(nèi)已知的創(chuàng)建函數(shù),以創(chuàng)建視頻格式描述信息。
步驟S134、根據(jù)視頻格式描述信息創(chuàng)建硬解碼會話,所述硬解碼會話所輸出的圖像格式為NV12。
所輸出的圖像格式即為kCVPixelBufferPixelFormatTypeKey屬性值,將該屬性值設(shè)定為NV12,由于iOS設(shè)備內(nèi)現(xiàn)有硬件解碼組件支持NV12,便于后續(xù)對所輸出的圖像進(jìn)行硬件解碼。
在本發(fā)明實(shí)施例中,該完成硬解碼操作后,可以將該解碼會話銷毀,以降低處理資源的消耗。
步驟S104、通過所述iOS設(shè)備內(nèi)硬件解碼組件對所述畫面幀數(shù)據(jù)進(jìn)行硬解碼,輸出適用于iOS設(shè)備的視頻播放數(shù)據(jù)。
調(diào)用解碼裝置10對前述步驟中獲得畫面幀數(shù)據(jù)進(jìn)行硬解碼,以得到可以iOS設(shè)備可以播放的畫面數(shù)據(jù)。
在本發(fā)明實(shí)施例中,將每個畫面幀數(shù)據(jù)輸入至解碼裝置10,以作為樣本實(shí)例sample buffer。樣本實(shí)例不斷被畫面幀數(shù)據(jù)刷新,樣本實(shí)例可以通過用CMBlockBufferCreateWithMemeoryBlock從H.264數(shù)據(jù)創(chuàng)建一個CMBlockBufferRef實(shí)例,然后用CMSampleBufferCreateReady創(chuàng)建CMSampleBufferRef實(shí)例,以作為樣本實(shí)例。
經(jīng)過硬解碼后,輸出的圖像會包含當(dāng)前畫面幀的YUV(圖像顏色編碼)數(shù)據(jù),具體格式為CVPixelBufferRef(同蘋果自帶AVPlayer輸出格式相同),輸出的圖像可以直接生成iOS播放器20支持的OpenGL的texture。
圖6為本發(fā)明另一實(shí)施例中基于iOS設(shè)備的VR視頻的解碼方法的流程圖,與前述實(shí)施例相比,該方法還包括位于步驟S104之后的如下步驟S105,具體如下。
步驟S105、對硬解碼的視頻數(shù)據(jù)進(jìn)行雙眼渲染處理,以播放所述VR視頻數(shù)據(jù)。
在接收到硬解碼后的圖像后,將其轉(zhuǎn)換為可播放的紋理數(shù)據(jù),再通過配置單雙眼的策略,計算圖像尺寸來進(jìn)行渲染,最后調(diào)動iOS設(shè)備內(nèi)GLKit組件來進(jìn)行播放,實(shí)現(xiàn)VR視頻數(shù)據(jù)的播放。
綜上,本發(fā)明實(shí)施例所提供的基于iOS設(shè)備的VR視頻的播放方法,通過硬解碼方式來解碼基于RTMP協(xié)議的視頻數(shù)據(jù),避免了HLS協(xié)議的視頻數(shù)據(jù)的切片周期過長的問題,也避免了通過CPU來軟解碼視頻數(shù)據(jù)所造成的解碼效率低、耗電和發(fā)熱情況嚴(yán)重的問題,無需對現(xiàn)有iOS設(shè)備的硬件做調(diào)整,從軟件層面即可提高iOS設(shè)備對VR視頻的播放能力,具有很強(qiáng)的應(yīng)用前景。
圖7為本發(fā)明實(shí)施例中基于iOS設(shè)備的VR視頻的解碼裝置的模塊圖,所述裝置可包括:
數(shù)據(jù)獲取模塊11,用于獲取基于RTMP協(xié)議的VR視頻數(shù)據(jù);
數(shù)據(jù)轉(zhuǎn)換模塊12,用于從所述VR視頻數(shù)據(jù)中提取畫面幀數(shù)據(jù),所述畫面幀數(shù)據(jù)符合AVFrame數(shù)據(jù)結(jié)構(gòu);
會話創(chuàng)建模塊13,用于調(diào)用所述iOS設(shè)備內(nèi)硬件解碼組件的應(yīng)用程序接口,創(chuàng)建硬解碼會話;
數(shù)據(jù)硬解模塊14,用于通過所述iOS設(shè)備內(nèi)硬件解碼組件對所述畫面幀數(shù)據(jù)進(jìn)行硬解碼,輸出適用于iOS設(shè)備的視頻播放數(shù)據(jù)。
在本發(fā)明一實(shí)施例中,所述數(shù)據(jù)轉(zhuǎn)換模塊12,具體包括:
根據(jù)播放器解析協(xié)議,將所述VR視頻數(shù)據(jù)轉(zhuǎn)換為H.264數(shù)據(jù)流,所述H.264數(shù)據(jù)流包括畫面幀數(shù)據(jù)以及描述數(shù)據(jù);
在所述H.264數(shù)據(jù)流內(nèi)提取出畫面幀數(shù)據(jù)。
在本發(fā)明一實(shí)施例中,所述會話創(chuàng)建模塊13,具體用于:
在所述H.264數(shù)據(jù)流內(nèi)提取出掃描數(shù)據(jù);
獲取所述掃描數(shù)據(jù)內(nèi)的序列參數(shù)集和圖像參數(shù)集;
根據(jù)所提取到的序列參數(shù)集和圖像參數(shù)集創(chuàng)建視頻格式描述信息;
根據(jù)視頻格式描述信息創(chuàng)建硬解碼會話,所述硬解碼會話所輸出的圖像格式為NV12。
在本發(fā)明一實(shí)施例中,所述數(shù)據(jù)硬解模塊14,具體用于:
將各畫面幀數(shù)據(jù)輸入至所述硬件解碼組件,通過所述硬件解碼組件對各畫面幀數(shù)據(jù)進(jìn)行硬解碼。
在本發(fā)明一實(shí)施例中,所述裝置還可包括會話注銷模塊,用于:
注銷所述硬解碼會話。
圖8為本發(fā)明另一實(shí)施例中基于iOS設(shè)備的VR視頻的解碼裝置的模塊圖,在上述圖7所示的實(shí)施例的基礎(chǔ)上,所述裝置還可包括視頻渲染模塊,用于:
對硬解碼的視頻數(shù)據(jù)進(jìn)行雙眼渲染處理,以播放所述VR視頻數(shù)據(jù)。
綜上,本發(fā)明實(shí)施例所提供的基于iOS設(shè)備的VR視頻的播放裝置,通過硬解碼方式來解碼基于RTMP協(xié)議的視頻數(shù)據(jù),避免了HLS協(xié)議的視頻數(shù)據(jù)的切片周期過長的問題,也避免了通過CPU來軟解碼視頻數(shù)據(jù)所造成的解碼效率低、耗電和發(fā)熱情況嚴(yán)重的問題,無需對現(xiàn)有iOS設(shè)備的硬件做調(diào)整,從軟件層面即可提高iOS設(shè)備對VR視頻的播放能力,具有很強(qiáng)的應(yīng)用前景。
本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,各個實(shí)施例之間相同相似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在計算機(jī)可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
以上所述僅為本發(fā)明的實(shí)施例而已,并不用于限制本發(fā)明。對于本領(lǐng)域技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。