欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

客戶端在虛擬化環(huán)境下的視頻播放方法及系統(tǒng)與流程

文檔序號:12732019閱讀:329來源:國知局
客戶端在虛擬化環(huán)境下的視頻播放方法及系統(tǒng)與流程

本發(fā)明涉及系統(tǒng)虛擬化環(huán)境下的流媒體播放領域,具體涉及一種客戶端在虛擬化環(huán)境下的視頻播放方法及系統(tǒng)。



背景技術:

在桌面虛擬化的應用場景中,在桌面終端上播放云視頻的方法一般服務端渲染,即用服務端的虛擬機的CPU對視頻流進行編解碼和渲染后,傳送圖像至桌面瘦客戶端(即無需應用程序的計算機終端)上顯示。

但是,上述方法存在以下缺陷:

服務端的虛擬機上CPU對視頻流進行編解碼和渲染,會顯著提高了CPU的占用率,即占用了大量服務端的資源來承載視頻播放顯示,不僅降低了服務端本身承載虛擬機的能力,而且超負載使用的虛擬機會造成客戶端播放視頻不順暢和、卡頓,進而使得用戶體驗較差。



技術實現(xiàn)要素:

針對現(xiàn)有技術中存在的缺陷,本發(fā)明解決的技術問題為:利用客戶端播放視頻來降低播放視頻時服務端的負載和壓力,進而提高多臺虛擬機的視頻并發(fā)密度。

為達到以上目的,本發(fā)明提供的客戶端在虛擬化環(huán)境下的視頻播放方法,包括以下步驟:

步驟A:當位于客戶端上的虛擬機桌面的視頻文件被打開時,虛擬機啟動流媒體服務將當前視頻文件轉換為流媒體文件后,將流媒體文件的訪問地址以數(shù)據(jù)包的形式發(fā)送至客戶端,轉到步驟B;

步驟B:客戶端收到數(shù)據(jù)包后,媒體播放器根據(jù)數(shù)據(jù)包內的訪問地址接收媒體數(shù)據(jù)流;對接收的媒體數(shù)據(jù)流進行解碼后播放視頻,轉到步驟C;

步驟C:當媒體播放器關閉時,客戶端向虛擬機發(fā)送視頻播放結束信息,虛擬機終止流媒體服務的進程。

在上述技術方案的基礎上,步驟A中所述將視頻文件轉換為流媒體文件的流程包括:對視頻文件進行視頻編碼,對視頻文件進行壓縮和封裝,修改視頻文件的幀率、碼率、視頻長度和視頻寬度。

在上述技術方案的基礎上,步驟A之前還包括以下步驟:將服務端中的虛擬機與客戶端進行網絡連接,虛擬機的桌面在客戶端上顯示;在客戶端上安裝媒體播放器。

本發(fā)明提供的實現(xiàn)上述方法的客戶端在虛擬化環(huán)境下的視頻播放系統(tǒng),包括設置于虛擬機上的第一業(yè)務模塊和第一通信模塊、以及設置于客戶端上的第二通信模塊、第二業(yè)務模塊和媒體播放器;

第一業(yè)務模塊用于:收到工作后,開啟流媒體服務,通過流媒體服務將當前視頻文件轉換為流媒體文件后,將流媒體文件的訪問地址以數(shù)據(jù)包的形式發(fā)送至第一通信模塊;收到視頻播放結束信號后,關閉流媒體服務;

第一通信模塊用于:在虛擬機啟動后向服務器獲取客戶端的IP信息,根據(jù)IP信息與第二通信模塊建立連接,將第一業(yè)務模塊發(fā)送的數(shù)據(jù)包轉發(fā)至第二通信模塊;將第二通信模塊發(fā)送的視頻播放結束信號轉發(fā)至第一業(yè)務模塊;

第二通信模塊用于:將收到的數(shù)據(jù)包轉發(fā)至第二業(yè)務模塊;將第二業(yè)務模塊發(fā)送的視頻播放結束信號轉發(fā)至第一通信模塊;

第二業(yè)務模塊用于:收到數(shù)據(jù)包后,啟動媒體播放器;媒體播放器關閉后,向第二通信模塊發(fā)送視頻播放結束信號;

媒體播放器用于:根據(jù)數(shù)據(jù)包內的訪問地址接收媒體數(shù)據(jù)流,對接收的媒體數(shù)據(jù)流進行解碼后播放視頻。

在上述技術方案的基礎上,該系統(tǒng)還包括設置于虛擬機上的鉤子模塊,其用于:當位于客戶端上的虛擬機桌面的文件被打開時,獲取打開文件事件后進行分析,若當前文件為視頻文件,則向第一業(yè)務模塊發(fā)送工作信號。

在上述技術方案的基礎上,該系統(tǒng)還包括設置于虛擬機上的鉤子模塊,其用于:當位于客戶端上的虛擬機桌面的文件被打開時,獲取打開文件事件后進行分析,若當前文件為視頻文件,則向第一業(yè)務模塊發(fā)送工作信號。

與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:

與現(xiàn)有技術中服務端渲染的視頻播放相比,本發(fā)明服務端的虛擬機只需要將視頻文件轉換為流媒體文件,本發(fā)明的渲染過程(例如對流媒體文件的接收和解碼)均由客戶端負責。因此,本發(fā)明播放視頻時對虛擬機的CPU消耗基本可以忽略不計,降低了播放視頻時服務端的負載和壓力,進而顯著提高了虛擬機的視頻并發(fā)密度,用戶體驗較好。

本發(fā)明提高虛擬機的視頻并發(fā)密度舉例如下:定義需要在一臺服務器中支持40臺以上的4核虛擬機并發(fā)播放720p、1080p的視頻流,則1臺虛擬機CPU占用率約為5%,帶寬為5%*4=20%。

按照服務器的CPU統(tǒng)計時:1臺服務器上配有2個型號為E5-2640的CPU,每個CPU是6核雙線程,總共就是2*2*6*100%=2400%,若是用KVM的虛擬化,則需去掉至少2個CPU,即剩于2200%給一臺服務器的所有虛擬機,2200%/20%=110臺。但是2200%已經超過了網絡帶寬的瓶頸,若網絡帶寬能夠滿足條件時,即可實現(xiàn)在100臺以上的虛擬機同時并發(fā)視頻。

在此基礎上,本發(fā)明能夠通過虛擬機將視頻文件進行轉換,進而改變視頻的質量來適應當前的網絡情況;因此本發(fā)明能夠使得視頻在不同的網絡環(huán)境下依然進行正常播放,進一步提升了用戶體驗。

附圖說明

圖1為本發(fā)明實施例中客戶端在虛擬化環(huán)境下的視頻播放方法的流程圖;

圖2為本發(fā)明實施例中客戶端在虛擬化環(huán)境下的視頻播放系統(tǒng)的物理結構流程圖;

圖3為本發(fā)明實施例中客戶端在虛擬化環(huán)境下的視頻播放系統(tǒng)中虛擬機和客戶端通信的流程示意圖。

具體實施方式

以下結合附圖及實施例對本發(fā)明作進一步詳細說明。

參見圖1所示,本發(fā)明實施例中的客戶端在虛擬化環(huán)境下的視頻播放方法,包括以下步驟:

S1:將服務端中的虛擬機與客戶端進行網絡連接,虛擬機的桌面在客戶端上顯示;在客戶端上安裝VLC媒體播放器(便攜式、免費、開源、跨平臺的媒體播放器),轉到S2。

S2:當用戶打開虛擬機桌面上的視頻文件時(可通過分析文件打開事件來確定用戶打開的文件是否為視頻文件),虛擬機啟動流媒體服務將當前視頻文件轉換為流媒體文件后,將流媒體文件的訪問地址以數(shù)據(jù)包的形式發(fā)送至客戶端,轉到S3。

S2中將視頻文件轉換為流媒體文件的流程包括:對視頻文件進行視頻編碼,對視頻文件進行壓縮和封裝,修改視頻文件的幀率、碼率、視頻長度和視頻寬度等。

S3:客戶端收到數(shù)據(jù)包后,觸發(fā)VLC媒體播放器訪問數(shù)據(jù)包內的訪問地址,進而接收媒體數(shù)據(jù)流;對接收的媒體數(shù)據(jù)流進行解碼后播放視頻,轉到S4。

S4:當VLC媒體播放器關閉時,客戶端向虛擬機發(fā)送視頻播放結束信息,虛擬機關閉流媒體服務的進程,結束當前視頻文件的流媒體服務。

S1的具體流程為:

S101:安裝服務端系統(tǒng)centos7,在服務端上架設KVM(Keyboard Video Mouse,鍵盤、視頻、鼠標)虛擬機,在虛擬機中安裝Windows7系統(tǒng)。

S102:在虛擬機內安裝視頻文件播放處理的相關程序組件,例如流媒體服務程序(負責提供流媒體服務。該服務是運行在虛擬機里面的一個獨立運行服務;提供數(shù)據(jù)流的網絡訪問功能,數(shù)據(jù)流支持HTTP、RTSP二種訪問協(xié)議)、視頻播放處理程序、視頻文件轉換程序、截獲視頻文件信息程序、通信程序、業(yè)務程序、讀取和修改配置文件等,配置文件里面記錄了訪問端的IP和端口信息。

S103:在客戶端上安裝Windows系統(tǒng),并且配置好虛擬機桌面連接的SPICE協(xié)議,進而使得客戶端能夠通過網絡連接到虛擬機的桌面并且可操作。

S104:在客戶端上安裝VLC媒體播放器和播放視頻流終端程序(通信程序和業(yè)務程序),該程序隨客戶端自動啟動。

S105:將服務端通過網線連接至國際互聯(lián)網或局域網,網線的一端連接服務端的網絡適配器,另一端連接至國際互聯(lián)網或局域網;每臺客戶端分別通過網線連接至國際互聯(lián)網或局域網,每條網線的一端連接一臺客戶端的網絡適配器,另一端連接至國際互聯(lián)網或局域網。依次實現(xiàn)客戶端和服務端通過網絡連通,配置完成虛擬機和客戶端的網絡也必須是通的。

參見圖2和圖3所示,本發(fā)明實施例中實現(xiàn)上述方法的客戶端在虛擬化環(huán)境下的視頻播放系統(tǒng),包括設置于虛擬機(VM)上的鉤子模塊、第一業(yè)務模塊和第一通信模塊,還包括設置于客戶端上的第二通信模塊、第二業(yè)務模塊和VLC媒體播放器。

鉤子模塊用于:當用戶打開虛擬機桌面上的文件時,鉤子模塊截獲打開文件事件后進行分析,若當前文件為視頻文件,則向第一業(yè)務模塊發(fā)送視頻轉換信號(即工作信號)。

第一業(yè)務模塊用于:

(1)收到視頻轉換信號后,開啟流媒體服務,通過流媒體服務將當前視頻文件轉換為流媒體文件后,將流媒體文件的訪問地址以數(shù)據(jù)包的形式發(fā)送至第一通信模塊;

(2)收到視頻播放結束信號后,關閉流媒體服務。

第一通信模塊用于:

(1)在虛擬機啟動后向服務器獲取客戶端的IP信息,根據(jù)IP信息與第二通信模塊建立連接,將第一業(yè)務模塊發(fā)送的數(shù)據(jù)包轉發(fā)至第二通信模塊;

(2)將第二通信模塊發(fā)送的視頻播放結束信號轉發(fā)至第一業(yè)務模塊。

第二通信模塊用于:

(1)將收到的數(shù)據(jù)包轉發(fā)至第二業(yè)務模塊;

(2)將第二業(yè)務模塊發(fā)送的視頻播放結束信號轉發(fā)至第一通信模塊。

第二業(yè)務模塊用于:

(1)收到數(shù)據(jù)包后,啟動VLC媒體播放器;

(2)VLC媒體播放器關閉后,向第二通信模塊發(fā)送視頻播放結束信號。

進一步,本發(fā)明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內。本說明書中未作詳細描述的內容屬于本領域專業(yè)技術人員公知的現(xiàn)有技術。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新干县| 白山市| 南川市| 新邵县| 方山县| 金湖县| 怀集县| 斗六市| 河曲县| 咸阳市| 金湖县| 都江堰市| 托克托县| 济宁市| 贡嘎县| 通辽市| 涪陵区| 宿州市| 同德县| 沅陵县| 东兴市| 刚察县| 万源市| 寻甸| 德江县| 临海市| 宁安市| 延长县| 东方市| 连南| 昌乐县| 读书| 垣曲县| 静安区| 婺源县| 响水县| 贡觉县| 虞城县| 灌阳县| 义马市| 得荣县|