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

一種無客戶端的跨平臺視頻播放實現(xiàn)方法與流程

文檔序號:11292672閱讀:1267來源:國知局
一種無客戶端的跨平臺視頻播放實現(xiàn)方法與流程

本發(fā)明屬于互聯(lián)網(wǎng)流媒體技術(shù)領(lǐng)域,涉及一種無客戶端的跨平臺視頻播放實現(xiàn)方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)的高速發(fā)展,視頻監(jiān)控類應用的物聯(lián)網(wǎng)設備的增多,人們通過pc端web瀏覽器或手機客戶端觀看視頻的需求逐步增多,傳統(tǒng)的實時傳輸協(xié)議(rtp)、實時流傳輸協(xié)議(rtsp)等流媒體協(xié)議已逐漸顯示其中的缺點,服務端實現(xiàn)、部署復雜度高,需要開放單獨的網(wǎng)絡端口,容易被網(wǎng)絡防火前攔截等。而傳統(tǒng)的基于http協(xié)議的流媒體服務器,雖然部署簡單,不需單獨的網(wǎng)絡端口,但其對實時視頻流的支持較差,且需要安裝flash插件來支持視頻播放,難以做到跨平臺來滿足大眾的需求。

因此,研究一種跨平臺性能好、無需專用播放器或插件支持的物聯(lián)網(wǎng)設備視頻播放方法,具有巨大的實際應用價值。



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

本發(fā)明的目的是提供一種無客戶端的跨平臺視頻播放實現(xiàn)方法,解決了現(xiàn)有技術(shù)中視頻播放跨平臺性差,需要專用的客戶端或瀏覽器插件支持,服務端安裝部署麻煩的問題。

本發(fā)明采用的技術(shù)方案是,一種無客戶端的跨平臺視頻播放實現(xiàn)方法,按照以下步驟實施:

步驟1、客戶端向流媒體服務器發(fā)起視頻請求

1.1)啟動流媒體服務器,解析配置文件,創(chuàng)建rpc線程并綁定至特定端口,監(jiān)聽客戶端連接的到來;

1.2)web客戶端讀取數(shù)據(jù)庫中保存的攝像機列表顯示至web界面供用戶選擇;

1.3)根據(jù)用戶所選的具體攝像機編號、通道號向流媒體服務器rpc接口發(fā)起視頻請求;

步驟2、流媒體服務器對web客戶端請求進行解析處理;

步驟3、web客戶端向流媒體服務器發(fā)起http請求;

步驟4、流媒體服務器通過http協(xié)議傳遞特定視頻分片至web客戶端;

步驟5、web客戶端解析視頻分片內(nèi)容并播放。

本發(fā)明的有益效果是,結(jié)合dash協(xié)議和視頻監(jiān)控的特點,通過對dash協(xié)議的實時性增強和優(yōu)化等改進,實現(xiàn)了實時和歷史視頻播放。服務端按照dash視頻流支持的格式對原始視頻進行處理,生成mpd索引文件和視頻分片文件,客戶端采用html5+mse技術(shù)完成視頻流的播放,用戶無需單獨安裝flash插件或特定播放器軟件,即可自適應不同視頻流中分辨率、幀率的改變,借助瀏覽器能夠很好的在android、ios、windows、linux等不同平臺閱覽視頻,支持實時視頻和歷史視頻的調(diào)閱,增強用戶體驗。

附圖說明

圖1為本發(fā)明方法的整體框架圖;

圖2為本發(fā)明方法rpc模塊交互流程圖;

圖3為本發(fā)明視頻播放過程中http交互圖。

具體實施方式

以下本文中的流媒體服務器是指裝有服務端程序的pc機,web客戶端是指支持html5和mse擴展的web瀏覽器。

本發(fā)明采用html5+mse(mediasourceextensions)技術(shù),從工程角度實現(xiàn)mpeg-dash協(xié)議,實現(xiàn)了無客戶端的視頻播放方法。

如圖1所示,流媒體服務器由rpc模塊、dash視頻流處理模塊、http服務模塊三部分構(gòu)成,其中rpc模塊負責和客戶端進行通信并處理客戶端視頻請求;dash視頻流處理模塊負責將原始視頻流數(shù)據(jù)打包成mpeg-dash支持的格式,產(chǎn)生視頻分片文件和mpd索引文件存儲在服務器端;http服務模塊負責視頻分片文件的傳輸。

本發(fā)明方法,基于上述的流媒體服務器架構(gòu),按照以下步驟實施:

步驟1、客戶端向流媒體服務器發(fā)起視頻請求

1.1)啟動流媒體服務器,解析配置文件,創(chuàng)建rpc線程并綁定至特定端口(默認為8090,用于和web客戶端進行rpc通訊),監(jiān)聽客戶端連接的到來;

1.2)web客戶端讀取數(shù)據(jù)庫中保存的攝像機列表顯示至web界面供用戶選擇;

1.3)根據(jù)用戶所選的具體攝像機編號、通道號向流媒體服務器rpc接口發(fā)起視頻請求;

步驟2、流媒體服務器對web客戶端請求進行解析處理

2.1)解析客戶端請求命令;

2.2)創(chuàng)建視頻處理線程,將原始h.264格式的視頻流數(shù)據(jù)打包處理成mpeg-dash所需的格式,生成mpd索引文件和視頻分片并存儲于服務器端;

2.3)采用統(tǒng)一命名規(guī)范對視頻分片進行命名處理;

2.4)通過rpc接口返回mpd文件所在的虛擬url至web客戶端;

步驟3、web客戶端向流媒體服務器發(fā)起http請求

3.1)根據(jù)rpc接口返回的url向流媒體服務器發(fā)起httpget請求,下載mpd文件;

3.2)解析mpd索引文件,獲得媒體持續(xù)時間、比特率、分片url等媒體特征信息;

3.3)根據(jù)視頻分片1的url向流媒體服務器發(fā)起http請求;

步驟4、流媒體服務器通過http協(xié)議傳遞特定視頻分片至web客戶端

4.1)解析web客戶端的http請求;

4.2)根據(jù)web客戶端的請求url,流媒體服務器查找該url對應的視頻分片文件;

4.3)調(diào)用readfile()函數(shù)讀取視頻分片文件,通過httpsendhttpresponse()方法返回視頻分片數(shù)據(jù)至web客戶端;

步驟5、web客戶端解析視頻分片內(nèi)容并播放

5.1)web客戶端解析視頻分片內(nèi)容并進行播放;

5.2)開啟自適應機制,通過一定的策略估算網(wǎng)絡帶寬,調(diào)整下一次請求視頻分片的比特率,繼續(xù)向流媒體服務器請求下一個視頻分片,直至視頻播放完成。

實施例

步驟1、客戶端向流媒體服務器發(fā)起視頻請求

1.1)啟動流媒體服務器,解析配置文件,創(chuàng)建rpc線程并綁定至特定端口(默認為8090,用于和web客戶端進行rpc通訊),監(jiān)聽客戶端連接的到來;

1.2)web客戶端讀取數(shù)據(jù)庫中保存的攝像機列表顯示至web界面供用戶選擇;

1.3)根據(jù)用戶所選的具體攝像機編號、通道號向流媒體服務器rpc接口發(fā)起視頻請求;

步驟2、流媒體服務器對web客戶端請求進行解析處理

2.1)解析客戶端請求命令;

2.2)創(chuàng)建視頻處理線程,將原始h.264格式的視頻流數(shù)據(jù)打包處理成mpeg-dash所需的格式,生成mpd索引文件和視頻分片并存儲于服務器端,mpd索引文件以xml格式存在,主要由mpd、period、adaptationset、representation、segmenttemplate標簽構(gòu)成。其中mpd標簽中的type屬性代表視頻屬性是實時視頻或歷史視頻,minbuffertime屬性代表視頻的最小緩存時間,mediapresentationduration屬性代表節(jié)目的總播放時間;adaptationset標簽中的contenttype屬性代表媒體的呈現(xiàn)方式,包括視頻、音頻或字幕;representaiton標簽中codecs屬性代表視頻編解碼器類型,minitype屬性代表視頻格式,width、height、framerate屬性分別代表該視頻分片的寬度、高度、幀率信息。segmenttemplate標簽中timescale屬性表示切片的時間軸,其生成的視頻切片名用$number$標識,表示該部分由具體的數(shù)字來表示;

2.3)采用統(tǒng)一命名規(guī)范對視頻分片進行命名處理,切片文件名由視頻文件名稱和切片序號兩部分組成,所有的視頻片段都以“l(fā)ive-video-sd-”開頭,按固定順序連接視頻片段的序號“1”,“2”……;

2.4)通過rpc接口返回mpd文件所在的虛擬url至web客戶端,rpc模塊通信的完整流程如圖2所示,首先創(chuàng)建rpc線程,監(jiān)聽web客戶端連接,在收到客戶端視頻請求后對其進行解析,然后調(diào)用視頻處理線程對原始視頻流進行處理,等待視頻分片的產(chǎn)生。當流媒體服務器端產(chǎn)生視頻分片后,返回mpd文件url至web端,否則返回相應的錯誤編碼;

步驟3、web客戶端向流媒體服務器發(fā)起http請求

3.1)根據(jù)rpc接口返回的url向流媒體服務器發(fā)起httpget請求,下載mpd文件;

3.2)解析mpd索引文件,獲得媒體持續(xù)時間、比特率、分片url等媒體特征信息;

3.3)根據(jù)視頻分片1的url向流媒體服務器發(fā)起httpget請求;

步驟4、流媒體服務器通過http協(xié)議傳遞特定視頻分片至web客戶端

4.1)解析web客戶端的http請求;

4.2)根據(jù)web客戶端的請求url,流媒體服務器查找該url對應的視頻分片文件;

4.3)調(diào)用readfile()函數(shù)讀取視頻分片文件,通過httpsendhttpresponse()方法返回視頻分片數(shù)據(jù)至web客戶端;

步驟5、web客戶端解析視頻分片內(nèi)容并播放

5.1)web客戶端解析視頻分片1的內(nèi)容并進行播放;

5.2)開啟自適應機制,通過一定的策略估算網(wǎng)絡帶寬,調(diào)整下一次請求視頻分片的比特率,繼續(xù)向流媒體服務器請求下一個視頻分片,直至視頻播放完成,http請求過程的交互邏輯如圖3所示。

本發(fā)明的方法,流媒體服務器部署在windows平臺,由windows服務統(tǒng)一進行管理,web客戶端為支持html5和mse擴展的瀏覽器。web端用戶在登錄成功后,根據(jù)所選攝像機編號,向流媒體服務器發(fā)起視頻請求,在獲得視頻流后對其進行解析處理,完成視頻畫面的播放。與傳統(tǒng)的web端視頻流播放相比,本發(fā)明方法無需特定的flash插件支持,跨平臺性強,用戶可在任一時間、任一地點完成視頻流的閱覽。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泰顺县| 正安县| 上思县| 永定县| 永福县| 滦南县| 会昌县| 临夏市| 定襄县| 安岳县| 洛扎县| 同德县| 苍溪县| 梁平县| 建宁县| 上饶市| 临汾市| 济阳县| 普宁市| 合作市| 红桥区| 七台河市| 瑞昌市| 扎囊县| 同德县| 哈巴河县| 怀远县| 新乡市| 汨罗市| 襄樊市| 安化县| 张家口市| 原平市| 丹寨县| 晴隆县| 锡林浩特市| 乌苏市| 肃宁县| 榆树市| 金秀| 平安县|