視頻通話系統和視頻通話中切換解析度的方法與流程
2023-06-15 09:16:11 3

本發明涉及一種通訊領域,尤其涉及一種視頻通話中切換解析度的實現方法。
背景技術:
隨著通訊的發展,視頻通話越來越普及。能夠進行視頻通話的終端設備有很多,如常見的電腦、手機、智能電視、電視盒子等。對於類似電視盒子的終端,如果終端沒有自帶攝像頭,要進行視頻通話時就要另外配置一個攝像頭。現在的設備接口都是標準規範,如攝像頭與電視盒子一般是通過USB接口進行聯接。終端生產廠家多,攝像頭生產廠家也多,技術參差不齊,導致在電氣性能、接口規範上存在很大差異。這就產生了適配問題。
目前遇到的問題是,電視盒子等終端有時無法正常採集到攝像頭在某一解析度的視頻數據,在視頻通話時,如果攝像頭正好選擇了不能正常被終端採集的解析度,就會導致終端無法顯示畫面,給用戶帶來很大的困擾,以為設備出了問題,影響用戶體驗。
技術實現要素:
本發明的目的在於克服現有技術中存在的不足,提供一種視頻通話系統,以及視頻通話中切換解析度的方法,智能切換攝像頭不能正常採集與顯示的解析度畫面,給用戶帶來新的方便。本發明採用的技術方案是:
一種視頻通話系統,該視頻通話系統的視頻通話終端中設有解析度異常檢測與切換模塊;
所述的解析度異常檢測與切換模塊,包含以下子模塊:
攝像頭初始化測模塊,用於初始化攝像頭,調用異常解析度檢測模塊檢測攝像頭當前解析度的視頻數據是否正常採集,依據檢測結果決定是否進行攝像頭解析度切換;當檢測結果表明攝像頭當前解析度的視頻數據無法正常採集,則調用解析度適配模塊,選擇不同於當前解析度的另一解析度作為初始化攝像頭的參數;
異常解析度檢測模塊,用於檢測攝像頭當前解析度的視頻數據是否正常採集;
解析度獲取模塊,獲取攝像頭支持的所有解析度;
解析度適配模塊,從攝像頭支持的解析度中,刪除已知的異常解析度,根據設置選取一個合適的解析度;
檢測設置模塊,供用戶修改異常解析度檢測的設置。
一種視頻通話中切換解析度的方法,適用於上述視頻通話系統,包括:
攝像頭初始化測模塊進行攝像頭初始化的方法,包括以下步驟:
步驟301,開始;
步驟302,設置解析度畫面檢測標誌;
步驟302,清除已檢測次數;
步驟304,清除解析度正常標誌;
步驟305,獲取解析度參數,以該解析度參數打開攝像頭;
步驟306,判斷攝像頭是否成功打開,是,轉步驟307,否,轉步驟313;
步驟307,判斷解析度畫面檢測標誌,是否檢測結束,是,轉步驟310,否轉步驟308;
步驟308,獲取攝像頭的視頻數據到緩衝區;
步驟309,調用異常解析度檢測模塊,將緩衝區的視頻數據作為參數,進行解析度對應視頻數據的檢測;轉步驟307;
步驟310,判斷解析度正常標誌,當前解析度的視頻數據是否能正常採集,是,轉步驟314,否,轉步驟311;
步驟311,調用解析度適配模塊,選擇一個不同於當前解析度的另一個解析度作為初始化攝像頭的參數;
步驟312,關閉攝像頭,轉步驟302;
步驟313,關閉攝像頭;
步驟314,結束。
進一步地,步驟309中,調用異常解析度檢測模塊,進行解析度對應視頻數據的檢測的方法如下:
步驟401,開始;
步驟402,讀取視頻數據參數緩衝區;
步驟403,讀取設置中的需要檢測次數;
步驟404,判斷當前已檢測次數,是否大於等於需要檢測次數,是,轉步驟408,否,轉步驟405;
步驟405,已檢測次數加1;
步驟406,判斷視頻數據緩存區中,是否有數據發生變化,是,轉步驟407,否,轉步驟410;
步驟407,設置解析度正常標誌,轉步驟409;
步驟408,清除解析度正常標誌;
步驟409,清除解析度畫面檢測標誌;
步驟410,結束。
進一步地,步驟311中,調用解析度適配模塊進行解析度適配的方法如下:
步驟501,開始;
步驟502,獲取當前解析度參數;
步驟503,獲取攝像頭支持的解析度列表;
步驟504,對解析度列表進行排序;
步驟505,將已知的異常解析度,從解析度列表中刪除;
步驟506,讀取設置的解析度適配條件;
步驟507,判斷解析度適配條件,是否選擇大於當前解析度,是,轉步驟508,否,轉步驟509;
步驟508,從大於當前解析度的解析度中,選擇最小的解析度;轉步驟510;
步驟509,從小於當前解析度的解析度中,選擇最大的解析度;
步驟510,將選中的解析度作為當前解析度參數;
步驟511,結束。
進一步地,本發明還包括利用檢測設置模塊進行異常解析度檢測設置的方法,包括以下步驟:
步驟701,開始;
步驟702,收到用戶進行異常解析度檢測設置的命令;
步驟703,顯示異常解析度檢測設置界面,提示用戶進行操作;異常解析度檢測設置界面中包括檢測次數和解析度適配條件;
步驟704,判斷用戶是否執行設置操作,是,轉步驟705,否,轉步驟707;
步驟705,判斷設置是否發生變化,是,轉步驟706,否,轉步驟707;
步驟706,保存異常解析度檢測設置;
步驟707,隱藏異常解析度檢測設置界面;
步驟708,結束。
本發明的優點在於:應用本發明,視頻通話中,當前設置的解析度無法正常顯示畫面時,及時檢測當前解析度的視頻數據是否正常採集,根據檢測結果切換到正確的攝像頭解析度,避免給用戶帶來不必要的困擾,從來給使用者帶來更好的視頻通話體驗。
附圖說明
圖1為本發明的視頻通話系統結構示意圖。
圖2為本發明的解析度異常檢測與切換模塊結構示意圖。
圖3為本發明的攝像頭初始化流程圖。
圖4為本發明的攝像頭視頻數據的檢測流程圖。
圖5為本發明的解析度適配模塊進行解析度適配流程圖。
圖6為本發明的異常解析度檢測設置的界面示意圖。
圖7為本發明的異常解析度檢測設置的流程圖。
具體實施方式
下面結合具體附圖和實施例對本發明作進一步說明。
(一)視頻通話中切換解析度的方法,用於一種視頻通話系統,該視頻通話系統包括:
視頻通話伺服器101和視頻通話終端111;其中:
視頻通話伺服器101用於接受用戶登錄,接收各視頻通話終端111發來的數據,並向各終端發送請求的數據;
視頻通話終端111用於用戶登錄,錄製、發送、接收、播放音頻視頻數據,具有智能切換不能顯示的解析度功能;視頻通話終端111可以有多個;
進一步的,視頻通話伺服器101,包含以下模塊:
終端接入模塊102,接收終端登錄請求;
帳號管理模塊103,保存終端帳號和終端登錄的數據;
數據服務模塊104,接收各終端發來的的數據,向終端發送請求的數據;
進一步的,視頻通話終端111,包含以下模塊:
登錄模塊112,登錄到視頻通話伺服器;
視頻錄製發送模塊113,負責錄製、發送視頻數據;
視頻接收播放模塊115,負責接收、播放視頻數據;
音頻錄製發送模塊114,負責錄製、發送音頻數據;
音頻接收播放模塊116,負責接收、播放音頻數據;
解析度異常檢測與切換模塊117,檢測攝像頭當前解析度的視頻數據是否正常採集,並進行對應的操作;
進一步的,本發明視頻通話終端的解析度異常檢測與切換模塊117,包含以下子模塊:
攝像頭初始化測模塊201,用於初始化攝像頭,調用異常解析度檢測模塊檢測攝像頭當前解析度的視頻數據是否正常採集,依據檢測結果決定是否進行攝像頭解析度切換;當檢測結果表明攝像頭當前解析度的視頻數據無法正常採集,則調用解析度適配模塊,選擇不同於當前解析度的另一解析度作為初始化攝像頭的參數;
異常解析度檢測模塊202,用於檢測攝像頭當前解析度的視頻數據是否正常採集;
解析度獲取模塊203,獲取攝像頭支持的所有解析度;
解析度適配模塊204,從攝像頭支持的解析度中,刪除已知的異常解析度,根據設置選取一個合適的解析度;
檢測設置模塊205,供用戶修改異常解析度檢測的設置。
(二)視頻通話中切換解析度的方法,具體包括:
如圖3所示,攝像頭初始化測模塊201進行攝像頭初始化的方法:
步驟301,開始;
步驟302,設置解析度畫面檢測標誌;
步驟302,清除已檢測次數;
步驟304,清除解析度正常標誌;
步驟305,獲取解析度參數,以該解析度參數打開攝像頭;
步驟306,判斷攝像頭是否成功打開,是,轉步驟307,否,轉步驟313;
步驟307,判斷解析度畫面檢測標誌,是否檢測結束,是,轉步驟310,否轉步驟308;
步驟308,獲取攝像頭的視頻數據到緩衝區;
步驟309,調用異常解析度檢測模塊,將緩衝區的視頻數據作為參數,進行解析度對應視頻數據的檢測;轉步驟307;
步驟310,判斷解析度正常標誌,當前解析度的視頻數據是否能正常採集,是,轉步驟314,否,轉步驟311;
步驟311,調用解析度適配模塊,選擇一個不同於當前解析度的另一個解析度作為初始化攝像頭的參數;
步驟312,關閉攝像頭,轉步驟302;
步驟313,關閉攝像頭;
步驟314,結束。
應用本發明,視頻通話中,檢測當前設置的解析度的視頻數據無法正常採集和顯示時,及時切換到正確的攝像頭解析度,避免給用來帶來不必要的困擾,從來給使用者帶來更好的視頻通話體驗。
如圖4所示,調用異常解析度檢測模塊,進行解析度對應視頻數據的檢測的方法如下:
步驟401,開始;
步驟402,讀取視頻數據參數緩衝區;
步驟403,讀取設置中的需要檢測次數;
步驟404,判斷當前已檢測次數,是否大於等於需要檢測次數,是,轉步驟408,否,轉步驟405;
步驟405,已檢測次數加1;
步驟406,判斷視頻數據緩存區中,是否有數據發生變化,是,轉步驟407,否,轉步驟410;
此步驟中,如果當前解析度的視頻數據能夠正常採集,則緩存區中的數據一定會變化;
步驟407,設置解析度正常標誌,轉步驟409;
步驟408,清除解析度正常標誌;
步驟409,清除解析度畫面檢測標誌;
步驟410,結束。
如圖5所示,解析度適配模塊進行解析度適配的方法如下(即步驟311的一種具體實現):
步驟501,開始;
步驟502,獲取當前解析度參數;
步驟503,獲取攝像頭支持的解析度列表;
步驟504,對解析度列表進行排序;
步驟505,將已知的異常解析度,從解析度列表中刪除;異常解析度是指該解析度的視頻數據不能正常採集;
步驟506,讀取設置的解析度適配條件;
步驟507,判斷解析度適配條件,是否選擇大於當前解析度,是,轉步驟508,否,轉步驟509;
步驟508,從大於當前解析度的解析度中,選擇最小的解析度;轉步驟510;
步驟509,從小於當前解析度的解析度中,選擇最大的解析度;
步驟510,將選中的解析度作為當前解析度參數;
步驟511,結束。
如圖6所示,異常解析度檢測設置的界面,包括檢測次數和解析度適配條件的設置界面;圖6中的檢測次數10,可以更改為其它需要的數字;圖6中的圓圈,黑的表示當前已選擇,白的表示未選擇;
如圖7所示,檢測設置模塊進行異常解析度檢測設置的方法如下:
步驟701,開始;
步驟702,收到用戶進行異常解析度檢測設置的命令;
步驟703,顯示異常解析度檢測設置界面,提示用戶進行操作;
步驟704,判斷用戶是否執行設置操作,是,轉步驟705,否,轉步驟707;
步驟705,判斷設置是否發生變化,是,轉步驟706,否,轉步驟707;
步驟706,保存異常解析度檢測設置;
步驟707,隱藏異常解析度檢測設置界面;
步驟708,結束。