[發(fā)明專利]一種自動(dòng)實(shí)現(xiàn)視頻格式轉(zhuǎn)換處理的平臺(tái)在審
| 申請(qǐng)?zhí)枺?/td> | 202110371811.2 | 申請(qǐng)日: | 2021-04-07 |
| 公開(公告)號(hào): | CN112954392A | 公開(公告)日: | 2021-06-11 |
| 發(fā)明(設(shè)計(jì))人: | 尹雪峰;楊騁;吳國文;范慧;張於;周正軍 | 申請(qǐng)(專利權(quán))人: | 多彩貴州印象網(wǎng)絡(luò)傳媒股份有限公司 |
| 主分類號(hào): | H04N21/234 | 分類號(hào): | H04N21/234;H04N21/2343;H04L29/06 |
| 代理公司: | 貴州啟辰知識(shí)產(chǎn)權(quán)代理有限公司 52108 | 代理人: | 葛歆瑋;趙彥棟 |
| 地址: | 550018 *** | 國省代碼: | 貴州;52 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 自動(dòng) 實(shí)現(xiàn) 視頻格式 轉(zhuǎn)換 處理 平臺(tái) | ||
1.一種自動(dòng)實(shí)現(xiàn)視頻格式轉(zhuǎn)換處理的平臺(tái),其特征在于:構(gòu)建流媒體服務(wù)框架,該框架由服務(wù)層,是由服務(wù)端和HTTP接口組成,支持多種媒體協(xié)議、多種平臺(tái)、多種編碼格式;
自動(dòng)實(shí)現(xiàn)視頻格式轉(zhuǎn)換的過程具體步驟如下:
步驟1:服務(wù)端平臺(tái)接收各種協(xié)議(rtsp、rtmp、gb28181、hls、mp4等)的視頻流之后對(duì)視頻流進(jìn)行解析,獲取協(xié)議類型、主機(jī)地址、應(yīng)用名、視頻流id等信息;
步驟2:對(duì)獲取到的視頻流設(shè)置事件監(jiān)聽器,然后添加音頻或視頻軌道,寫入幀數(shù)據(jù)并對(duì)幀數(shù)據(jù)進(jìn)行解析;步驟3:用戶使用播放器播放視頻時(shí),服務(wù)端平臺(tái)根據(jù)視頻流協(xié)議將幀數(shù)據(jù)封裝成對(duì)應(yīng)協(xié)議進(jìn)行播放;
啟動(dòng)時(shí)會(huì)根據(jù)cpu核心數(shù)自動(dòng)創(chuàng)建若干個(gè)epoll實(shí)例;這些epoll實(shí)例都會(huì)有一個(gè)線程來運(yùn)行epoll_wait函數(shù)來等待事件的觸發(fā);若服務(wù)端收到新的播放請(qǐng)求,那么多個(gè)epoll實(shí)例會(huì)在內(nèi)核的調(diào)度下,自動(dòng)選擇負(fù)載較輕的線程觸發(fā)accept事件;服務(wù)器在收到accept事件后,會(huì)創(chuàng)建一個(gè)TcpSession對(duì)象并綁定到該epoll實(shí)例;每一個(gè)Tcp連接都會(huì)對(duì)應(yīng)一個(gè)TcpSession對(duì)象,在之后客戶端與服務(wù)器的數(shù)據(jù)交互中,該TcpSession對(duì)象處理一切與之相關(guān)的業(yè)務(wù)數(shù)據(jù),并且該對(duì)象之后生命周期內(nèi)的一切事件都會(huì)由該epoll線程觸發(fā),這樣服務(wù)器的每個(gè)epoll線程都能均勻的分派到合理的客戶端數(shù)量;采用單進(jìn)程多線程模型,本平臺(tái)軟件框架采用了C++11的智能指針來做內(nèi)存管理,在線程切換時(shí)可以完美的管理內(nèi)存在多線程下共享以及其生命周期,同時(shí)互斥鎖的粒度消減至極致,幾乎可以忽略不計(jì),所以采用多線程模型性能損耗極低,每條線程的性能幾乎可以媲美單線程模型,同時(shí)也可以充分榨干CPU的每一核心性能。
2.根據(jù)權(quán)利要求1所述的一種自動(dòng)實(shí)現(xiàn)視頻格式轉(zhuǎn)換處理的平臺(tái),其特征在于:所述在C++11的加持下,在做媒體數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),利用引用計(jì)數(shù),巧妙的解決了多線程內(nèi)存生命周期管理的問題;實(shí)現(xiàn)引用計(jì)數(shù)的核心原理是相同的數(shù)據(jù)對(duì)象指針和相同的引用計(jì)數(shù)器指針一起,當(dāng)引用對(duì)象被創(chuàng)建或被拷貝時(shí),引用計(jì)數(shù)要加1;當(dāng)引用對(duì)象被銷毀或被覆蓋時(shí),引用計(jì)數(shù)減1;當(dāng)引用計(jì)數(shù)為0時(shí),數(shù)據(jù)對(duì)象被銷毀。細(xì)節(jié)上要注意的是當(dāng)引用對(duì)象被覆蓋時(shí),當(dāng)前引用計(jì)數(shù)要先減1。
3.根據(jù)權(quán)利要求1所述的一種自動(dòng)實(shí)現(xiàn)視頻格式轉(zhuǎn)換處理的平臺(tái),其特征在于:所述使用對(duì)象循環(huán)池來避免程序性能的降低和內(nèi)存碎片的生成;
在處理播放器時(shí),握手期間是開啟TCP_NODELAY并且關(guān)閉MSG_MORE的,提高握手期間數(shù)據(jù)交互的延時(shí),減少鏈接建立耗時(shí),提高視頻打開速度;在握手成功后,我們會(huì)關(guān)閉TCP_NODELAY并打開MSG_MORE;減少數(shù)據(jù)報(bào)文個(gè)數(shù),提高網(wǎng)絡(luò)利用率。
4.根據(jù)權(quán)利要求1所述的一種自動(dòng)實(shí)現(xiàn)視頻格式轉(zhuǎn)換處理的平臺(tái),其特征在于:所述采用sendmsg函數(shù)來做批量數(shù)據(jù)發(fā)送,在網(wǎng)絡(luò)不是很好或者服務(wù)器負(fù)載比較高時(shí),可以明顯減少系統(tǒng)調(diào)用次數(shù),提高程序性能;數(shù)據(jù)批量發(fā)送實(shí)現(xiàn)步驟:1、將要發(fā)送的數(shù)據(jù),按指定大小分割成幾段,通過循環(huán)語句將指定大小的數(shù)據(jù)發(fā)送出去,同時(shí)記錄數(shù)據(jù)發(fā)送狀態(tài)是否成功,對(duì)于未發(fā)送成功的數(shù)據(jù)再次發(fā)送;最后記錄發(fā)送成功的次數(shù)。
5.根據(jù)權(quán)利要求1所述的一種自動(dòng)實(shí)現(xiàn)視頻格式轉(zhuǎn)換處理的平臺(tái),其特征在于:所述多線程模型下,流媒體服務(wù)器在做媒體數(shù)據(jù)分發(fā)時(shí),使用到線程切換來實(shí)現(xiàn)多線程的數(shù)據(jù)分發(fā);
用戶端發(fā)出請(qǐng)求,需要設(shè)備端開始推流時(shí):
步驟1:收到播放請(qǐng)求時(shí),立即檢查是否已經(jīng)存在的媒體源,如果存在返回播放成功,否則進(jìn)入第2步。
步驟2:監(jiān)聽對(duì)應(yīng)的媒體源注冊(cè)事件,同時(shí)添加播放超時(shí)定時(shí)器,并且不回復(fù)播放器然后返回。邏輯將進(jìn)入第3步或第4步。
步驟3:媒體源注冊(cè)成功,那么立即響應(yīng)播放器播放成功,同時(shí)刪除播放超時(shí)定時(shí)器,并移除媒體注冊(cè)事件監(jiān)聽。
步驟4:超時(shí)定時(shí)器觸發(fā),響應(yīng)播放器播放失敗,同時(shí)刪除播放超時(shí)定時(shí)器,并移除媒體注冊(cè)事件監(jiān)聽。
6.根據(jù)權(quán)利要求1所述的一種自動(dòng)實(shí)現(xiàn)視頻格式轉(zhuǎn)換處理的平臺(tái),其特征在于:所述單進(jìn)程多線程模型為多線程IO多路復(fù)用非阻塞式模型。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于多彩貴州印象網(wǎng)絡(luò)傳媒股份有限公司,未經(jīng)多彩貴州印象網(wǎng)絡(luò)傳媒股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110371811.2/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
H04N 圖像通信,如電視
H04N21-00 可選的內(nèi)容分發(fā),例如交互式電視,VOD〔視頻點(diǎn)播〕
H04N21-20 .專門適用于內(nèi)容分發(fā)的專用服務(wù)器,例如:VOD服務(wù)器;其操作
H04N21-40 .專門適用于接收內(nèi)容或者與內(nèi)容交互的客戶端設(shè)備,如STB[機(jī)頂盒];相關(guān)操作
H04N21-60 .用于在服務(wù)器和客戶端之間或者在遠(yuǎn)程客戶端之間的視頻分配的網(wǎng)絡(luò)結(jié)構(gòu)或者處理
H04N21-80 .通過內(nèi)容產(chǎn)生器獨(dú)立于分配過程實(shí)現(xiàn)的內(nèi)容或附加數(shù)據(jù)的生成或處理;內(nèi)容本身
H04N21-81 ..其單媒體部件
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 圖像轉(zhuǎn)換設(shè)備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設(shè)備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊





