一種流媒體處理方法及系統的製作方法
2023-09-18 14:57:55 2
一種流媒體處理方法及系統的製作方法
【專利摘要】本申請提供了一種流媒體處理方法及系統,該方法包括:在伺服器端啟動生成流媒體圖像的進程,保持所述進程處於運行狀態;實時檢測客戶端獲取流媒體圖像的請求,當收到所述請求時,從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端;接收所述客戶端發出的操作指令,並根據所述操作指令生成相應的流媒體圖像。本申請大大縮短了用戶獲取流媒體圖像時等待生成流媒體圖像的進程啟動所耗費的時間,提升了用戶的體驗。
【專利說明】一種流媒體處理方法及系統
【技術領域】
[0001]本申請涉及流媒體領域,特別是涉及流媒體處理方法及系統。
【背景技術】
[0002]隨著流媒體技術的廣泛應用,對流媒體接入時的實時反饋提出了更高的要求,特別是對於遊戲等實時性要求較高的流媒體,對用戶接入流媒體的實時性要求更高。
[0003]雲遊戲是流媒體的其中一種形式,其是以雲計算為基礎的遊戲方式,在雲遊戲的運行模式下,所有遊戲都在伺服器端運行,並將渲染完畢後的遊戲畫面壓縮後通過網絡傳送給用戶。當一個人結束遊戲後,將會關閉該遊戲,以清除該用戶的所有使用狀態和歸還系統資源。新的用戶若要進入該遊戲需要再次打開,從而增加了打開的等待時間,降低了用戶體驗。
【發明內容】
[0004]本申請所要解決的技術問題是提供一種流媒體處理方法,包括:
[0005]在伺服器端啟動生成流媒體圖像的進程,保持所述進程處於運行狀態;
[0006]實時檢測客戶端獲取流媒體圖像的請求,當收到所述請求時,從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端;
[0007]接收所述客戶端發出的操作指令,並根據所述操作指令生成相應的流媒體圖像。
[0008]優選地,所述保持所述進程處於運行狀態進一步包括檢測所述客戶端與所述伺服器之間的流媒體圖像傳輸狀況,當檢測出所述客戶端與所述伺服器之間的流媒體圖像傳輸斷開時,所述伺服器重新啟動所述生成流媒體圖像的程序。
[0009]優選地,所述檢測所述客戶端與所述伺服器之間的流媒體圖像傳輸狀況進一步包括所述客戶端定時向所述伺服器發送一數據包,所述伺服器針對所述數據包返回一數據包,若所述客戶端在閾值時間內收到所述返回的數據包,則視所述客戶端與所述伺服器之間的流媒體圖像傳輸正在進行;若所述客戶端在閾值時間內未收到所述返回的數據包,則視所述客戶端與所述伺服器之間的流媒體圖像傳輸斷開。
[0010]優選地,還包括所述客戶端將關閉播放流媒體圖像的進程的指令發送至所述伺服器,所述伺服器根據所述指令重新啟動所述生成流媒體圖像的進程。
[0011]優選地,所述從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端進一步包括從所述處於運行狀態的進程中抓取、壓縮所述流媒體圖像,並將所述流媒體圖像返回至所述客戶端;所述客戶端解壓縮並顯示所述流媒體圖像。
[0012]相應地,本申請還提供了一種流媒體處理系統,包括:
[0013]啟動裝置,用於在伺服器端啟動生成流媒體圖像的進程,保持所述進程處於運行狀態;
[0014]流媒體圖像獲取裝置,用於實時檢測客戶端獲取流媒體圖像的請求,當收到所述請求時,從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端;[0015]操作指令處理裝置,用於接收所述客戶端發出的操作指令,並根據所述操作指令生成相應的流媒體圖像。
[0016]優選地,所述啟動裝置進一步包括檢測模塊,用於檢測所述客戶端與所述伺服器之間的流媒體圖像傳輸狀況;以及重啟模塊,用於當檢測出所述客戶端與所述伺服器之間的流媒體圖像傳輸斷開時,所述伺服器重新啟動所述生成流媒體圖像的程序。
[0017]優選地,所述流媒體圖像獲取裝置進一步包括流媒體圖像返回模塊,用於從所述處於運行狀態的進程中抓取、壓縮所述流媒體圖像,並將所述流媒體圖像返回至所述客戶端;以及流媒體圖像顯示模塊,用於在所述客戶端解壓縮並顯示所述流媒體圖像。
[0018]與現有技術相比,本申請有如下優點:
[0019]1.生成流媒體圖像的進程在伺服器端始終處於開啟狀態,當用戶打開某一流媒體時,伺服器接收到請求後會立即將流媒體圖像傳輸給客戶端,大大縮短了用戶打開流媒體時等待生成流媒體圖像的進程啟動耗費的時間,提升了用戶的體驗。
[0020]2.本申請在客戶端與伺服器之間通過傳遞數據包檢測客戶端與伺服器之間的流媒體圖像傳輸狀況,當檢測出流媒體圖像傳輸斷開時,伺服器會重新啟動所述生成流媒體圖像的進程,從而有效地保證了生成流媒體圖像的進程在伺服器上始終保持開啟狀態。
【專利附圖】
【附圖說明】
[0021]圖1是本申請流媒體處理方法的實施例流程圖。
[0022]圖2是本申請客戶端、web伺服器及流媒體伺服器之間的交互過程示意圖。
[0023]圖3是本申請檢測客戶端與伺服器之間流媒體圖像傳輸狀況的示意圖。
[0024]圖4是本申請流媒體處理系統的實施例示意圖。
【具體實施方式】
[0025]為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本申請作進一步詳細的說明。
[0026]參照圖1,示出了本申請流媒體處理方法的實施例流程圖。
[0027]步驟101:在伺服器端啟動生成流媒體圖像的進程,保持所述進程處於運行狀態。
[0028]所述流媒體圖像包括聲音流、視頻流、文本流、圖像流、動畫流等,如電視會議、遊戲、廣播新聞、影視、會議、演講。流媒體在播放前並不下載整個文件,只將開始部分內容存入內存,流式媒體的數據流隨時傳送隨時播放,只是在開始時有一些延遲。流媒體的傳輸主要有兩種方法:實時流式傳輸(Real time streaming)和順序流式傳輸(progressivestreaming)。一般說來,如視頻為實時廣播,或使用流式傳輸媒體伺服器,或應用如RTSP的實時協議,即為實時流式傳輸。如使用HTTP伺服器,文件即通過順序流發送。
[0029]所述伺服器可以是普通的伺服器,也可以是雲伺服器,其中雲伺服器是一種類似VPS伺服器的虛擬化技術,VPS是採用虛擬軟體,VZ或VM在一臺伺服器上虛擬出多個類似獨立伺服器的部分,每個部分都有雲伺服器的一個鏡像,都可以做單獨的作業系統,管理方法同伺服器一樣。
[0030]在本發明一實施例中,流媒體為雲遊戲。雲遊戲伺服器端包括兩個主要模塊,第一模塊中存儲了雲遊戲程序,通過運行該程序生成雲遊戲畫面;第二模塊用於接收客戶端指令,根據該指令抓取雲遊戲畫面,將該畫面進行壓縮並傳輸至客戶端。
[0031]在伺服器端,由第二模塊對第一模塊發出啟動指令,從而啟動生成流媒體圖像的進程。其中,該指令使用的是windows系統自帶的API函數。啟動該生成流媒體圖像的進程後,若不對該進程發送指令,則該進程將始終處於運行狀態,相當於伺服器端始終處於打開遊戲初始頁面的狀態。參照圖2,示出了本申請客戶端、web伺服器及流媒體伺服器之間的交互過程示意圖。
[0032]在本發明一實施例中,伺服器分為兩種類型:web伺服器和流媒體伺服器。當用戶通過安裝在客戶端上的播放器或網頁瀏覽器選定一流媒體圖像之後,客戶端將該流媒體圖像的ID發送至web伺服器,web伺服器根據流媒體圖像的ID將運行該流媒體圖像的流媒體伺服器地址發送給客戶端,客戶端根據該地址向流媒體伺服器請求流媒體圖像,正在運行該流媒體圖像的流媒體伺服器將該流媒體圖像傳輸至客戶端,並由播放器播放該流媒體圖像。
[0033]web伺服器也稱為網頁伺服器,主要功能是提供網上信息瀏覽服務。Web伺服器可以解析HTTP協議。當Web伺服器接收到一個HTTP請求,會返回一個HTTP響應,例如送回一個HTML頁面。為了處理一個請求,Web伺服器可以響應一個靜態頁面或圖片,進行頁面跳轉,或者把動態響應的產生委託給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本、servlets、ASP (Active Server Pages)腳本、伺服器端 JavaScript,或者一些其它的伺服器端技術。無論這些腳本的目的如何,這些伺服器端的程序通常產生一個HTML的響應來讓瀏覽器可以瀏覽。Web伺服器的代理模型是當一個請求被送到Web伺服器裡來時,它只單純的把請求傳遞給可以很好的處理請求的程序(伺服器端腳本)。Web伺服器僅僅提供一個可以執行伺服器端程序和返回程序所產生的響應的環境,而不會超出職能範圍。伺服器端程序通常具有事務處理,資料庫連接和消息等功能。在本發明一實施例中,web伺服器負責控制客戶端和伺服器之間的交互,包括接收伺服器發送的運行的流媒體圖像的ID和該伺服器地址,以及向發出請求的客戶端提供伺服器地址。
[0034]步驟102:實時檢測客戶端獲取流媒體圖像的請求,當收到所述請求時,從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端。
[0035]所述客戶端包括PC機、電視、便攜終端、平板、投影機等具有顯示和解碼功能的裝置。
[0036]獲取流媒體圖像請求可以通過安裝在客戶端上的播放器發出,也可以通過網頁瀏覽器發出,例如通過加載於網頁瀏覽器頁面上的flash播放器播放流媒體圖像或通過點擊網頁瀏覽器頁面上的連結,連接到flash播放器,從而獲取流媒體圖像。
[0037]所述從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端進一步包括從所述處於運行狀態的進程中抓取、壓縮所述流媒體圖像,並將所述流媒體圖像返回至所述客戶端;所述客戶端解壓縮並顯示所述流媒體圖像。
[0038]伺服器端包括檢測模塊,用於實時檢測客戶端獲取流媒體圖像的請求。當收到該請求時,第二模塊根據該請求抓取初始雲遊戲畫面,將該畫面進行壓縮並傳輸至客戶端。客戶端解碼後通過用戶界面呈現給用戶。
[0039]對每一塊圖像進行壓縮包括按一定頻率分別對屬於同一幀圖像的所述圖像塊進行幀內預測編碼和幀間預測編碼。[0040]例如,每隔10幀圖像進行幀內預測編碼,壓縮為I幀,I幀與I幀之間進行幀間預測編碼,壓縮為P幀,即按照IPPPPPPPPPPIPPPPPPPPPPI的編碼形式對圖像進行編碼。可以使用MPEG系列標準(MPEG-1—MPEG-7)、H.261、H.262,H.263,H.264等標準進行編碼,優選地,使用H.264進行編碼。
[0041]在本發明一實施例中,初始圖像是RGB圖像,對圖像進行壓縮時將該幀圖像分成R幀、G幀和B幀三幀圖像分別進行處理,解壓縮時合為一幀圖像。也可以先將初始RGB圖像轉換為YCrCb圖像,再對YCrCb圖像進行壓縮和解壓縮處理。
[0042]具體地,對I幀圖像進行幀內預測編碼包括將分割出的每一塊圖像劃分宏塊。如圖3所示,可以將每一塊圖像劃分成16X16像素、16 X 8像素或8X8像素的宏塊,或劃分成更小的子宏塊8X4像素、4X8像素、4X4像素,再預測每一個宏塊的像素值。以16X16宏塊幀內預測為例,使用與當前宏塊相鄰的33個像素生成預測值。如圖4所示,共有4種預測模式:模式O (垂直預測)、模式I (水平預測)、模式2 (DC預測)、模式3 (平面預測),分別利用當前宏塊上方(H)、左方(V)和左上方已編碼的像素來預測當前宏塊的像素值。
[0043]對P幀圖像進行幀間預測編碼包括以圖3的方式對分割出的每一塊圖像劃分宏塊,優選地,將分割出的每一塊圖像分割成子宏塊,估計子宏塊由前一幀圖像到當前幀圖像的運動矢量。運動估計完成後,將獲得的運動矢量信息和預測殘差量化編碼發送到解壓縮端,一同發送到解壓縮端的還有宏塊劃分模式的標識。
[0044]之後進行變換,變換方法包括傅立葉變換(DFT)、沃-哈變換(WHT)或離散餘弦變換(DCT),優選地,對每一個宏塊進行離散餘弦變換(DCT)。DCT變換是將空間像素的幾何分布變換為空間頻率分布,例如,對於一個NXN圖像f (X,y)的二維DCT變換公式為:
【權利要求】
1.一種流媒體處理方法,包括: 在伺服器端啟動生成流媒體圖像的進程,保持所述進程處於運行狀態; 實時檢測客戶端獲取流媒體圖像的請求,當收到所述請求時,從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端; 接收所述客戶端發出的操作指令,並根據所述操作指令生成相應的流媒體圖像。
2.根據權利要求1所述的方法,其特徵在於,所述保持所述進程處於運行狀態進一步包括檢測所述客戶端與所述伺服器之間的流媒體圖像傳輸狀況,當檢測出所述客戶端與所述伺服器之間的流媒體圖像傳輸斷開時,所述伺服器重新啟動所述生成流媒體圖像的程序。
3.根據權利要求2所述的方法,其特徵在於,所述檢測所述客戶端與所述伺服器之間的流媒體圖像傳輸狀況進一步包括所述客戶端定時向所述伺服器發送一數據包,所述伺服器針對所述數據包返回一數據包,若所述客戶端在閾值時間內收到所述返回的數據包,則視所述客戶端與所述伺服器之間的流媒體圖像傳輸正在進行;若所述客戶端在閾值時間內未收到所述返回的數據包,則視所述客戶端與所述伺服器之間的流媒體圖像傳輸斷開。
4.根據權利要求1所述的方法,其特徵在於,還包括所述客戶端將關閉播放流媒體圖像的進程的指令發送至所述伺服器,所述伺服器根據所述指令重新啟動所述生成流媒體圖像的進程。
5.根據權利要求1所述的方法,其特徵在於,所述從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端進一步包括從所述處於運行狀態的進程中抓取、壓縮所述流媒體圖像,並將所述流媒體圖像返回至所述客戶端;所述客戶端解壓縮並顯示所述流媒體圖像。
6.—種流媒體處理系統,包括: 啟動裝置,用於在伺服器端啟動生成流媒體圖像的進程,保持所述進程處於運行狀態; 圖像獲取裝置,用於實時檢測客戶端獲取流媒體圖像的請求,當收到所述請求時,從所述處於運行狀態的進程中獲取所述流媒體圖像,並返回至所述客戶端; 操作指令處理裝置,用於接收所述客戶端發出的操作指令,並根據所述操作指令生成相應的流媒體圖像。
7.根據權利要求6所述的系統,其特徵在於,所述啟動裝置進一步包括檢測模塊,用於檢測所述客戶端與所述伺服器之間的流媒體圖像傳輸狀況;以及重啟模塊,用於當檢測出所述客戶端與所述伺服器之間的流媒體圖像傳輸斷開時,所述伺服器重新啟動所述生成流媒體圖像的程序。
8.根據權利要求6所述的系統,其特徵在於,所述圖像獲取裝置進一步包括圖像返回模塊,用於從所述處於運行狀態的進程中抓取、壓縮所述流媒體圖像,並將所述流媒體圖像返回至所述客戶端;以及圖像顯示模塊,用於在所述客戶端解壓縮並顯示所述流媒體圖像。
【文檔編號】H04N21/24GK103974093SQ201310036483
【公開日】2014年8月6日 申請日期:2013年1月30日 優先權日:2013年1月30日
【發明者】鄧迪 申請人:雲聯(北京)信息技術有限公司