[發明專利]一種網絡流媒體的幀數據獲取方法有效
| 申請號: | 201610101921.6 | 申請日: | 2016-02-24 |
| 公開(公告)號: | CN105681322B | 公開(公告)日: | 2019-08-23 |
| 發明(設計)人: | 林嘉;李成偉;何莉 | 申請(專利權)人: | 清德智體(北京)科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 北京方圓嘉禾知識產權代理有限公司 11385 | 代理人: | 董芙蓉 |
| 地址: | 100000 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 網絡 流媒體 幀數 獲取 方法 | ||
本發明公開一種網絡流媒體的幀數據獲取方法,同時兼容使用TCP和UDP兩種傳輸協議接收到的流媒體數據;還為圖像幀設置了FrameMarker屬性,用于記錄其保存于存儲體時的存儲位置,以支持圖像數據在記憶體和存儲體之間的轉移。采用本發明的技術方案,能支持多種通訊協議和數據內容的數據存儲結構,以及在其基礎上獲取流媒體幀數據,并進行結構化存儲。
技術領域
本發明屬于網絡流媒體技術領域,尤其涉及一種網絡流媒體的幀數據獲取方法。
背景技術
目前市售網絡攝像頭輸出的音視頻信號常采用H.264/AVC格式進行壓縮,壓縮后的信號內容常采用RTP協議將轉換為適合于通過網絡進行實時傳輸的流媒體數據包。這種流媒體傳輸方式被稱為H264Over RTP或AVC/RTP。
在進行AVC/RTP傳輸時,常采用的傳輸協議有TCP和UDP兩種。TCP協議有利于保持數據的完整性,UDP協議則可支持組播和多播,二者各有其更適合的應用場合。
通過TCP協議傳輸的數據和通過UDP協議傳輸的數據在操作系統(安卓)轉發給應用程序時具有不同的數據形式。通過UDP協議傳輸的數據應用程序在接收到時仍具有很好的IP包獨立性,通過不同IP包發送的數據應用程序在接收到時也保存在不同的數據包中。通過TCP協議傳輸的數據在操作系統層被解讀為流數據,應用程序在接收到時已經無法辨認IP包邊界,接收到的只有數據塊。這給應用程序進行后續數據解析增加了困難。
發明內容
本發明要解決的技術問題是,提供一種對網絡流媒體數據進行獲取方法,能支持多種通訊協議和數據內容的數據存儲結構,以及在其基礎上獲取流媒體幀數據,并進行結構化存儲。
為解決上述問題,本發明采用如下的技術方案:
一種網絡流媒體的幀數據獲取方法,其包括以下步驟:
步驟S1、獲取TCP協議傳輸的圖像數據流
具體獲取過程如下:
獲取TCP數據塊;
尋找數據包起始標記;
讀取跟隨起始標記2字節,獲得數據包長度;
判斷字節數組剩余長度是否大于該單元長度,若剩余數據量不夠,則繼續等待下一字節數據到達;
數據量充足后,跳至數據單元結尾,檢查其后跟隨的數據是否是另一數據單元起始標志或其他可表征數據截止的標記;
若是則尋找數據單元邊界成功,若為否則從原位置向后繼續尋找下一起始標識;
獲取數據單元邊界后,按照RFC3550文檔規定的數據格式解析出幀類型、時間簽、單元序號數據,其中,具有相同幀類型和時間簽的圖像單元從屬于同一圖像幀,其單元序號標識了它們在幀內的排序關系;
步驟S2、獲取UDP協議傳輸的圖像數據流
除無需尋找單元起始標記0x24 0x00和驗證單元結尾外,后續方法與步驟S1中獲取TCP協議傳輸的圖像數據流處理過程相同。
作為優選,所述圖像數據流的數據格式中設置FrameMarker屬性,用于記錄其保存于存儲體時的存儲位置,以支持圖像數據在記憶體和存儲體之間的轉移。
本發明針對采用TCP協議或UDP協議傳輸的視頻/音頻/控制數據設計統一的數據存儲格式;針對TCP協議或UDP協議傳輸的流媒體信息設計獲取算法,以將其存儲于上述格式內;利用該數據結構在記憶體(Memory,如內存等)和存儲體(Storage,如硬盤、機身存儲等)之間轉移數據。采用本發明的技術方案,實現圖像數據對TCP協議和UDP協議的兼容,以及在存儲體和記憶體間的數據轉移。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清德智體(北京)科技有限公司,未經清德智體(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610101921.6/2.html,轉載請聲明來源鉆瓜專利網。





