[發明專利]基于P2P技術的直播時移系統及其方法有效
| 申請號: | 201010127346.X | 申請日: | 2010-03-19 |
| 公開(公告)號: | CN101795297A | 公開(公告)日: | 2010-08-04 |
| 發明(設計)人: | 劉懷宇;歐陽定恒 | 申請(專利權)人: | 北京天天寬廣網絡科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;H04N7/173;H04N7/24 |
| 代理公司: | 北京清亦華知識產權代理事務所(普通合伙) 11201 | 代理人: | 廖元秋 |
| 地址: | 100007 北京市東城區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 p2p 技術 直播 系統 及其 方法 | ||
1.一種基于P2P技術的直播時移系統,包括設置在服務器端的編碼服務器、直 播服務器和控制服務器;其特征在于,
編碼服務器:用于從直播信號源接收經過直播視頻數據流,將直播視頻數據流分拆為 固定大小的直播視頻數據包,并為每個直播視頻數據包中增加頻道號和時間信息;
直播服務器:用于直播和存儲某個頻道的直播視頻數據包;并向多個客戶端同時提供 直播視頻,或提供直播時移視頻;
控制服務器:用于處理客戶端發出的視頻請求,為客戶端提供視頻數據的存儲信息; 該控制服務器設置有直播信息列表,直播時移信息列表,每個直播頻道的節目單;直播信 息列表中包含直播頻道與該直播頻道的服務器信息,以及當前收看該直播頻道的客戶端的 信息列表;當客戶端停止收看直播視頻時,控制服務器將清除直播信息列表中該客戶端的 記錄;直播時移信息列表中包含直播頻道與存儲了該直播頻道視頻數據的直播服務器,以 及客戶端的信息列表,只要直播服務器或客戶端存儲有視頻數據,則控制服務器將直播服 務器或客戶端的記錄保留在直播時移信息列表中。
2.一種基于P2P技術的直播時移方法,其特征在于,包括以下步驟:
1)服務器端的編碼服務器從直播視頻數據源接收直播視頻數據流,首先將直播視頻 數據流分割為固定大小的直播視頻數據包,然后為每個直播視頻數據包添加直播頻道信息 和時間信息;
編碼服務器將編碼后的直播視頻數據包分發給直播服務器,并向控制服務器發出當前 編碼的直播頻道、當前接收直播視頻數據包的直播服務器信息、以及編碼重啟或編碼故障 控制信息;
2)服務器端的直播服務器建有一個內存緩沖區,服務器端的內存緩沖區大小設置為 存儲固定時間長度的直播視頻數據包;直播服務器持續從編碼服務器獲得直播視頻數據 包,并寫入該服務器端的內存緩沖區,當直播服務器的內存緩沖區被占滿后,時間最早的 直播視頻數據包被丟棄,空余出的存儲緩沖區被用來放置時間最新的直播視頻數據包;
直播服務器同時建有一個磁盤存儲空間,直播服務器將放置到服務器端內存緩沖區的 直播視頻數據包,按照規定的時間間隔寫入在磁盤存儲空間中,并且在寫入磁盤緩沖區之 前,清除每個單獨直播視頻數據包的直播頻道信息和時間信息,將把一個時間間隔寫磁盤 存儲空間的所有直播視頻數據包合并為一個直播視頻數據文件;將直播視頻數據文件的頻 道信息和時間信息作為視頻數據文件的文件名稱,并將該視頻數據文件的頻道信息和時間 信息提交給控制服務器;該頻道信息和時間信息作為該視頻數據文件的唯一標識信息;
直播服務器使用內存緩沖區中的直播視頻數據包提供P2P直播服務,或使服務器端的 內存緩沖區中的直播視頻數據包提供直播服務器的內存緩沖區時間長度范圍之內的直播 時移服務,或用磁盤存儲空間上存儲的直播視頻內容提供超過直播服務器的內存緩沖區時 間長度的直播時移服務;
3)客戶端申請收看視頻數據時,客戶端首先向服務器端的控制服務器發送視頻請求, 視頻請求中包含了頻道信息和時間信息;根據客戶端請求的視頻開始時間以及直播服務器 的內存緩沖區大小,控制服務器將視頻數據的存儲信息返回給客戶端,客戶端按照存儲信 息與直播服務器或其他客戶端建立數據鏈路,通過建立的數據鏈路獲得視頻數據。
3.如權利要求2所述的方法,其特征在于,所述步驟3)根據客戶端請求的視頻開始 時間以及直播服務器的內存緩沖區大小,控制服務器將視頻數據的存儲信息返回給客戶 端,客戶端按照存儲信息與直播服務器或其他客戶端建立數據鏈路,通過建立的數據鏈路 獲得視頻數據;具體包括以下三種情況:
情況(1)客戶端申請的直播視頻的播放起始時間為當前時間:
控制服務器首先計算當前時間與客戶請求的直播視頻起始時間的差,若差值為0,則 客戶端的請求為直播視頻請求,控制服務器查詢直播信息列表,并將當前發布直播頻道的 直播服務器和當前收看直播頻道的其他客戶端的地址信息列表發送給客戶端,客戶端與列 表中的直播服務器以及當前接收直播視頻數據包的其他客戶端建立數據鏈接,接收直播視 頻數據包;
客戶端內建有一個內存緩沖區,一個磁盤緩沖區,并建有一個對照表;客戶端在接收 直播視頻數據包時,將直播視頻數據包放入客戶端的內存緩沖區內,同時將直播視頻數據 包寫入磁盤緩沖區;每個直播視頻數據包寫入磁盤緩沖區后,客戶端在對照表中增加一條 記錄,記錄直播視頻數據包的頻道信息、時間信息和在磁盤緩沖區內的存儲信息;
客戶端在將直播視頻數據包寫入磁盤緩沖區時,使用與直播服務器存儲直播視頻數據 相同的命名規則,并在后面增加包的序號;客戶端在將直播視頻數據包寫入磁盤緩沖區時 還要對每個直播視頻文件進行校驗,并將校驗結果放在直播視頻文件后面,當其他客戶端 從該客戶端接收直播視頻數據文件時,如果校驗結果與直播視頻文件的校驗結果不同,則 丟棄該直播視頻文件;
客戶端將直播視頻數據文件寫入磁盤緩沖區中后的存儲情況提交給控制服務器;
當客戶端停止收看直播視頻時,客戶端中斷所有直播視頻數據包的傳輸數據鏈路,清 除客戶端的內存緩沖區內的直播視頻數據包,刪除對照表;
情況(2)客戶端申請的直播視頻的播放起始時間小于當前時間,大于當前時間減去 直播服務器的內存緩沖區的時間長度數值的時間:
控制服務器首先計算當前時間與客戶請求的直播視頻的播放起始時間的差,如果請求 的直播視頻的播放起始時間小于當前時間,并且大于當前時間減去直播服務器內存緩沖區 的時間長度數值;則控制服務器判斷該請求是一個直播服務器內存緩沖區范圍內的直播時 移視頻請求;客戶端申請的直播視頻數據包存在于直播服務器的內存緩沖區中,并且當前 收看相同頻道的其他客戶終端中存儲了這些直播視頻數據包;控制服務器查詢直播信息列 表,然后將當前直播該頻道的直播服務器和當前收看該直播頻道的其他客戶端的連接信息 發送給客戶端,客戶端與該直播服務器和其他客戶端建立數據鏈接,獲得時移時間小于直 播服務器的內存緩沖區的時間長度數值的直播時移視頻數據包;
客戶端在收看時移時間小于直播服務器的內存緩沖區的時間長度數值的直播時移視 頻時,也建立內存緩沖區、磁盤緩沖區和對照表,并與所述情況(1)中的客戶端一樣完 成文件存儲工作、文件校驗工作和存儲信息提交工作;
情況(3)客戶端申請的直播視頻的播放起始時間小于當前時間減去直播服務器的內 存緩沖區數值的時間:
控制服務器計算當前時間與客戶請求的直播視頻的播放起始時間的差,如果請求的直 播視頻的播放起始時間小于當前時間減去直播服務器內存緩沖區的時間長度數值;則控制 服務器判斷該請求是一個直播服務器內存緩沖區范圍外的直播時移視頻請求;客戶端申請 的直播視頻數據包只存在于直播服務器的磁盤存儲區中和存儲了這些直播視頻文件的其 他客戶終端磁盤緩沖區中;控制服務器查詢直播時移信息列表,然后將存儲了這些直播視 頻文件的直播服務器和其他客戶端的連接信息發送給客戶端,客戶端與上述服務器和其他 客戶端建立數據鏈接,獲得時移時間大于60分鐘的直播時移視頻數據包;
客戶端在收看時移時間大于60分鐘的直播時移視頻時,也建立內存緩沖區、磁盤緩 沖區;客戶端的內存緩沖區、磁盤緩沖區的工作原理與(1)中描述的客戶端的工作相同, 區別是客戶端收看的是時移時間大于直播服務器的內存緩沖區的時間長度數值的直播時 移視頻,直播視頻數據是以直播視頻文件方式傳輸;當該客戶端收看直播時移視頻時,客 戶端與情況(1)中的客戶端一樣完成文件存儲工作、文件校驗工作和存儲信息提交工作;
客戶端按照文件方式下載相應的直播視頻文件,在播放的同時,將直播視頻文件存儲 在磁盤緩沖區內;當該客戶端停止收看直播時移視頻時,客戶端向控制服務器提交存儲信 息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京天天寬廣網絡科技有限公司,未經北京天天寬廣網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010127346.X/1.html,轉載請聲明來源鉆瓜專利網。





