網絡多媒體數據的播放方法及播放系統的制作方法
【技術領域】
[0001]本發明涉及多媒體傳輸技術領域,具體涉及一種網絡多媒體數據的播放方法以及一種網絡多媒體數據的播放系統。
【背景技術】
[0002]隨著網絡技術的日益發展,使用瀏覽器觀看視頻的用戶越來越多。播放器(例如flash腳本)在網頁上播放視頻時通過約定的機制得到視頻文件的http地址,然后發出請求,邊下載邊播放,下載的數據都保存在瀏覽器緩存里。由于很多視頻是電影或者電視劇等長視頻,此外用戶對視頻清晰度的要求也越來越高,這些因素導致了視頻文件越來越大,也使得對瀏覽器緩存的要求越來越高。用戶在點播視頻網站內容時,如果觀看視頻時間太長,存儲的視頻內容太多,會導致播放器(如flash播放器)內存占用太高,從而導致出現例如瀏覽器崩潰、電腦內存占用高導致設備卡頓等問題。
[0003]為規避這些問題,已有技術使用將長視頻切片的方法,即播放到某一分段的視頻時只下載該分段的內容,并清空其余的所有分段。這種隨看隨刪的處理方式雖然可以減少由于提前下載了后面分段的數據但用戶可能沒有觀看到那個分段就關閉視頻而造成的浪費,但是,其弊端是,當用戶來回拖曳播放進度條以搜尋播放位置時,會造成數據重復下載,導致帶寬浪費。
【發明內容】
[0004]本發明提供一種內存管理更為恰當的網絡多媒體數據的播放方法及系統。
[0005]根據本發明的第一方面,本發明提供一種網絡多媒體數據的播放方法,包括以下步驟:
下載播放步驟:分塊接收和緩存來自下載源的多媒體數據,并進行播放;
內存管理步驟:當緩存的分塊的多媒體數據的數據量達到預定基準量時,根據播放位置對緩存的數據量進行定時監控或進行刪除操作。
[0006]根據本發明的第二方面,本發明提供一種網絡多媒體數據的播放系統,包括: 下載播放模塊,用于分塊接收和緩存來自下載源的多媒體數據,并進行播放;
內存管理模塊,用于當緩存的分塊的多媒體數據的數據量達到預定基準量時,根據播放位置對緩存的數據量進行監控或進行刪除操作。
[0007]本發明的有益效果是:在播放和下載的同時,對緩存的數據量進行監控或刪除,避免緩存過多而造成因內存占用太高導致的設備卡頓現象,此外還通過監控數據量避免隨看隨刪方式而導致的可能造成重復下載、浪費帶寬的問題。
【附圖說明】
[0008]圖1為本發明一種實施例的網絡多媒體數據的播放方法的流程示意圖;
圖2為本發明一種實施例的網絡多媒體數據的播放系統的結構示意圖; 圖3為本發明一種實例中網絡多媒體數據的播放與下載的流程圖。
【具體實施方式】
[0009]下面通過【具體實施方式】結合附圖對本發明作進一步詳細說明。
[0010][實施例1]
如圖1所示,依據本發明的一種實施方式,提供一種網絡多媒體數據的播放方法,包括下載播放步驟si和內存管理步驟S3。
[0011]下載播放步驟S1:分塊接收和緩存來自下載源的多媒體數據,并進行播放。
[0012]在本實施例中,采用分塊請求并存儲的方式來保存數據,這樣分塊數據既可以方便下載上傳,也方便內存管理。例如將一個1073841824個字節?1G的視頻均勻分成大小262144個字節=256K的分塊,一共分成4097塊,前面4096塊每塊大小為262144個字節=256Κ,最后一塊為100000個字節。
[0013]內存管理步驟S3:當緩存的分塊的多媒體數據的數據量達到預定基準量時,根據播放位置對緩存的數據量進行定時監控或進行刪除操作。具體地,步驟S3包括如下步驟S31?S34。
[0014]步驟S31,判斷緩存的數據量是否達到預定基準量,如果否,則執行下載播放步驟S1,如果是,則執行步驟S32。這里,預定基準量是事先設定的,可以為經驗值,例如假設電腦內存為1G,在瀏覽器下載并播放視頻時,為盡量不占用過多內存而導致設備卡頓等,可以設定大約三分之一的內存用于瀏覽器緩存使用。
[0015]步驟S32,判斷從播放位置起的緩存的數據量是否達到預定待播量,如果是,則執行步驟S33,如果否,則執行步驟S34。這里,預定待播量是指從播放位置起預定時間內需要播放的多媒體的數據量,該值可以是事先設定的經驗值。
[0016]步驟S33,暫停下載播放步驟S1,開啟數據量定時監控,即定時對從播放位置起的緩存的數據量進行判斷,如果該數據量小于預定最少播放量,則重新啟動下載播放步驟S1,否則繼續進行定時判斷。這里,預定最少播放量是指從播放位置起預定時間內最少需要播放的多媒體的數據量,該值可以是預先設定的經驗值。
[0017]步驟S34,繼續接收和緩存來自下載源的多媒體數據,并根據該預定基準量進行刪除操作,該刪除操作具體包括:按塊依次刪除從多媒體數據的文件頭到播放位置的分塊的多媒體數據,每執行一次刪除,判斷刪除后的數據量是否大于預定基準量,如果否,則停止刪除,如果是,則繼續刪除直至播放位置處于下一待刪除的分塊時停止,并對剩余的緩存的多媒體數據進行判斷,如果該剩余的緩存的多媒體數據的數據量大于預定基準量,則按塊依次刪除從多媒體數據的文件尾到播放位置的數據,直至刪除后的緩存的多媒體數據的數據量不超過預定基準量。
[0018]本實施例在播放和下載的同時,對緩存的數據量進行監控或刪除,在定時監控時確保只預先下載短時間需要的視頻數據用來保證流暢播放,甚至在P2P點播技術中可用于提供P2P上傳,而不下載離播放點太遠的用戶可能不會觀看到的數據,從而可節約服務器帶寬;而且,通過對數據量的多少判斷來合理下載與儲存數據,避免緩存過多而造成因內存占用太高導致的設備卡頓現象,實現低內存占用的長視頻文件播放,提高帶寬利用率,給用戶帶來更加流暢的視頻觀看體驗,甚至在P2P點播技術中能夠保證較高P2P分享率。顯然,本實施例的這種方法也可以是一種應用于Flash P2P點播技術的內存管理優化方法。
[0019][實施例2]
如圖2所示,依據本發明的一種實施方式,提供一種網絡多媒體數據的播放系統100,包括下載播放模塊10和內存管理模塊。下載播放模塊10用于分塊接收和緩存來自下載源的多媒體數據,并進行播放;內存管理模塊用于當緩存的分塊的多媒體數據的數據量達到預定基準量時,根據播放位置對緩存的數據量進行監控或進行刪除操作。
[0020]具體地,內存管理模塊包括第一數據量判斷單元31、第二數據量判斷單元32、定時監控單元33和緩存刪除單元34。
[0021]第一數據量判斷單元31用于判斷緩存的數據量是否達到預定基準量,如果否,則觸發執行下載播放模塊10,如果是,則觸發第二數據量判斷單元32。
[0022]第二數據量判斷單元32用于判斷從播放位置起緩存的數據量是否達到預定待播量,預定待播量為從播放位置起預定時間內需要播放的多媒體的數據量,如果是,則暫停下載播放模塊10,并觸發定時監控單元33,如果否,則觸發緩存刪除單元34。
[0023]定時監控單元33用于根據預定待播量進行數據量定時監控,具體地,定時監控單元33包括第一定時判斷子單元,用于定時對從播放位置起的緩存的數據量進行判斷,如果該數據量小于預定最少播放量,則重新啟動下載播放模塊10,否則繼續進行定時判斷。
[0024]緩存刪除單元34用于繼續接收和緩存來自下載源的多媒體數據,并根據所述預定基準量進行刪除操作,緩存刪除單元34包括第一刪除和判斷子單元及第二刪除和判斷子單元。第一刪除和判斷子單元用于按塊依次刪除從所述多媒體數