• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種視頻數據的共享方法技術

    技術編號:23610095 閱讀:33 留言:0更新日期:2020-03-28 09:29
    本發明專利技術公開了一種視頻數據的共享方法。它具體包括如下步驟:裸數據流服務器啟動服務,并等待客戶端連接;推流客戶端依照定義好的協議標準與裸數據流服務器建立推流會話;推流客戶端讀取視頻流進行解碼并將解碼后的裸數據封裝成數據消息發送到裸數據流服務器;裸數據流服務器接收到推上來的流,存放在內存中;拉流客戶端依照定義好的協議標準與裸數據流服務器建立拉流會話;裸數據流服務器將接收到的數據,分發給各個拉流客戶端;處理結束后,客戶端發送結束會話的請求,并斷開連接;裸數據流服務器的服務端收到結束會話請求后釋放資源。本發明專利技術的有益效果是:解決解碼后數據共享的問題,減少整個系統平臺帶來的性能消耗,提成整體性能。

    A sharing method of video data

    【技術實現步驟摘要】
    一種視頻數據的共享方法
    本專利技術涉及視頻編碼處理相關
    ,尤其是指一種視頻數據的共享方法。
    技術介紹
    隨著視頻技術的不斷發展,視頻分辨率也越來越高,從原來的標清到高清,到現在的4K,以及未來的8K,所需要的編解碼性成倍數增長。而目前隨著公有云的發展,視頻處理能力云化也是大勢所趨,然而公有云上大部分解碼都依賴CPU性能,雖然云上GPU也有提供,然而價格卻是非常高,即便是價格可以承受,那么如何節省成本,依舊需要考慮。而減少視頻處理的消耗則是重中之重。目前在涉及視頻編解碼過程中,為了減少解碼所帶來的性能消耗,一般有兩種方案:一種是把所有需要處理的模塊都集成到一個進程中以復用解碼后的音視頻數據;另一種就是通過共享內存的方式將數據共享各獨立模塊使用。但是以上兩種都存在弊端,前者增加了程序邏輯的復雜性,當第三方是獨立應用時無法集成到一個進程中,后者雖然采用了內存可以在進程中共享數據,但是無法和多臺設備間共享,也無法形成標準,不利于各個產品的開發和維護。
    技術實現思路
    本專利技術是為了克服現有技術中存在上述的不足,提供了一種減少解碼所帶來的性能消耗的視頻數據的共享方法。為了實現上述目的,本專利技術采用以下技術方案:一種視頻數據的共享方法,具體包括如下步驟:(1)裸數據流服務器啟動服務,并等待推流客戶端和拉流客戶端連接;(2)推流客戶端依照定義好的協議標準與裸數據流服務器建立推流會話;(3)推流客戶端讀取視頻流進行解碼,并將解碼或處理后的裸數據封裝成數據消息發送到裸數據流服務器;(4)裸數據流服務器接收到推流服務器推上來的流,存放在裸數據流服務器的內存中;(5)拉流客戶端依照定義好的協議標準與裸數據流服務器建立拉流會話;(6)裸數據流服務器將接收到的數據,分發給各個拉流客戶端;(7)處理結束后,推流客戶端和拉流客戶端發送結束會話的請求,并斷開連接;(8)裸數據流服務器的服務端收到結束會話請求或者連接斷開的消息后釋放資源。推流服務器、裸數據流服務器和拉流服務器共享解碼后的數據,使得整個系統一條流只需要解碼一次即可,解決解碼后數據共享的問題,減少整個系統平臺帶來的性能消耗,從而帶來整體性能的提升。作為優選,裸數據流服務器作為服務端監聽推流客戶端和拉流客戶端的請求,推流客戶端和拉流客戶端與服務端建立TCP長連接后,使用心跳來維持長連接;裸數據指的是數據解碼后數據,可以是視頻、音頻以及字幕中的一種或多種,每個數據包中都包含時間戳,裸數據流服務器提供數據共享服務;在創建會話時必須指定流名稱,用于標識不同的流,只有流名稱相同的流才能共享流數據;服務端負責將從推流客戶端接收到的數據根據時間戳轉發給拉流客戶端。作為優選,在步驟(2)中,建立推流會話的步驟如下:(21)通過TCP連接到裸數據流服務器,實時接收來自裸數據流服務器的控制消息以及主動請求的響應消息;(22)連接建立后,立即發送創建推流會話的控制消息建立會話,收到建立成功的響應消息后,即表示推流會話已建立;否則可以繼續重試,直到成功或者重試幾次后失敗。作為優選,在步驟(5)中,建立拉流會話的步驟如下:(51)通過TCP連接到裸數據流服務器,實時接收來自裸數據流服務器的控制消息以及主動請求的響應消息;(52)連接建立后,立即發送創建拉流會話的控制消息建立會話,收到建立成功的響應消息后,即表示拉流會話已建立;否則可以繼續重試,直到成功或者重試幾次后失敗。作為優選,在步驟(6)中,如果服務端有延時控制,則數據將根據當前時間延時后再發送給拉流客戶端;如果數據由于網絡原因無法及時發送,則必須進行丟包處理。作為優選,定義好的協議標準指的是消息,而消息是傳輸的最小邏輯單位,消息的格式包括消息頭、消息類型、消息數據長度和消息數據內容,其中消息類型包括控制消息和數據消息,控制消息用于控制會話及狀態,而數據消息是傳送的實際的媒體數據。作為優選,控制消息分為請求消息和響應消息,其中請求消息的格式包括消息ID、請求類型、請求參數長度和請求參數內容,其中請求類型包括心跳請求、創建推流會話請求、創建拉流會話請求、結束會話請求、開始推流請求和停止推流請求;響應消息的格式包括請求消息格式中的消息ID、響應命令和返回碼。作為優選,數據消息包括數據類型、時間戳、元數據長度、數據長度、元數據內容和數據內容,其中數據類型包括視頻、音頻以及字幕。作為優選,推流客戶端可以有多個,每個推流客戶端對應不同的數據源,但是當前只有一個推流客戶端在推流,裸數據流服務器可以通過開始推流和結束推流命令控制推流客戶端從而達到切換流的效果;由于多個數據源可能存在分辨率不一樣的情況,所以每幀數據都必須包含相應的信息,以便推流客戶端根據不同分辨率進行處理。作為另一種優選,推流客戶端可以有多個,每個推流客戶端均為相同的數據源,其中一個推流客戶端為主用推流客戶端,其他推流客戶端為備用推流客戶端,裸數據流服務器通過自動檢測當前主用推流客戶端的狀態是否正常來自動切換備用推流客戶端,當主用推流客戶端無數據或者連接斷開時自動切換到備用推流客戶端。本專利技術的有益效果是:整個系統一條流只需要解碼一次即可,解決解碼后數據共享的問題,減少整個系統平臺帶來的性能消耗,從而帶來整體性能的提升。附圖說明圖1是本專利技術的基本方法流程圖;圖2是本專利技術的多源切換方法流程圖;圖3是本專利技術的主備切換方法流程圖;圖4是本專利技術的延時方法流程圖。具體實施方式下面結合附圖和具體實施方式對本專利技術做進一步的描述。如圖1所述的實施例中,一種視頻數據的共享方法,裸數據流服務器作為服務端監聽推流客戶端和拉流客戶端的請求,推流客戶端和拉流客戶端與服務端建立TCP長連接后,使用心跳來維持長連接;裸數據指的是數據解碼后數據,可以是視頻、音頻以及字幕中的一種或多種,每個數據包中都包含時間戳,裸數據流服務器提供數據共享服務;在創建會話時必須指定流名稱,用于標識不同的流,只有流名稱相同的流才能共享流數據;服務端負責將從推流客戶端接收到的數據根據時間戳轉發給拉流客戶端;具體包括如下步驟:(1)裸數據流服務器啟動服務,并等待推流客戶端和拉流客戶端連接;(2)推流客戶端依照定義好的協議標準與裸數據流服務器建立推流會話;建立推流會話的步驟如下:(21)通過TCP連接到裸數據流服務器,實時接收來自裸數據流服務器的控制消息以及主動請求的響應消息;(22)連接建立后,立即發送創建推流會話的控制消息建立會話,收到建立成功的響應消息后,即表示推流會話已建立;否則可以繼續重試,直到成功或者重試幾次后失敗;(3)推流客戶端讀取視頻流進行解碼或其他處理,并將解碼或處理后的裸數據封裝成數據消息發送到裸數據流服務器;其他處理,指的是有些推流客戶端可以在解碼后,對數據進行一些處理,如縮放、加個圖片等,然后再將這個數據發給裸數據流服務器;(4)本文檔來自技高網...

    【技術保護點】
    1.一種視頻數據的共享方法,其特征是,具體包括如下步驟:/n(1)裸數據流服務器啟動服務,并等待推流客戶端和拉流客戶端連接;/n(2)推流客戶端依照定義好的協議標準與裸數據流服務器建立推流會話;/n(3)推流客戶端讀取視頻流進行解碼,并將解碼或處理后的裸數據封裝成數據消息發送到裸數據流服務器;/n(4)裸數據流服務器接收到推流服務器推上來的流,存放在裸數據流服務器的內存中;/n(5)拉流客戶端依照定義好的協議標準與裸數據流服務器建立拉流會話;/n(6)裸數據流服務器將接收到的數據,分發給各個拉流客戶端;/n(7)處理結束后,推流客戶端和拉流客戶端發送結束會話的請求,并斷開連接;/n(8)裸數據流服務器的服務端收到結束會話請求或者連接斷開的消息后釋放資源。/n

    【技術特征摘要】
    1.一種視頻數據的共享方法,其特征是,具體包括如下步驟:
    (1)裸數據流服務器啟動服務,并等待推流客戶端和拉流客戶端連接;
    (2)推流客戶端依照定義好的協議標準與裸數據流服務器建立推流會話;
    (3)推流客戶端讀取視頻流進行解碼,并將解碼或處理后的裸數據封裝成數據消息發送到裸數據流服務器;
    (4)裸數據流服務器接收到推流服務器推上來的流,存放在裸數據流服務器的內存中;
    (5)拉流客戶端依照定義好的協議標準與裸數據流服務器建立拉流會話;
    (6)裸數據流服務器將接收到的數據,分發給各個拉流客戶端;
    (7)處理結束后,推流客戶端和拉流客戶端發送結束會話的請求,并斷開連接;
    (8)裸數據流服務器的服務端收到結束會話請求或者連接斷開的消息后釋放資源。


    2.根據權利要求1所述的一種視頻數據的共享方法,其特征是,裸數據流服務器作為服務端監聽推流客戶端和拉流客戶端的請求,推流客戶端和拉流客戶端與服務端建立TCP長連接后,使用心跳來維持長連接;裸數據指的是數據解碼后數據,可以是視頻、音頻以及字幕中的一種或多種,每個數據包中都包含時間戳,裸數據流服務器提供數據共享服務;在創建會話時必須指定流名稱,用于標識不同的流,只有流名稱相同的流才能共享流數據;服務端負責將從推流客戶端接收到的數據根據時間戳轉發給拉流客戶端。


    3.根據權利要求2所述的一種視頻數據的共享方法,其特征是,在步驟(2)中,建立推流會話的步驟如下:
    (21)通過TCP連接到裸數據流服務器,實時接收來自裸數據流服務器的控制消息以及主動請求的響應消息;
    (22)連接建立后,立即發送創建推流會話的控制消息建立會話,收到建立成功的響應消息后,即表示推流會話已建立;否則可以繼續重試,直到成功或者重試幾次后失敗。


    4.根據權利要求2所述的一種視頻數據的共享方法,其特征是,在步驟(5)中,建立拉流會話的步驟如下:
    (51)通過TCP連接到裸數據流服務器,實時接收來自裸數據流服務器的控制消息以及主動請求的響應消息;
    (52)連接建立后,立即發送創建拉流會話的控制消息建立會話,收到建立...

    【專利技術屬性】
    技術研發人員:李妃軍許勇進陳勇裘昊文志平
    申請(專利權)人:杭州當虹科技股份有限公司
    類型:發明
    國別省市:浙江;33

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 一级片无码中文字幕乱伦| 乱人伦中文无码视频在线观看| 99久久亚洲精品无码毛片| 久久国产亚洲精品无码 | 久久亚洲中文无码咪咪爱| 日韩放荡少妇无码视频| 一区二区三区无码视频免费福利| 亚洲AV无码一区二区二三区软件| 国产精品无码一区二区三区不卡| 国产成人AV片无码免费| 免费无遮挡无码永久在线观看视频 | 久久99精品久久久久久hb无码| 麻豆人妻少妇精品无码专区| 亚洲美免无码中文字幕在线| 免费a级毛片无码av| 色欲aⅴ亚洲情无码AV蜜桃| 无码视频一区二区三区在线观看| 免费看无码特级毛片| 97碰碰碰人妻视频无码| 日韩精品人妻系列无码专区| 亚洲一区二区三区AV无码| 亚洲精品无码久久毛片| 国产精品亚洲一区二区无码| 无码一区二区三区AV免费| 精品亚洲AV无码一区二区三区| 亚洲av永久无码精品国产精品| 久久久久亚洲av成人无码电影| 精品久久久无码中文字幕边打电话| 精品无码一区二区三区爱欲| 亚洲AV无码不卡在线播放| 亚洲欧洲美洲无码精品VA| 亚洲日韩中文无码久久| 亚洲精品无码久久久久sm| 国产精品无码日韩欧| 亚洲av无码一区二区三区网站 | 蜜桃AV无码免费看永久| 人妻丰满AV无码久久不卡| 久久久久久国产精品无码超碰 | 少妇无码AV无码专区在线观看| 亚洲AV无码AV男人的天堂| 麻豆aⅴ精品无码一区二区|