專利名稱:一種基于嵌入式終端的在線流媒體服務方法
技術領域:
本發(fā)明涉及一種基于嵌入式終端的在線流媒體服務方法,屬于嵌入式終端技術領域。
背景技術:
隨著計算機網絡的發(fā)展,網絡帶寬的提高,所有的軟件應用都作為一種服務提供給用戶,云計算成為互聯(lián)網時代全新的IT服務模式;另一方面,云計算技術的發(fā)展,降低了對上網終端設備的要求,一種新的信息化模式“瘦客戶端+寬帶網+云計算服務器”模式成為未來的發(fā)展趨勢和必然。基于這種發(fā)展趨勢,上網終端設備越來越簡單,本發(fā)明中涉及的嵌入式終端即屬于瘦客戶端,系統(tǒng)移植嵌入式Linux操作系統(tǒng),通過開發(fā)具有針對性的應用滿足用戶需求。嵌入式終端是一種常見的嵌入式智能設備,目前嵌入式系統(tǒng)已廣泛應用于信息家電、手機、工業(yè)控制、醫(yī)療衛(wèi)生、航空航天等眾多領域。傳統(tǒng)的嵌入式應用開發(fā)都是基于非常典型的c/s(ciient/server,客戶端/服務器)架構的應用,然而隨著網絡處理能力的提高, 以桌面為核心的任務處理轉變?yōu)橐跃W絡為核心的任務處理,人們可以利用互聯(lián)網實現(xiàn)自己想完成的一切處理任務,軟件應用的業(yè)務邏輯完全在服務器端實現(xiàn),網絡成為傳遞服務、計算和信息的綜合媒介,B/S (Browser/Server,瀏覽器/服務器)模式隨著hternet技術的興起成為主流的服務模式,是對C/S模式的一種改進。在這種模式下,用戶表現(xiàn)完全在Web 服務器實現(xiàn),客戶端只需要瀏覽器即可進行業(yè)務處理。在嵌入式終端設備的應用中,越來越多豐富的服務都需要與遠程服務器進行連接,通過交互和服務器通信來實現(xiàn)應用,比較典型的就是在線流媒體服務。本發(fā)明中的嵌入式終端硬件平臺采用基于ARMll內核的S3C6410芯片作為處理器,移植開源的嵌入式Linux 操作系統(tǒng)固化嵌入式WebKit內核瀏覽器,本地沒有任何應用軟件,所有的應用都固化到瀏覽器中,如視頻播放功能,開機后系統(tǒng)直接進入瀏覽器界面,嵌入式終端只能通過Web瀏覽器與服務器進行交互,所有的應用服務都通過服務器提供。雖然在嵌入式Linux設備中采用Web支持已經解決了很多問題,但是還有一些和設備相關的特殊功能是Web支持不能提供的,比如嵌入式設備中的視頻播放功能,并不是 HTML和瀏覽器的標準所包含的,而需要本地應用的支持;而使用Web和B/S等技術來實現(xiàn)我們的應用,這些本地應用功能也要由Web來控制。因此,嵌入式設備的的視頻播放,實際是由本地應用實現(xiàn)的,但是何時播放什么視頻應該由Web來決定,并且頁面內容的編輯也在網頁HTML中體現(xiàn),不需要另外一套播放控制機制,即實現(xiàn)B/S下的在線服務。因此,通過web方式提供在線的流媒體服務成為必然。而如《中國西部科技》雜志第08卷第01期2009年1月《嵌入式視頻點播系統(tǒng)設計與實現(xiàn)》文章,《微計算機應用》雜志第30卷第7期2009年7月《MPlayer和Qtopia在嵌入式無線卡拉OK點播終端中的應用》文章所述,均是基于CS模式的流媒體服務。而用于嵌入式Linux系統(tǒng)的B/S模式下的在線流媒體服務少之又少,本發(fā)明不僅實現(xiàn)了在嵌入式Linux系統(tǒng)環(huán)境下的在線流媒體服務,而且使用快捷方便,直接操作web頁面即可觀看流媒體影片。
發(fā)明內容
針對現(xiàn)有嵌入式終端流媒體服務客戶端服務器模式的不足,本發(fā)明提出了一種基于嵌入式終端的在線流媒體服務方法,以實現(xiàn)由C/S模式到B/S模式的改進。其目的在于解決嵌入式終端觀看影片基于CS模式的弊端,基于web的在線流媒體服務方法可以解決客戶端/服務器模式下占用資源多、升級維護復雜以及用戶操作不方便的問題,以實現(xiàn)基于web 形式的在線的流媒體觀看。本發(fā)明的技術方案如下一種基于嵌入式終端的在線流媒體服務方法,由以下系統(tǒng)來實現(xiàn),該系統(tǒng)包括嵌入式終端上的瀏覽器、web服務器、數(shù)據庫服務器、mplayer播放器、流媒體服務器、影片存儲服務器,用戶通過互聯(lián)網登錄到Web服務器,通過瀏覽器訪問web服務器上的流媒體服務系統(tǒng),web服務器通過網絡連接數(shù)據庫服務器,查詢影片列表信息,并將流媒體影片地址參數(shù)傳遞給mplayer播放器,mplayer播放器啟動后通過RTSP協(xié)議連接流媒體服務器,由流媒體服務器提供視頻流傳輸服務,mplayer播放器在接收到數(shù)據后,及時響應進行播放,該方法具體步驟如下[1]web服務器通過網頁形式展現(xiàn)流媒體服務器上的流媒體列表,接受用戶通過表單提交形式對節(jié)目進行點播;[2]web服務器接收到用戶的觀看請求后,查找數(shù)據庫服務器中的影片信息,并從數(shù)據庫中提取流媒體影片的詳細參數(shù),將詳細參數(shù)添加到表單提交參數(shù)中;[3]嵌入式終端通過截取瀏覽器的請求信息,判斷符合特定表單形式的request 行為,并啟動mplayer播放器;[4]mplayer播放器接收流媒體影片詳細信息參數(shù),通過RTSP協(xié)議連接流媒體服務器;[5]流媒體服務器獲取視頻文件信息,返回視頻流給mplayer播放器,進行視頻播放。上述所述的嵌入式瀏覽器作為web服務的客戶端,是進行web頁面展現(xiàn)和在線視頻點播操作的媒介;web服務器是系統(tǒng)關鍵服務器,是用戶與在線流媒體服務系統(tǒng)交流的窗口,用戶訪問最為頻繁,主要為用戶提供節(jié)目瀏覽、檢索、查詢等服務;數(shù)據庫服務器用于存儲管理節(jié)目信息,為用戶檢索查詢節(jié)目提供服務,并存儲視頻節(jié)目的信息,傳輸視頻節(jié)目參數(shù)給mplayer播放器,并可以管理用戶信息,提供登錄、認證等常規(guī)web服務,存儲管理日志記錄,為查詢統(tǒng)計和維護提供服務;嵌入式mplayer播放器根據在線流媒體返回的流媒體信息,與視頻服務器進行連接,以RTSP協(xié)議播放視頻服務器的視頻信息;流媒體服務器采用Darwin流媒體服務器,支持嵌入式設備的視頻播放,支持RTSP協(xié)議,可以為終端用戶提供視頻流傳輸控制服務,并對流量負載提供完善的處理機制;影片存儲服務器由于視頻服務對磁盤的數(shù)據輸出速度要求比較高,視頻數(shù)據非常占用存儲資源,存儲設備通常選用專業(yè)的數(shù)據存儲設備。上述方法中的步驟[1]中的web服務器通過網頁形式展現(xiàn)流媒體服務器上的流媒體列表,并接受用戶通過表單提交形式對節(jié)目進行點播,具體內容如下
a)用戶注冊帳號,登錄在線流媒體服務平臺;b)查看流媒體影片信息列表,該流媒體影片信息列表包括分類列表、搜索影片信息列表;c)用戶選擇某一個流媒體影片,查看影片詳細信息;影片詳細信息以表單形式設計,包括影片名稱、發(fā)布時間、演員信息、影片簡介,表單提交地址設計為和系統(tǒng)編譯表達式一致的形式;d)根據個人喜好確定是否進行觀看。上述方法步驟[2]中的web服務器接收用戶觀看請求,數(shù)據庫服務器返回流媒體影片的地址參數(shù),將參數(shù)添加到表單提交參數(shù),步驟如下a. web服務器在觀看影片請求后,連接數(shù)據庫服務器,以HTTP/TCP協(xié)議交換控制 fn息;b.數(shù)據庫服務器返回流媒體影片參數(shù),該參數(shù)包括流媒體服務器地址、端口號、影片路徑以及傳輸協(xié)議,把需要傳輸?shù)膶崟r數(shù)據從原始信息中檢索出來添加到表單提交參數(shù)中;c.影片觀看表單提交后,嵌入式終端瀏覽器URL信息為相應的表單提交地址。上述方法步驟[3]中的嵌入式終端網頁中啟動mplayer播放器的方法,步驟如下<1>監(jiān)聽用戶請求信息request ;<2>根據請求信息request判斷是否是表單提交,是則轉入下一步,否則轉入步驟 <1> ;<3>判斷截獲的請求信息request與系統(tǒng)編譯表達式是否一致,是則轉入下一步, 否則轉入步驟<1> ;<4>嵌入式終端獲取URL信息;<5> 啟動 mplayer 播放器;<6>播放流媒體。上述啟動mplayer播放器,必先“截獲”用戶的請求,然后使用本地代碼來完成整個啟動過程。上述截獲用戶HTML request請求,即表單提交動作的action屬性值的URL request信息,需要修改QWebView的源代碼,而QWebView使用QWeWage來實現(xiàn)頁面。當頁面發(fā)出一個 Navigation 的 request 時,QWebPage 會調用 acceptNavigationRequest 函數(shù), 這個函數(shù)會在發(fā)生Navigation Request的時候獲取到觸發(fā)事件的頁面元素、request內容和類型。因此要修改QWeWage類,重寫acc印tNavigationRequest,在發(fā)現(xiàn)特定request內容的時候,做出相應的處理,并將返回值設為false,瀏覽器忽略request請求。所述的URL 為統(tǒng)一資源定位符,是英語 Uniform/Universal Resource Locator 的縮寫,也被稱為網頁地址。上述截獲request與系統(tǒng)編譯表達式進行匹配,截獲request后,頁面不進行跳轉,而是通過系統(tǒng)獲取request內容,與系統(tǒng)編譯好的表達式進行匹配,通過判斷request, url (). path ()與編譯表達式是否一致,若符合編譯表達式,啟動mplayer。上述步驟[3]完成了嵌入式設備上用戶提交網頁上“觀看視頻”表單,嵌入式終端設備啟動mplayer播放器,實現(xiàn)了本地代碼被正確的調用運行。上述方法步驟[4]中的mplayer播放器接受流媒體信息參數(shù),連接流媒體服務器, 步驟如下1)通過表單提交路徑提取影片地址;2)系統(tǒng)將流媒體影片信息參數(shù)傳遞給mplayer播放器;3)mplayer播放器通過實時流協(xié)議連接流媒體服務器。上述表單提交路徑設計如下即將流媒體影片信息的form的action屬性設置為特定形式,系統(tǒng)編譯是按照表單設計形式進行相應的源代碼修改;流媒體影片的參數(shù)傳遞是通過在提交地址最后添加? #參數(shù)結束實現(xiàn)的,其中? #后面添加流媒體路徑信息,如
rtsp://xxx. XXX. XXX. xxx :port/path/氺氺氺· mp4。上述mplayer接受影片參數(shù),相當于嵌入式終端系統(tǒng)執(zhí)行以下命令./mplayer rtsp://xxx. xxx. xxx. xxx :port/path/ 料氺· mp4,艮口完成了 web 劉覽器啟動 mplayer 播方文器程序并傳遞流媒體參數(shù)信息給mplayer播放器的過程,這些參數(shù)包括對mplayer播放器程序進行初始化信息,包括流媒體目錄的信息、視頻數(shù)據的編碼類型、與視頻音頻檢索相關的服務器地址。上述實時流協(xié)議指RTSP協(xié)議,流媒體服務器指Darwin流媒體服務器,mplayer播放器連接流媒體服務器指mplayer得到服務器返回的流媒體文件的流媒體路徑信息后通過流媒體協(xié)議播放用戶所請求的流媒體影片文件。上述方法中的步驟[5]中的流媒體服務器獲取視頻頻文件信息,返回視頻流資源流給mplayer播放器播放,步驟如下{a}根據流媒體存儲路徑掛載存儲服務器路徑,連接視頻存儲文件;{bjmplayer播放器與流媒體建立雙向流傳輸;{cjmplayer播放器進行視頻流解碼,播放流媒體。上述mplayer播放器與流媒體建立雙向流傳輸采用實時流傳輸協(xié)議,來交換視頻傳輸;流媒體服務器采用實時傳輸協(xié)議將流媒體數(shù)據傳輸給mplayer播放器程序。上述流媒體影片存儲設備存放大量的視頻節(jié)目,當用戶點播某一個節(jié)目時,就與用戶端建立一個雙向連接,視頻服務器以一定的速率向用戶發(fā)送視頻數(shù)據,用戶接收數(shù)據的同時可以在本地實施播放節(jié)目。本發(fā)明針對傳統(tǒng)嵌入式終端流媒體服務客戶端/服務器模式的不足而提出,實現(xiàn)了流媒體服務C/S模式到B/S的改進,解決了客戶端/服務器模式下系統(tǒng)占用資源多、系統(tǒng)維護復雜以及用戶操作不方便的問題,實現(xiàn)了基于web形式的在線的流媒體觀看,保證了為用戶提供優(yōu)質服務。
圖1為本發(fā)明方法中所用系統(tǒng)的結構示意圖。其中1為瀏覽器,2為web服務器,3為數(shù)據庫服務器,4為mplayer播放器,5為流媒體服務器,6為影片存儲服務器。圖2為本發(fā)明方法的流程方框圖,其中[1]_[5]為其中的各個步驟。圖3為本發(fā)明方法步驟[1]的流程方框圖,其中a)_d)為其中的各個步驟。
圖4為本發(fā)明方法步驟[2]的流程方框圖,其中a-c為其中的各個步驟。圖5為本發(fā)明方法步驟[3]的流程方框圖,其中<1>_<6>為其中的各個步驟。圖6為本發(fā)明步驟[4]的流程方框圖,其中1)-3)為其中的各個步驟。圖7為本發(fā)明步驟[5]的流程方框圖,其中{a}-{c}為其中的各個步驟。
具體實施例方式下面結合附圖和實施例對本發(fā)明做進一步描述,但不限于此。實施例本發(fā)明實施例如圖1所示,一種基于嵌入式終端的在線流媒體服務方法,由以下系統(tǒng)來實現(xiàn),該系統(tǒng)包括嵌入式終端上的瀏覽器l、《eb服務器2、數(shù)據庫服務器3、mplayer 播放器4、流媒體服務器5、影片存儲服務器6,用戶通過互聯(lián)網登錄到Web服務器2,通過瀏覽器1訪問web服務器2上的流媒體服務系統(tǒng),web服務器2通過網絡連接數(shù)據庫服務器3,查詢影片列表信息,并將流媒體影片地址參數(shù)傳遞給mplayer播放器4,mplayer播放器4啟動后通過RTSP協(xié)議連接流媒體服務器5,由流媒體服務器5提供視頻流傳輸服務, mplayer播放器4在接收到數(shù)據后,及時響應進行播放,該方法如圖2所示,具體步驟如下[1]web服務器通過網頁形式展現(xiàn)流媒體服務器上的流媒體列表,接受用戶通過表單提交形式對節(jié)目進行點播;[2]web服務器接收到用戶的觀看請求后,查找數(shù)據庫服務器中的影片信息,并從數(shù)據庫中提取流媒體影片的詳細參數(shù),將詳細參數(shù)添加到表單提交參數(shù)中;[3]嵌入式終端通過截取瀏覽器的請求信息,判斷符合特定表單形式的request 行為,并啟動mplayer播放器;[4]mplayer播放器接收流媒體影片詳細信息參數(shù),通過RTSP協(xié)議連接流媒體服務器;[5]流媒體服務器獲取視頻文件信息,返回視頻流給mplayer播放器,進行視頻播放。上述方法中的步驟[1]中的web服務器通過網頁形式展現(xiàn)流媒體服務器上的流媒體列表,并接受用戶通過表單提交形式對節(jié)目進行點播,如圖3所示,具體內容如下a)用戶注冊帳號,登錄在線流媒體服務平臺;b)查看流媒體影片信息列表,該流媒體影片信息列表包括分類列表、搜索影片信息列表;c)用戶選擇某一個流媒體影片,查看影片詳細信息;影片詳細信息以表單形式設計,包括影片名稱、發(fā)布時間、演員信息、影片簡介,表單提交地址設計為和系統(tǒng)編譯表達式一致的形式;d)根據個人喜好確定是否進行觀看。上述方法步驟[2]中的web服務器接收用戶觀看請求,數(shù)據庫服務器返回流媒體影片的地址參數(shù),將參數(shù)添加到表單提交參數(shù),如圖4所示,步驟如下a. web服務器在觀看影片請求后,連接數(shù)據庫服務器,以HTTP/TCP協(xié)議交換控制 fn息;b.數(shù)據庫服務器返回流媒體影片參數(shù),該參數(shù)包括流媒體服務器地址、端口號、影片路徑以及傳輸協(xié)議,把需要傳輸?shù)膶崟r數(shù)據從原始信息中檢索出來添加到表單提交參數(shù)中;c.影片觀看表單提交后,嵌入式終端瀏覽器URL信息為相應的表單提交地址。上述方法步驟[3]中的嵌入式終端網頁中啟動mplayer播放器的方法,如圖5所示,步驟如下<1>監(jiān)聽用戶請求信息request ;<2>根據請求信息request判斷是否是表單提交,是則轉入下一步,否則轉入步驟 <1> ;<3>判斷截獲的請求信息request與系統(tǒng)編譯表達式是否一致,是則轉入下一步, 否則轉入步驟<1> ;<4>嵌入式終端獲取URL信息;<5> 啟動 mplayer 播放器;<6>播放流媒體。上述方法步驟[4]中的mplayer播放器接受流媒體信息參數(shù),連接流媒體服務器, 如圖6所示,步驟如下1)通過表單提交路徑提取影片地址;2)系統(tǒng)將流媒體影片信息參數(shù)傳遞給mplayer播放器;3)mplayer播放器通過實時流協(xié)議連接流媒體服務器。上述方法中的步驟[5]中的流媒體服務器獲取視頻頻文件信息,返回視頻流資源流給mplayer播放器播放,如圖7所示,步驟如下{a}根據流媒體存儲路徑掛載存儲服務器路徑,連接視頻存儲文件;mplayer播放器與流媒體建立雙向流傳輸;{c}mplayer播放器進行視頻流解碼,播放流媒體。
權利要求
1.一種基于嵌入式終端的在線流媒體服務方法,由以下系統(tǒng)來實現(xiàn),該系統(tǒng)包括嵌入式終端上的瀏覽器、web服務器、數(shù)據庫服務器、mplayer播放器、流媒體服務器、影片存儲服務器,用戶通過互聯(lián)網登錄到web服務器,通過瀏覽器訪問web服務器上的流媒體服務系統(tǒng),web服務器通過網絡連接數(shù)據庫服務器,查詢影片列表信息,并將流媒體影片地址參數(shù)傳遞給mplayer播放器,mplayer播放器啟動后通過RTSP協(xié)議連接流媒體服務器,由流媒體服務器提供視頻流傳輸服務,mplayer播放器在接收到數(shù)據后,及時響應進行播放,該方法具體步驟如下[llweb服務器通過網頁形式展現(xiàn)流媒體服務器上的流媒體列表,接受用戶通過表單提交形式對節(jié)目進行點播;[2]web服務器接收到用戶的觀看請求后,查找數(shù)據庫服務器中的影片信息,并從數(shù)據庫中提取流媒體影片的詳細參數(shù),將詳細參數(shù)添加到表單提交參數(shù)中;[3]嵌入式終端通過截取瀏覽器的請求信息,判斷符合特定表單形式的request行為, 并啟動mplayer播放器;[4]mplayer播放器接收流媒體影片詳細信息參數(shù),通過RTSP協(xié)議連接流媒體服務器;[5]流媒體服務器獲取視頻文件信息,返回視頻流給mplayer播放器,進行視頻播放。
2.如權利要求1所述方法步驟[1]中的web服務器通過網頁形式展現(xiàn)流媒體服務器上的流媒體列表,并接受用戶通過表單提交形式對節(jié)目進行點播,具體內容如下a)用戶注冊帳號,登錄在線流媒體服務平臺;b)查看流媒體影片信息列表,該流媒體影片信息列表包括分類列表、搜索影片信息列表;c)用戶選擇某一個流媒體影片,查看影片詳細信息;影片詳細信息以表單形式設計, 包括影片名稱、發(fā)布時間、演員信息、影片簡介,表單提交地址設計為和系統(tǒng)編譯表達式一致的形式;d)根據個人喜好確定是否進行觀看。
3.如權利要求1所述方法步驟[2]中的web服務器接收用戶觀看請求,數(shù)據庫服務器返回流媒體影片的地址參數(shù),將參數(shù)添加到表單提交參數(shù),步驟如下a.web服務器在觀看影片請求后,連接數(shù)據庫服務器,以HTTP/TCP協(xié)議交換控制信息;b.數(shù)據庫服務器返回流媒體影片參數(shù),該參數(shù)包括流媒體服務器地址、端口號、影片路徑以及傳輸協(xié)議,把需要傳輸?shù)膶崟r數(shù)據從原始信息中檢索出來添加到表單提交參數(shù)中;c.影片觀看表單提交后,嵌入式終端瀏覽器URL信息為相應的表單提交地址。
4.如權利要求1所述方法步驟[3]中的嵌入式終端網頁中啟動mplayer播放器的方法,步驟如下<1>監(jiān)聽用戶請求信息request ;<2>根據請求信息request判斷是否是表單提交,是則轉入下一步,否則轉入步驟<1> ;<3>判斷截獲的請求信息request與系統(tǒng)編譯表達式是否一致,是則轉入下一步,否則轉入步驟<1>;<4>嵌入式終端獲取URL信息; <5>啟動mplayer播放器;<6>播放流媒體。
5.如權利要求1所述方法步驟[4]中的mplayer播放器接受流媒體信息參數(shù),連接流媒體服務器,步驟如下1)通過表單提交路徑提取影片地址;2)系統(tǒng)將流媒體影片信息參數(shù)傳遞給mplayer播放器;3)mplayer播放器通過實時流協(xié)議連接流媒體服務器。
6.如權利要求1所述方法步驟[5]中的流媒體服務器獲取視頻頻文件信息,返回視頻流資源流給mplayer播放器播放,步驟如下{a}根據流媒體存儲路徑掛載存儲服務器路徑,連接視頻存儲文件; {bjmplayer播放器與流媒體建立雙向流傳輸; {c} mplayer播放器進行視頻流解碼,播放流媒體。
全文摘要
一種基于嵌入式終端的在線流媒體服務方法,屬嵌入式終端技術領域,系統(tǒng)包括播放器等,其步驟為服務器通過網頁形式展現(xiàn)流媒體服務器上的流媒體列表,接受用戶通過表單提交形式對節(jié)目進行點播;服務器查詢數(shù)據庫服務器中的影片詳細參數(shù),將詳細參數(shù)添加到表單提交參數(shù)中;嵌入式終端通過截取瀏覽器的請求信息,判斷符合特定表單形式的request行為,并啟動播放器;播放器接收流媒體影片詳細信息參數(shù),通過RTSP協(xié)議連接流媒體服務器;流媒體服務器獲取視頻文件信息,返回視頻流給播放器,進行視頻播放。實現(xiàn)了由C/S模式到B/S模式的改進,解決了C/S模式下占用資源多、升級維護復雜等問題,實現(xiàn)了web形式的在線流媒體觀看。
文檔編號H04L29/06GK102497452SQ20111044802
公開日2012年6月13日 申請日期2011年12月28日 優(yōu)先權日2011年12月28日
發(fā)明者黨飛, 馮新建, 張海霞, 王君君, 薛良飛, 顏廷芝 申請人:山東大學