System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于流媒體,具體涉及一種針對持續增長視頻文件的高效直播流分發方法。
技術介紹
1、隨著網絡技術的飛速發展和高清視頻內容的普及,直播服務已成為人們日常生活中不可或缺的一部分。然而,在直播服務中,視頻文件持續增長的特點給直播流分發系統帶來了巨大挑戰。傳統直播流分發系統在面對大規模并發請求和視頻文件持續增長時,往往存在處理速度慢、響應時間長、資源占用高等問題。這些問題不僅影響了直播的流暢度和實時性,還增加了運營成本,限制了直播服務的發展。
2、同類技術中,盡管已經存在多種直播流分發方案,但大多未能有效解決持續增長視頻文件的分發問題。一些系統采用簡單的輪詢或推送機制,無法根據視頻文件的實際增長情況和網絡狀況進行動態調整,導致分發效率低下。另一些系統則過于復雜,需要高昂的硬件投入和復雜的配置管理,不利于大規模部署和運維。
技術實現思路
1、鑒于以上存在的問題,本專利技術提供一種針對持續增長視頻文件的高效直播流分發方法,通過引入校驗、標記、監聽等待、數據讀取、配置、隊列和數據發送等功能,實現了對持續增長視頻文件的高效、實時分發。
2、為解決上述技術問題,本專利技術采用如下的技術方案:
3、一種針對持續增長視頻文件的高效直播流分發方法,應用于包括直播流請求客戶端和直播流服務端的直播流分發系統,所述直播流服務端進一步包括校驗模塊、標記模塊、監聽等待模塊、數據讀取模塊、配置模塊、視頻文件、隊列模塊和數據發送模塊,所述視頻文件持續增長且文件名稱以直播流標識
4、設置配置模塊進行參數配置;
5、設置標記模塊進行變量聲明,所述變量包括數據讀取線程集合、直播流標識是否正在被讀取的標識位、直播流標識的請求客戶端集合;
6、設置直播流請求客戶端進行直播流請求;
7、設置校驗模塊進行直播流標識有效性和合法性校驗;
8、設置標記模塊創建直播流標識對應的數據讀取線程,標記模塊存儲所述創建的數據讀取線程信息,標記讀取直播流標識為正在讀取中,同時存儲當前請求的直播流標識的客戶端信息;
9、設置監聽等待模塊創建監聽進行客戶端連接的保持,并以是否正在讀取中作為監聽中斷條件,循環等待;
10、設置數據讀取模塊在隊列模塊中創建直播流標識對應的獨立的先進先出隊列,數據讀取模塊向配置模塊獲取配置信息;
11、設置數據讀取模塊創建直播流標識對應的數據發送線程;數據讀取模塊以標記模塊中的“直播流是否正在被讀取”作為中斷條件,以配置模塊中的“讀取視頻文件頻率”作為時間間隔進入循環等待狀態,進行循環等待過程執行;
12、循環結束后從標記模塊中移除該直播流標識對應的線程信息;
13、數據發送模塊以“直播流是否正在被讀取”作為中斷條件,以配置模塊中的“發送數據的頻率”作為時間間隔進入循環,進行循環執行;
14、基于客戶端連接發送數據包。
15、一種可能的實施方式中,所述進行參數配置的參數包括讀取視頻文件的頻率、每次讀取視頻文件的大小、視頻文件無變化的超時時間、隊列最大值和發送數據的頻率。
16、一種可能的實施方式中,所述數據讀取模塊向配置模塊獲取的配置信息包括:讀取視頻文件的頻率、每次讀取視頻文件的大小、視頻文件無變化的超時時間和隊列最大值。
17、一種可能的實施方式中,所述循環等待過程執行包括以下步驟:
18、獲取最新的數據包信息:包括索引位置、讀取數據包的時間,如果是第一次執行此循環步驟,索引位置則以當前文件的大小減去配置的“數據包大小”為開始,讀取數據包的時間則取當前系統時間;
19、以當前系統時間與最新的數據包的時間差作為依據,判斷是否超過配置的“視頻文件無變化的超時時間”,如果超時:調用標記模塊將當前直播流設置為未讀,結束相關循環;
20、如果沒有超時,按照索引位置和數據包大小讀取視頻文件的內容;獲取隊列模塊中的當前隊列大小,將當前隊列大小加上本次讀取的內容作為依據,判斷是否超過配置的“隊列最大值”,如果超過:清空當前隊列;更新最新的數據包信息,包括索引位置和讀取數據包的時間,索引位置為上一次的索引位置加上當前讀取到的文件大小,數據包時間則為當前系統時間。
21、一種可能的實施方式中,所述循環執行包括以下步驟:
22、獲取隊列模塊中的第一個數據包;
23、獲取標記模塊中的已創建的客戶端連接信息;
24、判斷客戶端數量,如果為空:調用標記模塊將當前直播流設置為未讀,用于結束相關循環;
25、如果不為空,復用獲取到的數據包對每個請求對應直播流的客戶端進行數據發送,即響應至直播流請求客戶端,如果某個客戶端發送失敗則調用標記模塊將對應客戶端移除。
26、采用本專利技術具有如下的有益效果:
27、(1)提高處理速度和響應能力:通過復用數據包,實現對持續增長視頻文件的快速處理和實時分發,減少用戶等待時間,提升用戶體驗。
28、(2)降低資源占用:通過智能的資源調度和管理機制,使單個直播流只有一個線程在讀取視頻文件,合理了分配系統資源,降低硬件投入和能耗,減少運營成本。
29、(3)增強可擴展性和穩定性:采用模塊化設計和靈活的配置策略,能夠輕松應對業務增長和變化,同時保證系統的穩定性和可靠性。
本文檔來自技高網...【技術保護點】
1.一種針對持續增長視頻文件的高效直播流分發方法,其特征在于,應用于包括直播流請求客戶端和直播流服務端的直播流分發系統,所述直播流服務端進一步包括校驗模塊、標記模塊、監聽等待模塊、數據讀取模塊、配置模塊、視頻文件、隊列模塊和數據發送模塊,所述視頻文件持續增長且文件名稱以直播流標識命名,包括以下步驟:
2.如權利要求1所述的針對持續增長視頻文件的高效直播流分發方法,其特征在于,所述進行參數配置的參數包括讀取視頻文件的頻率、每次讀取視頻文件的大小、視頻文件無變化的超時時間、隊列最大值和發送數據的頻率。
3.如權利要求2所述的針對持續增長視頻文件的高效直播流分發方法,其特征在于,所述數據讀取模塊向配置模塊獲取的配置信息包括:讀取視頻文件的頻率、每次讀取視頻文件的大小、視頻文件無變化的超時時間和隊列最大值。
4.如權利要求2所述的針對持續增長視頻文件的高效直播流分發方法,其特征在于,所述循環等待過程執行包括以下步驟:
5.如權利要求2所述的針對持續增長視頻文件的高效直播流分發方法,其特征在于,所述循環執行包括以下步驟:
【技術特征摘要】
1.一種針對持續增長視頻文件的高效直播流分發方法,其特征在于,應用于包括直播流請求客戶端和直播流服務端的直播流分發系統,所述直播流服務端進一步包括校驗模塊、標記模塊、監聽等待模塊、數據讀取模塊、配置模塊、視頻文件、隊列模塊和數據發送模塊,所述視頻文件持續增長且文件名稱以直播流標識命名,包括以下步驟:
2.如權利要求1所述的針對持續增長視頻文件的高效直播流分發方法,其特征在于,所述進行參數配置的參數包括讀取視頻文件的頻率、每次讀取視頻文件的大小、視頻文件無變化的超時時間、...
【專利技術屬性】
技術研發人員:代存折,石小明,吳奕剛,孫彥龍,
申請(專利權)人:杭州當虹科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。