一種流媒體文件的播放方法及媒體播放器的制造方法
【專利摘要】本發(fā)明提供一種流媒體文件的播放方法及媒體播放器,其中媒體播放器包括應(yīng)用控制界面和底層播放器,方法包括:應(yīng)用控制界面向底層播放器發(fā)送播放指令,所述播放指令中攜帶流媒體文件的資源地址索引文件和流媒體傳輸類型;底層播放器檢測(cè)所述播放指令中攜帶的流媒體傳輸類型;創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)緩存單向媒體服務(wù)器緩存對(duì)應(yīng)的流媒體文件并播放。根據(jù)上述方案,省去了連接媒體服務(wù)器緩存數(shù)據(jù)片段來(lái)解析流媒體傳輸類型的時(shí)間,從而在接收播放指令到播放流媒體文件的時(shí)間間隔縮小,使得用戶體驗(yàn)更佳。
【專利說(shuō)明】一種流媒體文件的播放方法及媒體播放器
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)視頻播放【技術(shù)領(lǐng)域】,特別涉及一種流媒體文件的播放方法及媒 體播放器。
【背景技術(shù)】
[0002] 流媒體文件的播放一般是指利用流媒體協(xié)議(下面使用"流媒體傳輸類型"替 代),將流媒體文件發(fā)送給底層播放器進(jìn)行播放?,F(xiàn)有技術(shù)方案中,當(dāng)用戶點(diǎn)擊某個(gè)視頻時(shí), 觸發(fā)應(yīng)用層向底層播放器發(fā)送用于指示播放流媒體文件的播放指令,使得媒體播放器根據(jù) 該播放指令向媒體服務(wù)器緩存數(shù)據(jù)進(jìn)行解析得到流媒體文件的流媒體傳輸類型,并根據(jù)流 媒體傳輸類型播放流媒體文件。然而現(xiàn)有技術(shù)中,當(dāng)用戶從點(diǎn)擊視頻到觀看到播放視頻之 間的時(shí)間間隔較長(zhǎng),從而影響用戶體驗(yàn)。
【發(fā)明內(nèi)容】
[0003] 有鑒于此,本發(fā)明提供一種流媒體文件的播放方法及媒體播放器,以解決現(xiàn)有技 術(shù)中從點(diǎn)擊視頻到觀看到播放視頻之間的時(shí)間間隔較長(zhǎng),影響用戶體驗(yàn)的問(wèn)題。
[0004] 本發(fā)明提供了一種流媒體文件的播放方法,應(yīng)用于媒體播放器,所述媒體播放器 包括應(yīng)用控制界面和底層播放器,包括:
[0005] 應(yīng)用控制界面向底層播放器發(fā)送播放指令,所述播放指令中攜帶流媒體文件的資 源地址索引文件和流媒體傳輸類型;
[0006] 底層播放器接收所述播放指令,并檢測(cè)所述播放指令中攜帶的流媒體傳輸類型;
[0007] 底層播放器根據(jù)所述流媒體傳輸類型創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)緩存單元;
[0008] 底層播放器利用所述數(shù)據(jù)緩存單元,根據(jù)所述資源地址索引文件向媒體服務(wù)器緩 存對(duì)應(yīng)的流媒體文件;
[0009] 底層播放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件。
[0010] 優(yōu)選地,所述檢測(cè)所述播放指令中攜帶的流媒體傳輸類型,具體包括:
[0011] 底層播放器獲取預(yù)先設(shè)置的檢測(cè)字段;
[0012] 底層播放器根據(jù)所述檢測(cè)字段檢測(cè)所述播放指令攜帶的參數(shù),確定所述檢測(cè)字段 對(duì)應(yīng)的流媒體傳輸類型。
[0013] 優(yōu)選地,所述底層播放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件,具體包括:
[0014] 底層播放器根據(jù)所述流媒體傳輸類型構(gòu)建對(duì)應(yīng)的流媒體播放器,利用構(gòu)建的流媒 體播放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件。
[0015] 優(yōu)選地,所述應(yīng)用控制界面向底層播放器發(fā)送播放指令之前,還包括:
[0016] 應(yīng)用控制界面向媒體服務(wù)器發(fā)送流媒體文件的信息列表的獲取請(qǐng)求,所述獲取請(qǐng) 求攜帶獲取流媒體文件的流媒體傳輸類型的指令;
[0017] 接收媒體服務(wù)器發(fā)送的信息列表,所述信息列表中包括流媒體文件的流媒體傳輸 類型;
[0018] 當(dāng)被觸發(fā)向媒體播放器發(fā)送指示播放所述流媒體文件的播放指令時(shí),將所述流媒 體傳輸類型添加到所述播放指令中,以使所述媒體播放器根據(jù)所述播放指令播放所述流媒 體文件。
[0019] 本發(fā)明還提供了一種媒體播放器,包括:
[0020] 應(yīng)用控制界面,用于向底層播放器發(fā)送播放指令,所述播放指令中攜帶流媒體文 件的資源地址索引文件和流媒體傳輸類型;
[0021] 底層播放器,用于接收所述播放指令,并檢測(cè)所述播放指令中攜帶的流媒體傳輸 類型;根據(jù)所述流媒體傳輸類型創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)緩存單元;利用所述數(shù)據(jù)緩存單元,根據(jù) 所述資源地址索引文件向媒體服務(wù)器緩存對(duì)應(yīng)的流媒體文件;播放所述數(shù)據(jù)緩存單元緩存 的流媒體文件。
[0022] 優(yōu)選地,所述底層播放器,用于檢測(cè)所述播放指令中攜帶的流媒體傳輸類型,具體 包括:
[0023] 所述底層播放器獲取預(yù)先設(shè)置的檢測(cè)字段;根據(jù)所述檢測(cè)字段檢測(cè)所述播放指令 攜帶的參數(shù),確定所述檢測(cè)字段對(duì)應(yīng)的流媒體傳輸類型。
[0024] 優(yōu)選地,所述底層播放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件,具體包括:
[0025] 所述底層播放器根據(jù)所述流媒體傳輸類型構(gòu)建對(duì)應(yīng)的流媒體播放器,利用構(gòu)建的 流媒體播放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件。
[0026] 優(yōu)選地,所述應(yīng)用控制界面,還用于向媒體服務(wù)器發(fā)送流媒體文件的信息列表的 獲取請(qǐng)求,所述獲取請(qǐng)求攜帶獲取流媒體文件的流媒體傳輸類型的指令;接收媒體服務(wù)器 發(fā)送的信息列表,所述信息列表中包括流媒體文件的流媒體傳輸類型;當(dāng)被觸發(fā)向媒體播 放器發(fā)送指示播放所述流媒體文件的播放指令時(shí),將所述流媒體傳輸類型添加到所述播放 指令中,以使所述媒體播放器根據(jù)所述播放指令播放所述流媒體文件。
[0027] 本發(fā)明提供了一種流媒體文件的播放方法及媒體播放器,應(yīng)用控制界面在向底層 播放器發(fā)送播放指令時(shí),將流媒體傳輸類型添加到播放指令中,使得底層播放器在接收到 播放指令后,通過(guò)檢測(cè)即可獲取流媒體文件的流媒體傳輸類型,省去了連接媒體服務(wù)器緩 存數(shù)據(jù)片段來(lái)解析流媒體傳輸類型的時(shí)間,從而在接收播放指令到播放流媒體文件的時(shí)間 間隔縮小,使得用戶體驗(yàn)更佳。
【專利附圖】
【附圖說(shuō)明】
[0028] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。
[0029] 圖1是本發(fā)明實(shí)施例1提供的流媒體文件的播放方法流程圖;
[0030] 圖2是本發(fā)明實(shí)施例2提供的流媒體文件的播放方法流程圖;
[0031] 圖3是本發(fā)明實(shí)施例3提供的流媒體文件的播放裝置運(yùn)行的硬件架構(gòu)圖;
[0032] 圖4是本發(fā)明實(shí)施例3提供的流媒體文件的播放裝置結(jié)構(gòu)示意圖;
[0033] 圖5是本發(fā)明實(shí)施例3提供的方法交互示意圖。
【具體實(shí)施方式】
[0034] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒?發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí) 施例,都屬于本發(fā)明保護(hù)的范圍。
[0035] 為了使得本發(fā)明實(shí)施例提供的方案更加容易理解,下面結(jié)合圖1、圖2來(lái)詳細(xì)說(shuō)明 本發(fā)明所提供的流媒體文件的播放方法。其中,流媒體文件的播放方法是在終端設(shè)備的媒 體播放器上進(jìn)行的,該方法是由應(yīng)用控制界面和底層播放器之間的信令交互來(lái)實(shí)現(xiàn)流媒體 文件的播放。其中,終端設(shè)備可以是智能手機(jī)、筆記本電腦、智能電視、平板電腦等可以使用 應(yīng)用軟件或網(wǎng)頁(yè)播放視頻的電子設(shè)備。應(yīng)用控制界面和底層播放器均是軟件模塊,通過(guò)數(shù) 據(jù)指令來(lái)實(shí)現(xiàn)流媒體文件的播放。當(dāng)用戶點(diǎn)擊終端設(shè)備上的視頻時(shí),觸發(fā)應(yīng)用控制界面向 底層播放器發(fā)送播放指令,底層播放器根據(jù)該播放指令播放流媒體文件。由于現(xiàn)有技術(shù)中 從點(diǎn)擊視頻到觀看到播放視頻之間的時(shí)間間隔較長(zhǎng),影響用戶體驗(yàn),因此本發(fā)明通過(guò)下面 幾個(gè)實(shí)施例說(shuō)明本發(fā)明提供的流媒體文件的播放方法。
[0036] 實(shí)施例1
[0037] 如圖1所示,為本發(fā)明實(shí)施例提供的流媒體文件的播放方法,該方法是由媒體播 放器執(zhí)行的,其中,媒體播放器包括應(yīng)用控制界面和底層播放器,該方法可以包括以下步 驟:
[0038] 步驟101 :應(yīng)用控制界面向底層播放器發(fā)送播放指令,所述播放指令中攜帶流媒 體文件的資源地址索引文件和流媒體傳輸類型。
[0039] 其中,流媒體文件是指通過(guò)流式傳輸?shù)姆绞皆贗nternet上播放的視頻文件。流媒 體文件的資源地址索引文件包括URL地址,其中,URL地址用于表示Internet上文件的唯 一地址。
[0040] 當(dāng)用戶使用終端設(shè)備點(diǎn)擊需要播放的視頻文件時(shí),觸發(fā)應(yīng)用控制界面向底層播放 器發(fā)送播放指令。
[0041] 其中,應(yīng)用控制界面(即終端設(shè)備上的視頻應(yīng)用軟件)是開(kāi)發(fā)系統(tǒng)的最高層,直接 為應(yīng)用進(jìn)程提供服務(wù),當(dāng)被觸發(fā)向底層播放器發(fā)送播放指令時(shí),將播放指令對(duì)應(yīng)的流媒體 文件的URL地址和流媒體傳輸類型添加到播放指令中。在本發(fā)明中,流媒體傳輸類型是由 應(yīng)用控制界面在向媒體服務(wù)器獲取流媒體文件的信息列表時(shí),向媒體服務(wù)器獲取的。
[0042] 其中,流媒體傳輸類型可以包括:HLS(HTTP Live Streaming,超文本直播流)、 HTTP(Hypertext transfer protocol,超文本傳送協(xié)議)、RTSP(Real Time Streaming Protocol,實(shí)時(shí)流傳輸協(xié)議)和MMS (Microsoft Media Server protocol,串流媒體傳送協(xié) 議)。
[0043] 步驟102 :底層播放器接收播放指令,并檢測(cè)所述播放指令中攜帶的流媒體傳輸 類型。
[0044] 在本發(fā)明中,當(dāng)?shù)讓硬シ牌鹘邮盏讲シ胖噶顣r(shí),可以通過(guò)預(yù)設(shè)的檢測(cè)字段確定流 媒體文件的流媒體傳輸類型。
[0045] 步驟103 :底層播放器根據(jù)所述流媒體傳輸類型創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)緩存單元。
[0046] 由于流媒體文件的流媒體傳輸類型不同,那么向媒體服務(wù)器緩存流媒體文件的過(guò) 程也不同,因此需要?jiǎng)?chuàng)建流媒體傳輸類型對(duì)應(yīng)的數(shù)據(jù)緩存單元(Data Source)。其中,該數(shù) 據(jù)緩存單元可以是位于底層播放器中的軟件模塊,例如,過(guò)濾器。數(shù)據(jù)緩存單元用于向媒體 服務(wù)器緩存流媒體文件。
[0047] 步驟104 :底層播放器利用所述數(shù)據(jù)緩存單元,根據(jù)所述資源地址索引文件向媒 體服務(wù)器緩存對(duì)應(yīng)的流媒體文件。
[0048] 步驟105 :底層播放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件。
[0049] 根據(jù)上述方案,應(yīng)用控制界面在向底層播放器發(fā)送播放指令時(shí),將流媒體傳輸類 型添加到播放指令中,使得底層播放器在接收到播放指令后,通過(guò)檢測(cè)即可獲取流媒體文 件的流媒體傳輸類型,省去了連接媒體服務(wù)器緩存數(shù)據(jù)片段來(lái)解析流媒體傳輸類型的時(shí) 間,從而在接收播放指令到播放流媒體文件的時(shí)間間隔縮小,使得用戶體驗(yàn)更佳。
[0050] 實(shí)施例2
[0051] 為了對(duì)上述實(shí)施例進(jìn)行進(jìn)一步的解釋,如圖2所示,本發(fā)明另一實(shí)施例提供了一 種流媒體文件的播放方法,該方法是由媒體播放器和媒體服務(wù)器共同執(zhí)行的,其中,媒體播 放器包括應(yīng)用控制界面和底層播放器,該方法可以包括以下步驟:
[0052] 步驟201 :應(yīng)用控制界面向媒體服務(wù)器發(fā)送流媒體文件的信息列表的獲取請(qǐng)求, 所述獲取請(qǐng)求攜帶獲取流媒體文件的流媒體傳輸類型的指令。
[0053] 當(dāng)安裝在終端設(shè)備上的某個(gè)視頻應(yīng)用軟件中節(jié)目信息發(fā)生更新,應(yīng)用控制界面需 要向媒體服務(wù)器發(fā)送流媒體文件的信息列表的獲取請(qǐng)求,以使媒體服務(wù)器向應(yīng)用控制界面 發(fā)送信息列表,另外,在本發(fā)明中,為了節(jié)省后續(xù)底層播放器解析流媒體文件的流媒體傳輸 類型的時(shí)間,該獲取請(qǐng)求還攜帶獲取流媒體文件的流媒體傳輸類型的指令,使得媒體服務(wù) 器將流媒體文件的流媒體傳輸類型。
[0054] 其中,視頻應(yīng)用軟件的節(jié)目信息發(fā)生更新可以通過(guò)下述兩種情形說(shuō)明應(yīng)用控制節(jié) 目對(duì)更新的節(jié)目信息的信息列表的獲取進(jìn)行說(shuō)明:
[0055] 1、用戶在打開(kāi)視頻應(yīng)用軟件時(shí),應(yīng)用控制界面確定在上次關(guān)閉視頻應(yīng)用軟件到本 次打開(kāi)之間的時(shí)間段內(nèi),是否包括節(jié)目信息的更新,若是,應(yīng)用控制界面向媒體服務(wù)器發(fā)送 流媒體文件(更新的節(jié)目信息)的信息列表獲取請(qǐng)求。
[0056] 2、用戶在使用視頻應(yīng)用軟件過(guò)程中,應(yīng)用控制界面根據(jù)預(yù)設(shè)時(shí)間段定期檢查當(dāng)前 節(jié)目信息是否發(fā)生了更新,若是,應(yīng)用控制界面向媒體服務(wù)器發(fā)送流媒體文件(更新的節(jié) 目息)的息列表獲取請(qǐng)求。
[0057] 步驟202 :應(yīng)用控制界面接收媒體服務(wù)器發(fā)送的流媒體文件的信息列表,所述信 息列表中包括流媒體文件的流媒體傳輸類型。
[0058] 在本發(fā)明中,信息列表中不僅包括流媒體文件的流媒體傳輸類型,還包括流媒體 文件的劇集名稱、播放時(shí)長(zhǎng)、劇照信息等。
[0059] 另外,當(dāng)應(yīng)用控制界面獲取到流媒體文件的信息列表,可以根據(jù)該信息列表將流 媒體文件對(duì)應(yīng)的視頻信息更新到應(yīng)用控制界面的推薦界面,使得用戶通過(guò)點(diǎn)擊該視頻信息 觀看該視頻。
[0060] 步驟203 :當(dāng)被觸發(fā)向底層播放器發(fā)送指示播放所述流媒體文件的播放指令時(shí), 應(yīng)用控制界面將所述流媒體傳輸類型添加到所述播放指令中,并將播放指令發(fā)送給底層播 放器,其中,播放指令中還攜帶資源地址索引文件。
[0061] 在本發(fā)明中,應(yīng)用控制界面向底層播放器發(fā)送的播放指令中攜帶兩個(gè)參數(shù),一個(gè) 是流媒體文件的資源地址索引文件,包括時(shí)間信息和對(duì)應(yīng)的URL地址,用于表述需要播放 的流媒體文件的地址信息及對(duì)應(yīng)的時(shí)間信息。另一個(gè)是傳入?yún)?shù)headers,現(xiàn)有技術(shù)方案 中,該headers用于指示媒體服務(wù)器信息,而在本發(fā)明中,應(yīng)用控制界面將該流媒體傳輸類 型添加到該headers中,使得底層播放器獲知流媒體文件的流媒體傳輸類型。
[0062] 其中,以流媒體傳輸類型為HLS為例,應(yīng)用控制界面將下表所示的參數(shù)添加到 headers 中:
[0063] 表 1 :
[0064]
【權(quán)利要求】
1. 一種流媒體文件的播放方法,應(yīng)用于媒體播放器,所述媒體播放器包括應(yīng)用控制界 面和底層播放器,其特征在于,包括: 應(yīng)用控制界面向底層播放器發(fā)送播放指令,所述播放指令中攜帶流媒體文件的資源地 址索引文件和流媒體傳輸類型; 底層播放器接收所述播放指令,并檢測(cè)所述播放指令中攜帶的流媒體傳輸類型; 底層播放器根據(jù)所述流媒體傳輸類型創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)緩存單元; 底層播放器利用所述數(shù)據(jù)緩存單元,根據(jù)所述資源地址索引文件向媒體服務(wù)器緩存對(duì) 應(yīng)的流媒體文件; 底層播放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測(cè)所述播放指令中攜帶的流媒體 傳輸類型,具體包括: 底層播放器獲取預(yù)先設(shè)置的檢測(cè)字段; 底層播放器根據(jù)所述檢測(cè)字段檢測(cè)所述播放指令攜帶的參數(shù),確定所述檢測(cè)字段對(duì)應(yīng) 的流媒體傳輸類型。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述底層播放器播放所述數(shù)據(jù)緩存單元 緩存的流媒體文件,具體包括: 底層播放器根據(jù)所述流媒體傳輸類型構(gòu)建對(duì)應(yīng)的流媒體播放器,利用構(gòu)建的流媒體播 放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用控制界面向底層播放器發(fā)送播 放指令之前,還包括: 應(yīng)用控制界面向媒體服務(wù)器發(fā)送流媒體文件的信息列表的獲取請(qǐng)求,所述獲取請(qǐng)求攜 帶獲取流媒體文件的流媒體傳輸類型的指令; 接收媒體服務(wù)器發(fā)送的信息列表,所述信息列表中包括流媒體文件的流媒體傳輸類 型; 當(dāng)被觸發(fā)向媒體播放器發(fā)送指示播放所述流媒體文件的播放指令時(shí),將所述流媒體傳 輸類型添加到所述播放指令中,以使所述媒體播放器根據(jù)所述播放指令播放所述流媒體文 件。
5. -種媒體播放器,其特征在于,包括: 應(yīng)用控制界面,用于向底層播放器發(fā)送播放指令,所述播放指令中攜帶流媒體文件的 資源地址索引文件和流媒體傳輸類型; 底層播放器,用于接收所述播放指令,并檢測(cè)所述播放指令中攜帶的流媒體傳輸類型; 根據(jù)所述流媒體傳輸類型創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)緩存單元;利用所述數(shù)據(jù)緩存單元,根據(jù)所述資 源地址索引文件向媒體服務(wù)器緩存對(duì)應(yīng)的流媒體文件;播放所述數(shù)據(jù)緩存單元緩存的流媒 體文件。
6. 根據(jù)權(quán)利要求5所述的媒體播放器,其特征在于,所述底層播放器,用于檢測(cè)所述播 放指令中攜帶的流媒體傳輸類型,具體包括: 所述底層播放器獲取預(yù)先設(shè)置的檢測(cè)字段;根據(jù)所述檢測(cè)字段檢測(cè)所述播放指令攜帶 的參數(shù),確定所述檢測(cè)字段對(duì)應(yīng)的流媒體傳輸類型。
7. 根據(jù)權(quán)利要求5所述的媒體播放器,其特征在于,所述底層播放器播放所述數(shù)據(jù)緩 存單元緩存的流媒體文件,具體包括: 所述底層播放器根據(jù)所述流媒體傳輸類型構(gòu)建對(duì)應(yīng)的流媒體播放器,利用構(gòu)建的流媒 體播放器播放所述數(shù)據(jù)緩存單元緩存的流媒體文件。
8.根據(jù)權(quán)利要求5所述的媒體播放器,其特征在于,所述應(yīng)用控制界面,還用于向媒體 服務(wù)器發(fā)送流媒體文件的信息列表的獲取請(qǐng)求,所述獲取請(qǐng)求攜帶獲取流媒體文件的流媒 體傳輸類型的指令;接收媒體服務(wù)器發(fā)送的信息列表,所述信息列表中包括流媒體文件的 流媒體傳輸類型;當(dāng)被觸發(fā)向媒體播放器發(fā)送指示播放所述流媒體文件的播放指令時(shí),將 所述流媒體傳輸類型添加到所述播放指令中,以使所述媒體播放器根據(jù)所述播放指令播放 所述流媒體文件。
【文檔編號(hào)】H04N21/472GK104394475SQ201410708984
【公開(kāi)日】2015年3月4日 申請(qǐng)日期:2014年11月28日 優(yōu)先權(quán)日:2014年11月28日
【發(fā)明者】蒼鵬 申請(qǐng)人:樂(lè)視致新電子科技(天津)有限公司