[發(fā)明專(zhuān)利]一種基于websocket的flv視頻傳輸及網(wǎng)頁(yè)播放的方法有效
| 申請(qǐng)?zhí)枺?/td> | 202010025733.6 | 申請(qǐng)日: | 2020-01-10 |
| 公開(kāi)(公告)號(hào): | CN111147947B | 公開(kāi)(公告)日: | 2021-12-10 |
| 發(fā)明(設(shè)計(jì))人: | 謝黎銘;何安松 | 申請(qǐng)(專(zhuān)利權(quán))人: | 深圳市同洲電子股份有限公司 |
| 主分類(lèi)號(hào): | H04N21/4782 | 分類(lèi)號(hào): | H04N21/4782;H04N21/44;H04N21/472;H04N21/2343;H04N21/231 |
| 代理公司: | 深圳市龍成聯(lián)合專(zhuān)利代理有限公司 44344 | 代理人: | 陳蓉 |
| 地址: | 518000 廣東省深圳市南山區(qū)高*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 websocket flv 視頻 傳輸 網(wǎng)頁(yè) 播放 方法 | ||
1.一種基于websocket的flv視頻傳輸及網(wǎng)頁(yè)播放的方法,其特征在于,包括以下步驟:
S1:對(duì)服務(wù)器的視頻源客戶端進(jìn)行收流,將收流得到的視頻通過(guò)使用解封裝模塊進(jìn)行去封裝得到視頻h264裸流;
S2:將視頻h264裸流通過(guò)封裝轉(zhuǎn)換模塊重新封裝為flv標(biāo)準(zhǔn)格式視頻;并將得到的MetaData包緩存在內(nèi)存中;
S3: WebSocket客戶端發(fā)出請(qǐng)求指令與websocket建立連接,并按照完整的flv標(biāo)準(zhǔn)格式視頻進(jìn)行推送視頻數(shù)據(jù);
S4:對(duì)MetaData包的發(fā)包狀態(tài)進(jìn)行檢測(cè),確定MetaData包是否已發(fā)送;
S5: MetaData包已發(fā)送完成后,普通音視頻數(shù)據(jù)包進(jìn)行發(fā)送;
S6:播放頁(yè)面在收到flv標(biāo)準(zhǔn)格式視頻數(shù)據(jù)后,對(duì)接收到的推送數(shù)據(jù)使用網(wǎng)頁(yè)解碼插件做解碼渲染操作,解碼渲染后的視頻進(jìn)行操作播放;
所述MetaData包包括:scriptTag包、FirstVideoTag和FirstAudioTag,所述FirstVideoTag還包括封裝sps和PPS數(shù)據(jù)的tag包,所述普通音視頻數(shù)據(jù)包包括普通AudioTag和普通VideoTag;
S4步驟還包含以下子步驟:
S4A: 將發(fā)送的MetaData包和普通音視頻數(shù)據(jù)包的發(fā)送狀態(tài)的值定義為n,發(fā)送MetaData包前,獲取發(fā)包的狀態(tài)值n,分別與1、2、4做按位與運(yùn)算;發(fā)送普通音視頻包,分別與3、5做按位與運(yùn)算;
S4B:將MetaData包的發(fā)送狀態(tài)進(jìn)行定義為三位2進(jìn)制數(shù)標(biāo)識(shí),高位到低位分別代表:FirstVideoTag,F(xiàn)irstAudioTag,ScriptTag,并且設(shè)定1為已發(fā)送,0為未發(fā)送。
2.根據(jù)權(quán)利要求1所述的一種基于websocket的flv視頻傳輸及網(wǎng)頁(yè)播放的方法,其特征在于,S6步驟還包含以下子步驟:
S6A:編寫(xiě)FLV到RGBA數(shù)據(jù)解碼程序;
S6B:使用emcc編譯出.wasm和.js文件;
S6C:再點(diǎn)擊播放按鈕,啟動(dòng)WebSocket客戶端從服務(wù)器取流,頁(yè)面收到flv數(shù)據(jù),通過(guò)WebAssembly的方式調(diào)用解碼程序中的投數(shù)據(jù)接口,將數(shù)據(jù)放入解碼程序中的隊(duì)列里面,再調(diào)用觸發(fā)解碼接口觸發(fā)解碼;
S6D:播放頁(yè)面創(chuàng)建canvas畫(huà)布,解碼出RGBA數(shù)據(jù)回調(diào)后,頁(yè)面根據(jù)回調(diào)的寬高數(shù)據(jù)更新畫(huà)布尺寸,并在canvas中渲染出圖像;
S6E:解碼程序不斷解碼出圖片數(shù)據(jù),頁(yè)面不斷刷新canvas畫(huà)布,進(jìn)行視頻的播放;
S6F:點(diǎn)擊頁(yè)面暫停按鈕,視頻暫停播放;
S6G:播放頁(yè)面點(diǎn)擊停止播放,斷開(kāi)websocket連接。
3.根據(jù)權(quán)利要求2所述的一種基于websocket的flv視頻傳輸及網(wǎng)頁(yè)播放的方法,其特征在于,S4A和S4B步驟中:
當(dāng)進(jìn)行n 1運(yùn)算,運(yùn)算結(jié)果為真時(shí),則表示Script已發(fā)送,運(yùn)算結(jié)果為假則表示Script未發(fā)送;
當(dāng)進(jìn)行n 2運(yùn)算,運(yùn)算結(jié)果為真時(shí),則表示FirstAudioTag已發(fā)送,運(yùn)算結(jié)果為假則表示FirstAudioTag未發(fā)送;
當(dāng)進(jìn)行n 4運(yùn)算,運(yùn)算結(jié)果為真時(shí),則表示FirstVideoTag已發(fā)送,運(yùn)算結(jié)果為假則表示FirstVideoTag未發(fā)送;
當(dāng)進(jìn)行n 3運(yùn)算,運(yùn)算結(jié)果為真時(shí),則表示普通AudioTag為可發(fā)送,運(yùn)算結(jié)果為假則表示先發(fā)送MetaData;
當(dāng)進(jìn)行n 5運(yùn)算,運(yùn)算結(jié)果為真時(shí),則表示普通VideoTag為可發(fā)送,運(yùn)算結(jié)果為假則表示先發(fā)送MetaData。
4.根據(jù)權(quán)利要求3所述的一種基于websocket的flv視頻傳輸及網(wǎng)頁(yè)播放的方法,其特征在于,當(dāng)一個(gè)數(shù)據(jù)包的MetaData包發(fā)送完成后,普通AudioTag和普通VideoTag的發(fā)送狀態(tài)才可轉(zhuǎn)換為可發(fā)送狀態(tài)。
5.根據(jù)權(quán)利要求4所述的一種基于websocket的flv視頻傳輸及網(wǎng)頁(yè)播放的方法,其特征在于,在每次發(fā)送完單個(gè)MetaData包后,再將狀態(tài)值n分別與1、2、4做按位或運(yùn)算更新?tīng)顟B(tài)n的值。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于深圳市同洲電子股份有限公司,未經(jīng)深圳市同洲電子股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010025733.6/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
H04N 圖像通信,如電視
H04N21-00 可選的內(nèi)容分發(fā),例如交互式電視,VOD〔視頻點(diǎn)播〕
H04N21-20 .專(zhuān)門(mén)適用于內(nèi)容分發(fā)的專(zhuān)用服務(wù)器,例如:VOD服務(wù)器;其操作
H04N21-40 .專(zhuān)門(mén)適用于接收內(nèi)容或者與內(nèi)容交互的客戶端設(shè)備,如STB[機(jī)頂盒];相關(guān)操作
H04N21-60 .用于在服務(wù)器和客戶端之間或者在遠(yuǎn)程客戶端之間的視頻分配的網(wǎng)絡(luò)結(jié)構(gòu)或者處理
H04N21-80 .通過(guò)內(nèi)容產(chǎn)生器獨(dú)立于分配過(guò)程實(shí)現(xiàn)的內(nèi)容或附加數(shù)據(jù)的生成或處理;內(nèi)容本身
H04N21-81 ..其單媒體部件
- 基于Websocket訪問(wèn)啟動(dòng)TLS認(rèn)證的Docker容器的方法及系統(tǒng)
- 一種基于websocket協(xié)議與http協(xié)議的即時(shí)數(shù)據(jù)傳輸方法及系統(tǒng)
- 一種微服務(wù)架構(gòu)的消息推送裝置及方法
- 一種websocket斷線重連方法及裝置
- 一種基于WebSocket的跨瀏覽器金融自助終端硬件調(diào)用方法
- 一種基于WebSocket的物聯(lián)網(wǎng)大屏監(jiān)控系統(tǒng)及方法
- 集群遠(yuǎn)程通信測(cè)試方法以及系統(tǒng)
- 一種數(shù)據(jù)轉(zhuǎn)發(fā)方法、API網(wǎng)關(guān)及消息服務(wù)系統(tǒng)
- 一種WebSocket接口的測(cè)試方法、裝置及設(shè)備
- 基于WebSocket的通信傳輸方法、裝置、設(shè)備、系統(tǒng)及存儲(chǔ)介質(zhì)





