一種流媒體播放器的製作方法
2023-07-10 09:21:21 1
專利名稱:一種流媒體播放器的製作方法
技術領域:
本發明涉及流媒體技術,尤其涉及一種流媒體播放器。
技術背景流媒體(Streaming Media)技術是一種新興的網絡傳輸技術,用於在網際網路 上實時順序地傳輸和播放視/音頻等多媒體內容的連續時基數據流,流媒體技術 包括流媒體數據採集、視/音頻編解碼、存儲、傳輸、播放等領域。在網絡上傳 播多媒體信息主要有兩種方式:下載和流式傳輸。下載方式是傳統的傳輸方式, 指在播放之前由用戶下載多媒體文件至本地。流式傳輸則把多媒體信息通過服 務器向用戶實時地提供,採用這種方式時,用戶不必等到整個文件全部下載完 畢,而只需經過幾秒或幾十秒的啟動時延即可播放,之後,客戶端邊接收數據 邊播放。目前,流媒體技術廣泛應用在多媒體新聞發布、網上演示、在線直播、網 絡廣告、電子商務、視頻點播、遠程教育、實時視頻會議和即時通訊等網際網路 的信息服務上。為了向用戶提供更豐富的流媒體服務, 一般在向用戶提供流媒 體服務的同時還提供字幕服務,現有技術提供字幕服務有以下兩種方案1、流媒體伺服器端解決方案,該方案在製作i某體流的時候同時製作好字幕 流,再存儲為媒體流和字幕流按時間順序交錯的媒體流文件;播放時,由客戶 端播放器直接解碼媒體流和字幕流。這種方案的缺點是字幕流和媒體流交錯存儲在文件裡,對所有的用戶都是 提供相同的字幕流,不能針對不同的用戶發送不同的字幕流,其靈活性較差,而且修改字幕流也不方便。2、流媒體播放器客戶端解決方案,該方案預先製作和對應士某體流匹配的字 幕流文件,將該文件保存在客戶端本地,客戶端播放^ 某體流文件的同時顯示相 應字幕。這種方案的缺點是字幕流內容不受伺服器端控制,而且字幕流也不受流媒 體供應商控制,對於一些現場直播類媒體流的字幕服務不能及時更新,因此, 其靈活性和動態可控性差。發明內容本發明提供一種流媒體播放器,以解決現有技術在同時提供流媒體和字幕 服務時存在靈活性和動態可控性差的問題。一種流媒體播放器,包括將流媒體分離並解碼出音頻流和視頻流的媒體流處理單元,用於播放音頻流和視頻流的播放單元;其中,所述播放器還包括合 成單元,該合成單元用於接收和解碼字幕流,以及將解碼後的字幕流轉換為新 的視頻流或者將解碼後的字幕流與所述媒體流處理單元輸出的視頻流合成新的 4見頻流後輸出到所述播放單元。一種流媒體字幕合成裝置,包括字幕接收/緩衝組件,用於接收並緩存字幕流;字幕解碼組件,用於解碼緩存的字幕流;視頻/字幕合成組件,用於將字幕解碼組件輸出的字幕流和接收到的視頻流 合成新的糹見頻流。本發明在播放媒體流的過程中,將媒體流中的視頻流與字幕流動態的合成 新的視頻流播放,因而在對IM用戶提供流媒體服務的時候,可以靈活的提供對 應的字幕服務,這種字幕可以是對應的視頻對白、音頻字幕、廣告字幕、消息 字幕等;在本發明中字幕服務由伺服器端提供,其動態可控性好,能夠根據需 要及時更新。採用本發明不僅能夠滿足不同的業務需求,而且也可作為一種增 值服務為流媒體服務商增加收入來源、為用戶提供更豐富的流媒體服務。
圖1為實現本發明網絡系統結構示意圖;圖2為媒體流和字幕流服務的流程示意圖;圖3A為媒體流的存儲格式示意圖;圖3B為字幕流存儲格式示意圖;圖4為流媒體播放器結構示意圖;圖5為字幕組件處理字幕流的流程圖。
具體實施方式
為了滿足多媒體新聞發布、網上演示、在線直播、網絡廣告、電子商務、 視頻點播、遠程教育、實時視頻會議和即時通訊等信息服務對流媒體字幕技術 的不同需求,提高其靈活性,本發明由字幕伺服器控制字幕流,在流媒體播放 器請求流媒體伺服器提供流媒體服務時,向字幕伺服器請求該流媒體對應的字 幕服務;流媒體播放器接收到流媒體伺服器和字幕伺服器發送來的媒體流和字 幕流後匹配時間戳,在字幕流時間戳與媒體流時間戳匹配時,將該字幕流轉換 為視頻流與所述媒體流同步播放。以下主要以即時通訊服務為例,結合附圖對實現本發明進行詳細說明如圖1所示,實現本發明的即時網絡系統包括即時通訊用戶客戶端(IM Client) 400 (用戶客戶端為多個)、即時通訊伺服器(IM Server) 100、流媒體 伺服器200和字幕伺服器300。其中即時通訊伺服器200負責管理用戶和對即 時通訊用戶(IM User)登錄進行認證,並對用戶發放籤名。流i某體伺服器200 向用戶提供流媒體服務,並對訪問流媒體伺服器的用戶進行認證。字幕伺服器 300向用戶提供字幕服務,並對訪問字幕伺服器的用戶進行認證。參閱圖2所示,在即時通訊客戶端具有流媒體播放器500,該流媒體播放器 500包括媒體流處理單元510、合成單元520和播放單元530。媒體流處理單元 510接收和解碼流媒體伺服器通過網絡傳送來的媒體流,合成單元520將媒體流處理單元510輸出的媒體流和字幕伺服器300通過網絡傳送來的字幕流合成新 的媒體流,播放單元530播放合成單元520輸出的媒體流。流媒體播放器500中,除合成單元520外,媒體流處理單元510和播放單 元530可以是Windows作業系統上安裝的Windows Media Player中的單元。參閱圖3A所示,媒體流在流媒體伺服器200上的存儲格式和普通的流媒體 伺服器媒體流儲存格式一致。參閱圖3B所示,在字幕伺服器300上,期望和媒體流裡某時間點同時出現 的字幕則打上和該媒體流裡相同的時間戳,以保證流媒體播放和字幕流同步顯 示。字幕伺服器300上的字幕流採用無損壓縮編碼算法進行編碼,如LZ77算法。參閱圖4所示,媒體流處理單元510包括接收/緩沖組件511、音/視頻媒 體流分離組件512、音頻解碼組件513和視頻解碼組件514。接收/緩衝組件511 接收並緩存從流媒體伺服器200傳送來的流4某體;音/視頻媒體流分離組件512 將接收/緩衝組件511輸出的々某體流分離為音頻流和視頻流,並分別輸出到音頻 解碼組件513和視頻解碼組件514;音頻解碼組件513對音頻流進行解碼, 一見頻 解碼組件514對^f見頻流進行解碼。合成單元520包括字幕接收/緩衝組件521、字幕解碼組件522和視頻/字 幕合成組件523。字幕接收/緩衝組件521接收由字幕伺服器300發送來的字幕 流,並把接收到字幕流按字幕流時間樣本先後順序保存在本地的一個緩衝隊列 裡;字幕解碼組件522對字幕接收/緩衝組件521輸出的已編碼字幕流數據,採 用相應的解碼算法進行解碼,並將解碼後的數據流寫入字幕緩衝文件,如,字 幕伺服器300上的字幕流採用LZ77算法編碼,字幕解碼組件522則採用LZ77 解碼算法進行解碼。既使用和字幕流編碼對應的解碼算法解碼。視頻/字幕合成 組件523將視頻解碼組件514輸出的視頻流和字幕解碼組件522輸出的字幕流 合成新的#見頻流並輸出。播放單元530包括音頻播放組件531和視頻播放組件532,音頻播放組件 531用於播放音頻解碼組件513輸出的音頻流,視頻播放組件532用於播放視頻 /字幕合成組件523輸出的視頻流。為了使字幕流和對應的媒體流同步播放,字幕流的時間戳必須與對應的媒 體流的時間戳匹配(或者說明媒體流和字幕流的時間戳必須一致)。流媒體播放器500在確定字幕流和媒體流的時間戳是否匹配時,以第一個媒體流樣本的時 間戳與第一個字幕流樣本的時間戳的差值為參考值,如果當前字幕流樣本的時 間戳與當前媒體流樣本時間戳的差值與所述參考值之差不大於設定的閾值,則 確定所述當前媒體流時間戳與當前字幕流時間戳匹配。如閾值設定為2,媒體 流的第一個媒體樣本的時間戳是10,字幕流第一個樣本的時間戳是110,則參 考值為110-10=100。若經過5秒以後,當前媒體流的時間戳為10+5=15,此時 收到的字幕流樣本的時間戳為116,則當前字幕流樣本的時間戳與當前媒體流樣 本時間戳的差值101 (116-15=101)與參考值100的差為1,此時該差值1小於 閾值2,流媒體播放器500則確定字幕流時間戳與流媒體時間戳匹配。 參閱圖5所示,播放流媒體字幕的過程如下步驟10:即時通訊用戶A首先向流媒體伺服器200申請流媒體服務(標識 該流媒體為C),在收到流媒體伺服器200的應答後,通訊用戶A再向字幕服務 器300申請媒體流C對應的字幕服務。流媒體伺服器對即時通訊用戶A的應答 中包括了是否需要認證、是否提供字幕流服務等信息。步驟20:流媒體伺服器200和字幕伺服器300分別檢查後確認可為該新用 戶提供流媒體服務和字幕服務,並要求用戶A提供籤名。步驟30:用戶A向即時通訊伺服器100獲取用於訪問流媒體伺服器200和 字幕伺服器300的籤名,即時通訊伺服器100返回一個可訪問流々某體伺服器的 籤名Sl和一個可訪問字幕伺服器的籤名S2,由用戶發送籤名給流々某體伺服器 200和字幕伺服器300。步驟40:流媒體伺服器200和字幕伺服器300分別認證籤名Sl和籤名S2, 若兩個籤名均通過認證,則流々某體伺服器200和字幕伺服器300分別向用戶A 發送媒體流C和對應的字幕流。若籤名未通過認證,則伺服器不會向用戶A提 供服務。步驟50:即時通訊用戶A客戶端(IM Client)上啟動的流媒體播放器500接收媒體流C和對應的字幕流,由媒體流處理單元510解碼媒體流C並分離出 音頻流和視頻流,合成單元520接收到視頻流和解碼後的字幕服務流後,判斷 視頻流的時間戳與字幕流的時間戳是否匹配,如果匹配,則將該視頻流和字幕 流合成新的視頻流,播放單元530播放媒體流處理單元510輸出的音頻流和合 成單元520輸出的視頻流,從而達到媒體流和對應的字幕流同頻播放。若不匹 配,則緩存該字幕流,如果該字幕流時間戳的絕對差值和當前媒體流時間戳的 絕對差值大於限定值,則認為該字幕樣本已經無效,丟棄該樣本。在媒體流處理單元510中,視頻解碼組件514將媒體流中的視頻流解碼後, 以位圖(Bitmap)的格式傳輸給合成單元520中的視頻/字幕合成組件5M,視 頻/字幕合成組件523合成新的視頻幀時將要顯示字幕點陣在位圖上對應的位置 的位圖點陣替換成字幕顏色,處理完當前幀要顯示的所有字符的點陣即完成一 幀的字幕、視頻合成。若上述的媒體流中不包含視頻流即僅有音頻流,視頻/字幕合成組件523將 字幕流單獨轉化成視頻流的格式發送給視頻顯示組件532進行顯示。當然,流媒體伺服器200和字幕伺服器300也可能不需要用戶提供籤名而 直接提供服務,即在上述步驟20、步驟30和步驟40中沒有要求籤名、獲取籤 名和籤名認證過程。本發明在多媒體新聞發布、網上演示、在線直播、網絡廣告、電子商務、現同理,在此不再贅述。明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及 其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1、一種流媒體播放器,包括將流媒體分離並解碼出音頻流和視頻流的媒體流處理單元,用於播放音頻流和視頻流的播放單元;其特徵在於,所述播放器還包括合成單元,該合成單元用於接收和解碼字幕流,以及將解碼後的字幕流轉換為新的視頻流或者將解碼後的字幕流與所述媒體流處理單元輸出的視頻流合成新的視頻流後輸出到所述播放單元。
2、 如權利要求l所述的流媒體播放器,其特徵在於,所述合成單元包括 字幕接收/緩衝組件,用於接收並緩存字幕流;字幕解碼組件,用於解碼緩存的字幕流;視頻/字幕合成組件,用於將解碼後的字幕流轉換為新的視頻流,或者將解 碼後的字幕流與所述視頻流合成新的視頻流。
3、 一種流糹某體字幕合成裝置,其特徵在於該組件包括 字幕接收/緩沖組件,用於接收並緩存字幕流; 字幕解碼組件,用於解碼緩存的字幕流;視頻/字幕合成組件,用於將字幕解碼組件輸出的字幕流和接收到的視頻流 合成新的^L頻流。
全文摘要
本發明公開了一種流媒體播放器,以解決現有技術在同時提供流媒體和字幕服務時存在靈活性和動態可控性差的問題;該流媒體播放器,包括將流媒體分離並解碼出音頻流和視頻流的媒體流處理單元,用於播放音頻流和視頻流的播放單元;所述播放器還包括合成單元,該合成單元用於接收和解碼字幕流,以及將解碼後的字幕流轉換為新的視頻流或者將解碼後的字幕流與所述媒體流處理單元輸出的視頻流合成新的視頻流後輸出到所述播放單元。
文檔編號H04N7/52GK101262611SQ200810088098
公開日2008年9月10日 申請日期2005年5月1日 優先權日2005年5月1日
發明者伍海君, 宇 王 申請人:騰訊科技(深圳)有限公司