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

一種基于安卓操作系統(tǒng)的視頻播放方法及裝置制造方法

文檔序號(hào):7998359閱讀:187來源:國知局
一種基于安卓操作系統(tǒng)的視頻播放方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種基于安卓操作系統(tǒng)的視頻播放方法及裝置,所述方法包括:根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放列表文件包括至少一個(gè)視頻資源的URL;根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需要進(jìn)行視頻切換的URL;在視頻播放列表文件中于所確認(rèn)出的URL之前或之后設(shè)置連續(xù)播放標(biāo)記,生成標(biāo)記后的視頻播放列表文件;播放所述標(biāo)記后的視頻播放列表文件。通過本發(fā)明提供的基于安卓操作系統(tǒng)的視頻播放方法及裝置使得安卓操作系統(tǒng)在播放m3u8格式的視頻時(shí),原視頻資源片段的切換不會(huì)導(dǎo)致視頻的停止,視頻能夠連續(xù)播放。
【專利說明】一種基于安卓操作系統(tǒng)的視頻播放方法及裝置

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及移動(dòng)視頻播放領(lǐng)域,特別涉及一種基于安卓操作系統(tǒng)的視頻播放方法 及裝置。
[0002]

【背景技術(shù)】
[0003] 目前,隨著手機(jī)等無線通信設(shè)備性能的提高和HTML5技術(shù)的發(fā)展,在移動(dòng)瀏覽器 中實(shí)現(xiàn)視頻播放功能的需求變得越來越強(qiáng)烈。因此,眾多瀏覽器廠商都已經(jīng)逐漸支持HTML5 視頻播放,讓瀏覽器有了視頻播放器的功能。
[0004] 目前HTML5視頻格式主要是m3u8格式。m3u8格式文件是一個(gè)文本文件,內(nèi)部記 錄了多個(gè)視頻片段的URL,所有的視頻片段就組成了一個(gè)完整的視頻。操作系統(tǒng)根據(jù)m3u8 格式文件的內(nèi)容,通過URL定位到視頻片段再逐個(gè)播放。視頻網(wǎng)站為了讓服務(wù)器負(fù)載均衡, 通常將一個(gè)視頻電影切割成多個(gè)小視頻文件,然后會(huì)把這些小視頻文件放在不同的服務(wù)器 上。操作系統(tǒng)通過m3u8格式文件就可以找到這些小視頻文件的地址并進(jìn)行播放。
[0005] 然而,Android(安卓)操作系統(tǒng)對(duì)m3u8格式的支持還存在著較多的不足。Android 4. 0以下的操作系統(tǒng)不支持m3u8格式文件的播放,而對(duì)于Android 4. 0或者4. 0以上的操 作系統(tǒng),播放m3u8格式文件一定的時(shí)間后,假設(shè)是六分鐘,m3u8格式文件內(nèi)部的一個(gè)視頻 片段播放完畢需要切換到另一段視頻時(shí),視頻就會(huì)停止播放,再也無法繼續(xù)播放。這個(gè)是 Android操作系統(tǒng)對(duì)m3u8格式的支持不完善導(dǎo)致的。即使現(xiàn)在Android操作系統(tǒng)的最新版 本是4. 2,問題依然存在。
[0006] 對(duì)于一些喜歡看電影或者連續(xù)劇的Android用戶,這些體驗(yàn)是極差的,因?yàn)橐话?的電影或者連續(xù)劇播放時(shí)長(zhǎng)必定會(huì)大于六分鐘。在國內(nèi),優(yōu)酷,土豆等公司的HTML5視頻格 式均使用了 m3u8,這就造成了在Android操作系統(tǒng)上用戶無法流暢、完整地觀看視頻,播放 一定時(shí)間后,例如六分鐘,視頻就會(huì)停止播放。


【發(fā)明內(nèi)容】

[0007] 本發(fā)明的目的之一是提供提供一種基于安卓操作系統(tǒng)的視頻播放方法,以解決目 前安卓操作系統(tǒng)無法支持m3u8格式視頻連續(xù)播放的問題。
[0008] 本發(fā)明的另一目的是提供一種基于安卓操作系統(tǒng)的視頻播放裝置,以解決目前安 卓操作系統(tǒng)無法支持m3u8格式視頻連續(xù)播放的問題。
[0009] 本發(fā)明的另一目的是提供一種無線通信設(shè)備,包含上述的視頻播放裝置,該設(shè)備 可以解決目前安卓操作系統(tǒng)無法支持m3u8格式視頻連續(xù)播放的問題。
[0010] 根據(jù)本發(fā)明的一個(gè)方面,提供一種基于安卓操作系統(tǒng)的視頻播放方法,包括: 根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放列表文件包括至少一個(gè)視頻 資源的URL; 根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需要進(jìn)行視頻切換的URL ; 在視頻播放列表文件中于所確認(rèn)出的URL之前或之后設(shè)置連續(xù)播放標(biāo)記,生成標(biāo)記后 的視頻播放列表文件; 播放所述標(biāo)記后的視頻播放列表文件。
[0011] 在上述方面的一個(gè)或多個(gè)示例中,在視頻播放列表文件中于所確認(rèn)出的URL之前 或之后設(shè)置連續(xù)播放標(biāo)記,生成標(biāo)記后的視頻播放列表文件之后,包括; 生成所述標(biāo)記后的視頻播放列表文件的URL。
[0012] 在上述方面的一個(gè)或多個(gè)示例中,所述播放所述標(biāo)記后的視頻播放列表文件包 括: 根據(jù)所述標(biāo)記后的視頻列表文件的URL調(diào)用視頻播放組件播放所述標(biāo)記后的視頻播 放列表文件。
[0013] 在上述方面的一個(gè)或多個(gè)示例中,所述生成所述標(biāo)記后的視頻播放列表文件的 URL包括: 利用至少一個(gè)HTTP服務(wù)器為所述標(biāo)記后的視頻播放列表文件生成至少一個(gè)符合HTTP 協(xié)議的所述標(biāo)記后的視頻播放列表文件的URL。
[0014] 根據(jù)本發(fā)明的另一方面,其中,所述根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需 要進(jìn)行視頻切換的URL包括: 逐行分析所述視頻播放列表文件中的所有視頻資源的URL ; 判斷出當(dāng)前視頻資源的URL跟上一個(gè)視頻資源的URL指向不同的視頻資源文件時(shí),則 確認(rèn)當(dāng)前視頻資源的URL是需要進(jìn)行視頻切換的URL。
[0015] 在上述方面的一個(gè)或多個(gè)示例中,所述連續(xù)播放標(biāo)記是 "#EXT-X-DISCONTINUITY"。
[0016] 在上述方面的一個(gè)或多個(gè)示例中,所述根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件 之前,包括: 啟動(dòng)至少一個(gè)HTTP服務(wù)器,所述至少一個(gè)HTTP服務(wù)器映射到本地的至少一個(gè)文件夾。
[0017] 在上述方面的一個(gè)或多個(gè)示例中,在視頻播放列表文件中于所確認(rèn)出的URL之前 或之后設(shè)置連續(xù)播放標(biāo)記,生成標(biāo)記后的視頻播放列表文件之后,包括: 將標(biāo)記后的視頻播放列表文件存放在所述至少一個(gè)HTTP服務(wù)器映射的本地的至少一 個(gè)文件夾中。
[0018] 在上述方面的一個(gè)或多個(gè)示例中,根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件之 前,包括: 判斷所述視頻播放請(qǐng)求是否指向視頻播放列表文件,如果是,則根據(jù)視頻播放請(qǐng)求獲 取所述視頻播放列表文件,如果不是,則根據(jù)視頻播放請(qǐng)求播放視頻資源文件。
[0019] 根據(jù)本發(fā)明的另一方面,提供一種基于安卓操作系統(tǒng)的視頻播放裝置,其中,包 括: 獲取單元,用于根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放列表文件包 括至少一個(gè)視頻資源的URL ; 確認(rèn)單元,根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需要進(jìn)行視頻切換的URL ; 標(biāo)記單元,用于在視頻播放列表文件中于所確認(rèn)出的URL之前或之后設(shè)置連續(xù)播放標(biāo) 記,生成標(biāo)記后的視頻播放列表文件; 播放單元,播放所述標(biāo)記后的視頻播放列表文件。
[0020] 在上述方面的一個(gè)或多個(gè)示例中,進(jìn)一步包括: 標(biāo)記文件URL生成單元,用于為所述標(biāo)記后的視頻播放列表文件生成至少一個(gè)符合 HTTP協(xié)議的所述視頻播放列表文件的URL。
[0021] 在上述方面的一個(gè)或多個(gè)示例中,所述確認(rèn)單元進(jìn)一步包括: 分析單元,用于逐行分析所述視頻播放列表文件中的所有視頻資源的URL ; 判斷單元,用于判斷當(dāng)前視頻資源的URL跟上一個(gè)視頻資源文件的URL指向是否相同, 如當(dāng)前視頻資源的URL跟上一個(gè)視頻資源文件的URL指向不同的視頻資源文件,則確認(rèn)當(dāng) 前視頻資源的URL為需要進(jìn)行視頻切換的URL。
[0022] 根據(jù)本發(fā)明的另一方面,提供一種無線通信設(shè)備,包含上述的視頻播放裝置。
[0023] 通過本發(fā)明提供的基于安卓操作系統(tǒng)的視頻播放方法及裝置使得安卓操作系統(tǒng) 在播放m3u8格式的視頻時(shí),原視頻資源片段的切換不會(huì)導(dǎo)致視頻的停止,視頻能夠連續(xù)播 放。
[0024] 為了實(shí)現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個(gè)或多個(gè)方面包括后面將詳細(xì)說明并在 權(quán)利要求中特別指出的特征。下面的說明以及附圖詳細(xì)說明了本發(fā)明的某些示例性方面。 然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明 旨在包括所有這些方面以及它們的等同物。
[0025]

【專利附圖】

【附圖說明】
[0026] 根據(jù)下述參照附圖進(jìn)行的詳細(xì)描述,本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)將變 得更加顯而易見。在附圖中: 圖1示出了根據(jù)本發(fā)明的第一實(shí)施例的基于安卓操作系統(tǒng)的視頻播放方法的流程圖; 圖2示出了根據(jù)本發(fā)明的第二實(shí)施例的基于安卓操作系統(tǒng)的視頻播放方法的流程圖; 圖3示出了根據(jù)本發(fā)明的第三實(shí)施例的一種基于安卓操作系統(tǒng)的視頻播放裝置300的 方框示意圖; 圖3A示出了根據(jù)本發(fā)明的另一實(shí)施例的一種基于安卓操作系統(tǒng)的視頻播放裝置300 的方框示意圖; 圖3B示出了根據(jù)本發(fā)明的另一實(shí)施例的一種基于安卓操作系統(tǒng)的視頻播放裝置300 中的確認(rèn)單元320的方框示意圖; 圖4示出了本發(fā)明第四實(shí)施例提供的一種無線通信設(shè)備400的方框示意圖; 在所有附圖中相同的標(biāo)號(hào)指示相似或相應(yīng)的特征或功能。

【具體實(shí)施方式】
[0027] 下面描述本發(fā)明公開的一種基于安卓操作系統(tǒng)的視頻播放方法及裝置的各個(gè)方 面。應(yīng)該明白的是,本文的教導(dǎo)可以以多種多樣形式具體體現(xiàn),并且在本文中公開的任何具 體結(jié)構(gòu)、功能或兩者僅僅是代表性的?;诒疚牡慕虒?dǎo),本領(lǐng)域技術(shù)人員應(yīng)該明白的是,本 文所公開的一個(gè)方面可以獨(dú)立于任何其它方面實(shí)現(xiàn),并且這些方面中的兩個(gè)或多個(gè)方面可 以按照各種方式組合。例如,可以使用本文所闡述的任何數(shù)目的方面,實(shí)現(xiàn)裝置或?qū)嵺`方 法。另外,可以使用其它結(jié)構(gòu)、功能、或除了本文所闡述的一個(gè)或多個(gè)方面之外或不是本文 所闡述的一個(gè)或多個(gè)方面的結(jié)構(gòu)和功能,實(shí)現(xiàn)這種裝置或?qū)嵺`這種方法。此外,本文所描述 的任何方面可以包括權(quán)利要求的至少一個(gè)元素。
[0028] 安卓操作系統(tǒng)提供了視頻播放控制相關(guān)功能的類,我們稱這些類為MediaPlayer (媒體播放器)組件,這些類是安卓操作系統(tǒng)提供給開發(fā)者用于編寫播放視頻相關(guān)的程序 的,開發(fā)者使用這些類就能在安卓操作系統(tǒng)上編寫一個(gè)視頻播放程序。這些類提供的功能 不僅是播放本身,還包含了播放控制。例如安卓操作系統(tǒng)上的瀏覽器通過傳遞一個(gè)URL給 安卓操作系統(tǒng)的MediaPlayer組件,安卓操作系統(tǒng)利用MediaPlayer組件就能播放這個(gè)URL 指向的視頻。m3u8格式文件必須以IP或者域名等HTTP鏈接方式傳給MediaPlayer組件供 其訪問,否則Android操作系統(tǒng)會(huì)創(chuàng)建錯(cuò)誤的播放器去解析m3u8并最終不能播放。
[0029] 下面將參照附圖描述本發(fā)明的各個(gè)實(shí)施例。
[0030] 第一實(shí)施例 圖1示出了根據(jù)本發(fā)明的第一實(shí)施例的基于安卓操作系統(tǒng)的視頻播放方法的流程圖, 其中,該方法由安裝在基于安卓操作系統(tǒng)的無線通信設(shè)備中的瀏覽器客戶端程序執(zhí)行。
[0031] 如圖1所示,一種基于安卓操作系統(tǒng)的視頻播放方法,包括下述步驟: 在步驟S110中,根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放列表文件包 括至少一個(gè)視頻資源的URL。
[0032] 具體地,無線通信設(shè)備中的瀏覽器客戶端程序接收到一個(gè)視頻播放請(qǐng)求,該視頻 播放請(qǐng)求可以是由用戶點(diǎn)擊視頻網(wǎng)站頁面上的視頻的URL所直接產(chǎn)生的,也可以是基于用 戶的視頻資源請(qǐng)求命令由系統(tǒng)或任意客戶端程序產(chǎn)生的,所述視頻播放請(qǐng)求中包含用戶點(diǎn) 播的視頻的URL。瀏覽器客戶端程序?qū)⑺鲆曨l播放請(qǐng)求傳遞給系統(tǒng)視頻播放組件時(shí),檢查 這個(gè)視頻播放請(qǐng)求中的URL是否指向一個(gè)視頻播放列表文件,如果是,則根據(jù)所述視頻播 放請(qǐng)求獲取該視頻播放列表文件,如果否,則根據(jù)所述視頻播放請(qǐng)求中的URL播放所述URL 所指向的視頻資源文件。
[0033] 在本發(fā)明的一個(gè)實(shí)例中,所述視頻播放列表文件是m3u8格式文件,其內(nèi)部記錄了 多個(gè)視頻資源的URL。所述多個(gè)視頻資源例如是多個(gè)視頻片段,這些視頻片段的內(nèi)容組合起 來是一個(gè)完整的視頻資源,例如一部電影。
[0034] 此外,本發(fā)明視頻播放方法中的視頻播放列表文件可以是m3u8格式,也可以是其 它類似格式,只要其中記錄了多個(gè)視頻資源的URL即可。
[0035] 根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件之前,包括: 判斷所述視頻播放請(qǐng)求是否指向視頻播放列表文件,如果是,則根據(jù)視頻播放請(qǐng)求獲 取所述視頻播放列表文件,如果不是,則根據(jù)視頻播放請(qǐng)求播放視頻資源文件。
[0036] 判斷所述視頻播放請(qǐng)求是否指向視頻播放列表文件,具體包括:判斷所述視頻 播放請(qǐng)求所指向的文件名后綴,如果所述后綴名表明是視頻播放列表文件,則確認(rèn)所述 視頻播放請(qǐng)求指向視頻播放列表文件,否則確認(rèn)所述視頻播放請(qǐng)求不是指向視頻播放列 表文件;或者,判斷請(qǐng)求所述視頻播放請(qǐng)求返回頭部的mimetype,如果所述返回頭部的 mimetype表明是視頻播放列表文件,則確認(rèn)所述視頻播放請(qǐng)求指向視頻播放列表文件,否 則確認(rèn)所述視頻播放請(qǐng)求不是指向視頻播放列表文件。
[0037] 在本發(fā)明的一個(gè)實(shí)例中,判斷視頻播放請(qǐng)求中的URL所指向的文件名后綴,例如 所指向的文件名后綴為".m3u8 ",則確認(rèn)所述視頻播放請(qǐng)求指向一個(gè)視頻播放列表文件。
[0038] 在本發(fā)明的另一個(gè)實(shí)例中,通過向服務(wù)器請(qǐng)求這個(gè)視頻的URL,服務(wù)器會(huì)返回頭部 的mimetype,這個(gè)mimetype標(biāo)記了返回?cái)?shù)據(jù)的類型,即通過這個(gè)mimetype來判斷這個(gè)視頻 的URL是否指向一個(gè)m3u8格式文件。
[0039] 在步驟S120中,根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需要進(jìn)行視頻切換的 URL。
[0040] 具體地,逐行分析視頻播放列表文件中的所有視頻資源的URL。檢查當(dāng)前行是否為 一個(gè)URL,如果不是,則跳過這一行,繼續(xù)分析;如果是,則判斷當(dāng)前視頻資源的URL跟上一 個(gè)視頻資源的URL是否指向相同的視頻資源文件,如果是,則確認(rèn)當(dāng)前視頻資源的URL為不 需要進(jìn)行視頻切換的URL,不做進(jìn)一步特殊處理,繼續(xù)分析;如果不是,則說明這個(gè)位置已 經(jīng)做了視頻資源文件的切換,即確認(rèn)當(dāng)前視頻資源的URL為需要進(jìn)行視頻切換的URL。直到 分析完m3u8格式文件中的所有視頻資源的URL。
[0041] 在步驟S130中,在視頻播放列表文件中于所確認(rèn)出的URL之前或之后設(shè)置連續(xù)播 放標(biāo)記,生成標(biāo)記后的視頻播放列表文件。
[0042] 在一個(gè)優(yōu)選的實(shí)例中,在上述步驟S120所確認(rèn)出的URL之前,即在當(dāng)前視頻資源 的URL和上一個(gè)視頻資源的URL之間加上一行標(biāo)記"#EXT-X-DISCONTINUITY"。
[0043] 依據(jù)m3u8規(guī)范,當(dāng)遇到"#EXT-X-DISCONTINUITY"標(biāo)記的時(shí)候說明以下屬性發(fā)生 了變化:文件格式、視頻軌的個(gè)數(shù)或者類型、編碼參數(shù)、編碼序列、時(shí)間戳。因此,操作系統(tǒng)會(huì) 做特殊的處理,例如重新實(shí)例化一些播放所需的對(duì)象等,從而使得視頻片段切換時(shí)視頻不 會(huì)停止播放。具體操作系統(tǒng)做怎樣的特殊處理屬于本領(lǐng)域的現(xiàn)有技術(shù),不在此詳述。
[0044] 需要說明的是,此處標(biāo)記不僅可以是"#EXT-X-DISCONTINUITY",也可以是文件格 式發(fā)生變化的其他標(biāo)記,其設(shè)置也不僅可以是在當(dāng)前視頻資源的URL前面,也可以是其前 面,只要其代表的含義是當(dāng)前視頻資源的URL與上一個(gè)視頻資源的URL比較,發(fā)生了視頻切 換即可。
[0045] 在一個(gè)優(yōu)選的實(shí)例中,在所有分析并確認(rèn)過的需要進(jìn)行視頻切換的URL之前均進(jìn) 行上述標(biāo)記。將經(jīng)過分析和標(biāo)記過的文件內(nèi)容寫入一個(gè)文件,生成標(biāo)記后的視頻播放列表 文件,如 film. m3u8。
[0046] 進(jìn)一步地,在一個(gè)優(yōu)選的實(shí)例中,將生成的標(biāo)記后的視頻播放列表文件film. m3u8 存放在/sdcard/ucvideo/film.m3u8 中。
[0047] 在一個(gè)優(yōu)選的實(shí)例中,生成標(biāo)記后的視頻播放列表文件之后,還為所述標(biāo)記后的 視頻播放列表文件生成一個(gè)URL。具體地,操作系統(tǒng)預(yù)先啟動(dòng)一個(gè)監(jiān)聽某個(gè)端口的本地 HTTP服務(wù)器。假設(shè)監(jiān)聽的端口號(hào)為9000。這個(gè)服務(wù)器能映射到SDCARD的某個(gè)文件夾,如 /sdcard/ucvideo/。這個(gè)HTTP服務(wù)器能將對(duì)某個(gè)文件的請(qǐng)求映射為對(duì)這個(gè)文件夾內(nèi)的文 件請(qǐng)求。如,若請(qǐng)求http ://127. 0·0· 1:9000/film. m3u8,則這個(gè)服務(wù)器會(huì)讀取/sdcard/ ucvideo/f ilm. m3u8的文件內(nèi)容作為返回。預(yù)先啟動(dòng)這個(gè)HTTP服務(wù)器的原因是m3u8格式文 件的地址必須以IP或者域名等HTTP鏈接方式傳遞給MediaPlayer組件,否則MediaPlayer 組件會(huì)創(chuàng)建錯(cuò)誤的播放器導(dǎo)致不能正確播放。HTTP服務(wù)器現(xiàn)有技術(shù)中存在較多的開源方 案,因此,本優(yōu)選實(shí)例中本地HTTP服務(wù)器的細(xì)節(jié)不在此詳述。在生成標(biāo)記后的視頻播放列 表文件后,利用預(yù)先啟動(dòng)的這個(gè)本地HTTP服務(wù)器生成所述標(biāo)記后的視頻播放列表的URL, 如http://127. 0. 0. 1:9000/film. m3u8,該URL直接鏈接到本地HTTP服務(wù)器映射的路徑/ sdcard/ucvideo/film. m3u8 中。從而,當(dāng)瀏覽器請(qǐng)求 http: //127. 0· 0· 1:9000/film. m3u8 時(shí),本地服務(wù)器就會(huì)讀取/sdcard/ucvideo/film. m3u8文件夾中的m3u8格式文件返回。
[0048] 在步驟S140中,播放所述標(biāo)記后的視頻播放列表文件。
[0049] 具體地,安卓操作系統(tǒng)調(diào)用視頻播放組件播放所述標(biāo)記后的視頻播放列表文件, 即播放視頻播放列表文件中記錄的多個(gè)URL所指向的視頻資源文件。
[0050] 在一個(gè)優(yōu)選的實(shí)例中,將所生成的所述標(biāo)記后的視頻播放列表文件的URL傳遞給 操作系統(tǒng)的視頻播放組件,即MediaPlayer組件,MediaPlayer組件播放該標(biāo)記后的視頻播 放列表文件,即對(duì)該標(biāo)記后的視頻播放列表文件中記載的URL所指向的所有視頻資源逐一 進(jìn)行播放。
[0051] 由于本方法中標(biāo)記后的視頻播放列表文件在需要進(jìn)行視頻切換的URL之前或之 后進(jìn)行了標(biāo)記,因此,在MediaPlayer組件播放所述標(biāo)記后的視頻播放列表文件時(shí),操作系 統(tǒng)可以判斷出需要進(jìn)行視頻切換的URL,使得視頻資源文件能夠連續(xù)播放。
[0052] 根據(jù)第一實(shí)施例的視頻播放方法,通過在無線通信設(shè)備本地對(duì)視頻播放列表文件 進(jìn)行修改,標(biāo)記需要進(jìn)行視頻切換的URL,利用符合HTTP協(xié)議的URL定位修改后的m3u8格 式文件,能夠使得m3u8格式視頻不會(huì)因?yàn)閮?nèi)部的視頻切換而停止播放。大大優(yōu)化了用戶在 基于安卓操作系統(tǒng)的無線通信設(shè)備瀏覽器上觀賞視頻的體驗(yàn)。
[0053] 需要說明的是該方法由安裝在基于安卓操作系統(tǒng)的無線通信設(shè)備中的瀏覽器客 戶端程序執(zhí)行僅為一個(gè)優(yōu)選的實(shí)施方式,該方法還可以由基于安卓操作系統(tǒng)的無線通信設(shè) 備中的其他客戶端程序軟件執(zhí)行,具體由什么客戶端程序軟件執(zhí)行本方法并不影響本發(fā)明 方法保護(hù)的范圍。
[0054] 第二實(shí)施例 圖2示出了根據(jù)本發(fā)明的第二實(shí)施例的基于安卓操作系統(tǒng)的視頻播放方法的流程圖。 其中,該方法由安裝在基于安卓操作系統(tǒng)的無線通信設(shè)備中的瀏覽器客戶端程序執(zhí)行。
[0055] 步驟S210,操作系統(tǒng)預(yù)先啟動(dòng)一個(gè)監(jiān)聽某個(gè)端口的本地HTTP服務(wù)器; 步驟S220,接收來自用戶的視頻播放請(qǐng)求URL,判斷該視頻播放請(qǐng)求URL是否指向一個(gè) m3u8格式文件,如果是,則轉(zhuǎn)向步驟S230,如果否,則轉(zhuǎn)向步驟S270 ; 步驟S230,發(fā)起網(wǎng)絡(luò)請(qǐng)求以獲取所述m3u8格式文件; 步驟S240,逐行分析所述m3u8格式文件; 步驟S241,判斷所述m3u8格式文件是否已經(jīng)分析完畢,如果是,則轉(zhuǎn)到步驟S250,如果 否,則轉(zhuǎn)到步驟S242 ; 步驟S242,判斷當(dāng)前行是否為一個(gè)URL,如果是,則轉(zhuǎn)到步驟S243,如果否,則返回步驟 S240 ; 步驟S243,判斷當(dāng)前URL與上一個(gè)URL是否指向相同的視頻文件,如果否,則轉(zhuǎn)到 S244,如果是,則返回步驟S240 ; 步驟S244,在當(dāng)前URL前面、即當(dāng)前URL和上一個(gè)URL之間加上一行標(biāo)記: #EXT-X-DISCONTINUITY,然后返回步驟 S240 ; 步驟S250,將分析完后的文件內(nèi)容寫入一個(gè)新文件生成標(biāo)記后m3u8格式文件; 步驟S251,利用本地HTTP服務(wù)器,生成所述標(biāo)記后的m3u8格式文件的URL ; 步驟S260,將所生成的標(biāo)記后的m3u8格式文件的URL傳遞給MediaPlayer組件; 步驟S270, MediaPlayer組件播放此標(biāo)記后的m3u8格式文件。
[0056] 需要說明的是,依據(jù)m3u8規(guī)范,當(dāng)遇到"#EXT-X-DISCONTINUITY"標(biāo)記的時(shí)候說明 以下屬性發(fā)生了變化:文件格式、視頻軌的個(gè)數(shù)或者類型、編碼參數(shù)、編碼序列、時(shí)間戳。因 此,操作系統(tǒng)會(huì)做特殊的處理,例如重新實(shí)例化一些播放所需的對(duì)象等,從而使得視頻片段 切換時(shí)視頻不會(huì)停止播放。
[0057] 根據(jù)第二實(shí)施例的視頻播放方法,通過在無線通信設(shè)備本地對(duì)m3u8格式文件進(jìn) 行修改,在進(jìn)行了視頻切換的URL之間進(jìn)行標(biāo)記并將標(biāo)記后m3u8格式文件存放在無線通信 設(shè)備本地,然后利用本地HTTP服務(wù)器生成標(biāo)記后m3u8格式文件URL來定位標(biāo)記后的m3u8 格式文件,從而使得m3u8格式視頻不會(huì)因?yàn)閮?nèi)部的視頻切換而停止播放。大大優(yōu)化了用戶 在基于安卓操作系統(tǒng)的無線通信設(shè)備瀏覽器上觀賞視頻的體驗(yàn)。
[0058] 第三實(shí)施例 圖3示出了根據(jù)本發(fā)明的第三實(shí)施例的一種基于安卓操作系統(tǒng)的視頻播放裝置300的 方框示意圖。
[0059] 如圖3所示,該視頻播放裝置300包括獲取單元310、確認(rèn)單元320、標(biāo)記單元330、 播放單元340。
[0060] 所述獲取單元310,用于根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放 列表文件包括至少一個(gè)視頻資源的URL ; 所述確認(rèn)單元320,用于根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放列表 文件包括至少一個(gè)視頻資源的URL,并根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需要進(jìn)行 視頻切換的URL ; 所述標(biāo)記單元330,用于在視頻播放列表文件中于所確認(rèn)出的URL之前或之后設(shè)置連 續(xù)播放標(biāo)記,生成標(biāo)記后的視頻播放列表文件; 所述播放單元340,播放所述標(biāo)記后的視頻播放列表文件。
[0061] 如圖3A所示,在一個(gè)優(yōu)選的實(shí)例中,該視頻播放裝置300進(jìn)一步包括: 標(biāo)記文件URL生成單元350,用于根據(jù)所述標(biāo)記后的視頻播放列表文件生成至少一個(gè) 符合HTTP協(xié)議的所述視頻播放列表文件的URL。
[0062] 如圖3B所示,在一個(gè)優(yōu)選的實(shí)例中,所述確認(rèn)單元320進(jìn)一步包括: 分析單元321,用于逐行分析所述視頻播放列表文件中的所有視頻資源的URL ; 判斷單元322,用于判斷當(dāng)前視頻資源的URL跟上一個(gè)視頻資源文件的URL指向是否相 同,如當(dāng)前視頻資源的URL跟上一個(gè)視頻資源文件的URL指向不同的視頻資源文件,則確認(rèn) 當(dāng)前視頻資源的URL為需要進(jìn)行視頻切換的URL。如當(dāng)前視頻資源的URL跟上一個(gè)視頻資 源文件的URL指向相同的視頻資源文件,則確認(rèn)當(dāng)前視頻資源的URL為不需要進(jìn)行視頻切 換的URL。
[0063] 此外,還可以對(duì)本實(shí)施例的視頻播放裝置300進(jìn)行各種修改。
[0064] 第四實(shí)施例 圖4示出了本發(fā)明第四實(shí)施例提供的一種包含第三實(shí)施例的視頻播放裝置300的無線 通信設(shè)備400的方框示意圖,該無線通信設(shè)備400還包括處理器410和存儲(chǔ)裝置420。 [0065] 在一個(gè)優(yōu)選的實(shí)例中,視頻播放裝置300中的所述標(biāo)記單元330與存儲(chǔ)裝置420 相連,當(dāng)所述標(biāo)記單元330在需要進(jìn)行視頻切換的URL之前或之后進(jìn)行連續(xù)播放標(biāo)記。生 成標(biāo)記后的視頻播放列表文件之后,所述存儲(chǔ)裝置420用于存儲(chǔ)所述標(biāo)記后的視頻播放列 表文件。
[0066] 在一個(gè)優(yōu)選的實(shí)例中,操作系統(tǒng)預(yù)先啟動(dòng)一個(gè)監(jiān)聽某個(gè)端口的本地HTTP服務(wù)器 430。假設(shè)監(jiān)聽的端口號(hào)為9000。這個(gè)服務(wù)器能映射到所述本地存儲(chǔ)裝置420。
[0067] 第五實(shí)施例 本發(fā)明第五實(shí)施例提供了一種無線通信設(shè)備,包括至少一個(gè)處理器,至少一個(gè)存儲(chǔ)器 和至少一個(gè)程序,所述至少一個(gè)程序存儲(chǔ)在所述存儲(chǔ)器中,所述至少一個(gè)程序配置為被所 述處理器執(zhí)行時(shí),所述處理器執(zhí)行以下步驟 : 根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放列表文件包括至少一個(gè)視頻 資源的URL; 根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需要進(jìn)行視頻切換的URL ; 在視頻播放列表文件中于所確認(rèn)出的URL之前或之后設(shè)置連續(xù)播放標(biāo)記,生成標(biāo)記后 的視頻播放列表文件; 播放所述標(biāo)記后的視頻播放列表文件。此外,所述至少一個(gè)程序配置為被所述處理器 執(zhí)行時(shí),所述處理器還可以執(zhí)行第一實(shí)施例中所述的各步驟。
[0068] 此外,典型地,本發(fā)明所述的無線通信設(shè)備可為各種手持終端設(shè)備,例如手機(jī)、個(gè) 人數(shù)字助理(PDA)等,因此本發(fā)明的保護(hù)范圍不應(yīng)限定為某種特定類型的無線通信設(shè)備。 [0069] 此外,根據(jù)本發(fā)明的方法還可以被實(shí)現(xiàn)為由CPU執(zhí)行的計(jì)算機(jī)程序。在該計(jì)算機(jī) 程序被CPU執(zhí)行時(shí),執(zhí)行本發(fā)明的方法中限定的上述功能。
[0070] 此外,上述方法步驟以及系統(tǒng)單元也可以利用控制器以及用于存儲(chǔ)使得控制器實(shí) 現(xiàn)上述步驟或單元功能的計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備實(shí)現(xiàn)。
[0071] 此外,應(yīng)該明白的是,本文所述的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備(例如,存儲(chǔ)器)可以是易失 性存儲(chǔ)器或非易失性存儲(chǔ)器,或者可以包括易失性存儲(chǔ)器和非易失性存儲(chǔ)器兩者。作為例 子而非限制性的,非易失性存儲(chǔ)器可以包括只讀存儲(chǔ)器(ROM)、可編程ROM (PR0M)、電可編 程ROM (EPROM)、電可擦寫可編程ROM (EEPR0M)或快閃存儲(chǔ)器。易失性存儲(chǔ)器可以包括隨 機(jī)存取存儲(chǔ)器(RAM),該RAM可以充當(dāng)外部高速緩存存儲(chǔ)器。作為例子而非限制性的,RAM 可以以多種形式獲得,比如同步RAM (DRAM)、動(dòng)態(tài)RAM (DRAM)、同步DRAM (SDRAM)、雙數(shù)據(jù) 速率 SDRAM (DDR SDRAM)、增強(qiáng) SDRAM (ESDRAM)、同步鏈路 DRAM (SLDRAM)以及直接 Rambus RAM (DRRAM)。所公開的方面的存儲(chǔ)設(shè)備意在包括但不限于這些和其它合適類型的存儲(chǔ)器。
[0072] 本領(lǐng)域技術(shù)人員還將明白的是,結(jié)合這里的公開所描述的各種示例性邏輯塊、單 元、電路和算法步驟可以被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了清楚地說明硬 件和軟件的這種可互換性,已經(jīng)就各種示意性組件、方塊、單元、電路和步驟的功能對(duì)其進(jìn) 行了一般性的描述。這種功能是被實(shí)現(xiàn)為軟件還是被實(shí)現(xiàn)為硬件取決于具體應(yīng)用以及施加 給整個(gè)系統(tǒng)的設(shè)計(jì)約束。本領(lǐng)域技術(shù)人員可以針對(duì)每種具體應(yīng)用以各種方式來實(shí)現(xiàn)所述的 功能,但是這種實(shí)現(xiàn)決定不應(yīng)被解釋為導(dǎo)致脫離本發(fā)明的范圍。
[0073] 結(jié)合這里的公開所描述的各種示例性邏輯塊、單元和電路可以利用被設(shè)計(jì)成用于 執(zhí)行這里所述功能的下列部件來實(shí)現(xiàn)或執(zhí)行:通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集 成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或晶體管邏輯、 分立的硬件組件或者這些部件的任何組合。通用處理器可以是微處理器,但是可替換地,處 理器可以是任何傳統(tǒng)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以被實(shí)現(xiàn)為計(jì)算設(shè)備 的組合,例如,DSP和微處理器的組合、多個(gè)微處理器、一個(gè)或多個(gè)微處理器結(jié)合DSP核、或 任何其它這種配置。
[0074] 結(jié)合這里的公開所描述的方法或算法的步驟可以直接包含在硬件中、由處理器執(zhí) 行的軟件單元中或這兩者的組合中。軟件單元可以駐留在RAM存儲(chǔ)器、快閃存儲(chǔ)器、ROM存 儲(chǔ)器、EPROM存儲(chǔ)器、EEPR0M存儲(chǔ)器、寄存器、硬盤、可移動(dòng)盤、CD-ROM、或本領(lǐng)域已知的任何 其它形式的存儲(chǔ)介質(zhì)中。示例性的存儲(chǔ)介質(zhì)被耦合到處理器,使得處理器能夠從該存儲(chǔ)介 質(zhì)中讀取信息或向該存儲(chǔ)介質(zhì)寫入信息。在一個(gè)替換方案中,所述存儲(chǔ)介質(zhì)可以與處理器 集成在一起。處理器和存儲(chǔ)介質(zhì)可以駐留在ASIC中。ASIC可以駐留在用戶終端中。在一 個(gè)替換方案中,處理器和存儲(chǔ)介質(zhì)可以作為分立組件駐留在用戶終端中。
[0075] 在一個(gè)或多個(gè)示例性設(shè)計(jì)中,所述功能可以在硬件、軟件、固件或其任意組合中實(shí) 現(xiàn)。如果在軟件中實(shí)現(xiàn),則可以將所述功能作為一個(gè)或多個(gè)指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀 介質(zhì)上或通過計(jì)算機(jī)可讀介質(zhì)來傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì), 該通信介質(zhì)包括有助于將計(jì)算機(jī)程序從一個(gè)位置傳送到另一個(gè)位置的任何介質(zhì)。存儲(chǔ)介質(zhì) 可以是能夠被通用或?qū)S糜?jì)算機(jī)訪問的任何可用介質(zhì)。作為例子而非限制性的,該計(jì)算機(jī) 可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)設(shè)備、磁盤存儲(chǔ)設(shè)備或其它磁 性存儲(chǔ)設(shè)備,或者是可以用于攜帶或存儲(chǔ)形式為指令或數(shù)據(jù)結(jié)構(gòu)的所需程序代碼并且能夠 被通用或?qū)S糜?jì)算機(jī)或者通用或?qū)S锰幚砥髟L問的任何其它介質(zhì)。此外,任何連接都可以 適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果使用同軸線纜、光纖線纜、雙絞線、數(shù)字用戶線路 (DSL)或諸如紅外線、無線電和微波的無線技術(shù)來從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)送軟件, 則上述同軸線纜、光纖線纜、雙絞線、DSL或諸如紅外先、無線電和微波的無線技術(shù)均包括在 介質(zhì)的定義。如這里所使用的,磁盤和光盤包括壓縮盤(CD)、激光盤、光盤、數(shù)字多功能盤 (DVD)、軟盤、藍(lán)光盤,其中磁盤通常磁性地再現(xiàn)數(shù)據(jù),而光盤利用激光光學(xué)地再現(xiàn)數(shù)據(jù)。上 述內(nèi)容的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0076] 盡管前面公開的內(nèi)容示出了本發(fā)明的示例性實(shí)施例,但是應(yīng)當(dāng)注意,在不背離權(quán) 利要求限定的本發(fā)明的范圍的前提下,可以進(jìn)行多種改變和修改。根據(jù)這里描述的發(fā)明實(shí) 施例的方法權(quán)利要求的功能、步驟和/或動(dòng)作不需以任何特定順序執(zhí)行。此外,盡管本發(fā)明 的元素可以以個(gè)體形式描述或要求,但是也可以設(shè)想多個(gè),除非明確限制為單數(shù)。
[0077] 雖然如上參照?qǐng)D描述了根據(jù)本發(fā)明的各個(gè)實(shí)施例進(jìn)行了描述,但是本領(lǐng)域技術(shù)人 員應(yīng)當(dāng)理解,對(duì)上述本發(fā)明所提出的各個(gè)實(shí)施例,還可以在不脫離本
【發(fā)明內(nèi)容】
的基礎(chǔ)上做 出各種改進(jìn)。
【權(quán)利要求】
1. 一種基于安卓操作系統(tǒng)的視頻播放方法,包括: 根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放列表文件包括至少一個(gè)視頻 資源的URL; 根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需要進(jìn)行視頻切換的URL ; 在視頻播放列表文件中于所確認(rèn)出的URL之前或之后設(shè)置連續(xù)播放標(biāo)記,生成標(biāo)記后 的視頻播放列表文件; 播放所述標(biāo)記后的視頻播放列表文件。
2. 根據(jù)權(quán)利要求1所述的視頻播放的方法,其中,在視頻播放列表文件中于所確認(rèn)出 的URL之前或之后設(shè)置連續(xù)播放標(biāo)記,生成標(biāo)記后的視頻播放列表文件之后,包括; 生成所述標(biāo)記后的視頻播放列表文件的URL。
3. 根據(jù)權(quán)利要求2所述的視頻播放的方法,其中,所述播放所述標(biāo)記后的視頻播放列 表文件包括: 根據(jù)所述標(biāo)記后的視頻列表文件的URL調(diào)用視頻播放組件播放所述標(biāo)記后的視頻播 放列表文件。
4. 根據(jù)權(quán)利要求2所述的視頻播放的方法,其中,所述生成所述標(biāo)記后的視頻播放列 表文件的URL包括: 利用至少一個(gè)HTTP服務(wù)器為所述標(biāo)記后的視頻播放列表文件生成至少一個(gè)符合HTTP 協(xié)議的所述標(biāo)記后的視頻播放列表文件的URL。
5. 根據(jù)權(quán)利要求1所述的視頻播放的方法,其中,所述根據(jù)所述視頻播放列表文件中 的URL,確認(rèn)需要進(jìn)行視頻切換的URL包括: 逐行分析所述視頻播放列表文件中的所有視頻資源的URL ; 判斷出當(dāng)前視頻資源的URL跟上一個(gè)視頻資源的URL指向不同的視頻資源文件時(shí),則 確認(rèn)當(dāng)前視頻資源的URL是需要進(jìn)行視頻切換的URL。
6. 根據(jù)權(quán)利要求1所述的視頻播放的方法,其中,所述連續(xù)播放標(biāo)記是 "#EXT-X-DISCONTINUITY"。
7. 根據(jù)權(quán)利要求4所述的視頻播放的方法,其中,所述根據(jù)視頻播放請(qǐng)求獲取視頻播 放列表文件之前,包括: 啟動(dòng)至少一個(gè)HTTP服務(wù)器,所述至少一個(gè)HTTP服務(wù)器映射到本地的至少一個(gè)文件夾。
8. 根據(jù)權(quán)利要求7所述的視頻播放的方法,其中,在視頻播放列表文件中于所確認(rèn)出 的URL之前或之后設(shè)置連續(xù)播放標(biāo)記,生成標(biāo)記后的視頻播放列表文件之后,包括: 將標(biāo)記后的視頻播放列表文件存放在所述至少一個(gè)HTTP服務(wù)器映射的本地的至少一 個(gè)文件夾中。
9. 根據(jù)權(quán)利要求1所述的視頻播放的方法,其中,根據(jù)視頻播放請(qǐng)求獲取視頻播放列 表文件之前,包括: 判斷所述視頻播放請(qǐng)求是否指向視頻播放列表文件,如果是,則根據(jù)視頻播放請(qǐng)求獲 取所述視頻播放列表文件, 如果不是,則根據(jù)視頻播放請(qǐng)求播放視頻資源文件。
10. 根據(jù)上述任一權(quán)利要求所述的視頻播放的方法,其中, 視頻播放列表文件是至少一個(gè)m3u8格式文件。
11. 一種基于安卓操作系統(tǒng)的視頻播放裝置,其中,包括: 獲取單元,用于根據(jù)視頻播放請(qǐng)求獲取視頻播放列表文件,所述視頻播放列表文件包 括至少一個(gè)視頻資源的URL ; 確認(rèn)單元,根據(jù)所述視頻播放列表文件中的URL,確認(rèn)需要進(jìn)行視頻切換的URL ; 標(biāo)記單元,用于在視頻播放列表文件中于所確認(rèn)出的URL之前或之后設(shè)置連續(xù)播放標(biāo) 記,生成標(biāo)記后的視頻播放列表文件; 播放單元,播放所述標(biāo)記后的視頻播放列表文件。
12. 根據(jù)權(quán)利要求11所述的視頻播放裝置,其中,進(jìn)一步包括: 標(biāo)記文件URL生成單元,用于為所述標(biāo)記后的視頻播放列表文件生成至少一個(gè)符合 HTTP協(xié)議的所述視頻播放列表文件的URL。
13. 根據(jù)權(quán)利要求14所述的視頻播放裝置,其中,所述確認(rèn)單元進(jìn)一步包括: 分析單元,用于逐行分析所述視頻播放列表文件中的所有視頻資源的URL ; 判斷單元,用于判斷當(dāng)前視頻資源的URL跟上一個(gè)視頻資源文件的URL指向是否相同, 如當(dāng)前視頻資源的URL跟上一個(gè)視頻資源文件的URL指向不同的視頻資源文件,則確認(rèn)當(dāng) 前視頻資源的URL為需要進(jìn)行視頻切換的URL。
14. 一種無線通信設(shè)備,包含權(quán)利要求11~13中的任一權(quán)利要求所述的視頻播放裝置。
【文檔編號(hào)】H04N21/83GK104113790SQ201310131167
【公開日】2014年10月22日 申請(qǐng)日期:2013年4月16日 優(yōu)先權(quán)日:2013年4月16日
【發(fā)明者】梁捷, 何小鵬, 俞永福, 朱順炎, 馬妙魁 申請(qǐng)人:優(yōu)視科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
东辽县| 宜城市| 济南市| 海宁市| 孟连| 北安市| 绥阳县| 永宁县| 宁明县| 宜都市| 滨海县| 蓝山县| 肥城市| 泽州县| 永川市| 益阳市| 玉山县| 辽中县| 武隆县| 新乡市| 三台县| 克东县| 济宁市| 永丰县| 巴塘县| 通渭县| 建宁县| 丹阳市| 景宁| 寿阳县| 滁州市| 辽中县| 通河县| 北宁市| 乌苏市| 台东市| 库车县| 康马县| 南华县| 驻马店市| 扬中市|