在線播放視頻的方法、系統(tǒng)和播放應(yīng)用代理設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種在線播放視頻的方法、系統(tǒng)和播放 應(yīng)用代理設(shè)備。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,網(wǎng)絡(luò)的功能也越來越大,不但可以通過網(wǎng)絡(luò)瀏覽網(wǎng)頁、 查詢信息,而且還可以通過網(wǎng)絡(luò)播放視頻等。在播放視頻時,可以將視頻下載到本地進(jìn)行播 放,也可以直接在線播放視頻。
[0003] 現(xiàn)有在線播放視頻的方法如下:啟動播放應(yīng)用設(shè)備和播放應(yīng)用代理設(shè)備。播放應(yīng) 用設(shè)備獲取播放節(jié)目單,啟動系統(tǒng)播放器,并將播放節(jié)目單中第一視頻的地址和名稱發(fā)送 至系統(tǒng)播放器,其中,第一視頻的地址為播放應(yīng)用代理設(shè)備對應(yīng)的地址和端口。系統(tǒng)播放器 根據(jù)第一視頻的地址向播放應(yīng)用代理設(shè)備發(fā)送播放請求,其中,播放請求中攜帶第一視頻 的名稱。播放應(yīng)用代理設(shè)備接收播放請求,向播放服務(wù)器發(fā)送視頻獲取信息,其中,視頻獲 取信息中攜帶第一視頻的名稱。播放服務(wù)器接收視頻獲取信息,根據(jù)視頻獲取信息中攜帶 的第一視頻的名稱,查詢與第一視頻對應(yīng)的第一視頻數(shù)據(jù),將第一視頻數(shù)據(jù)發(fā)送至播放應(yīng) 用代理設(shè)備。播放應(yīng)用代理設(shè)備接收并將第一視頻數(shù)據(jù)發(fā)送至系統(tǒng)播放器。系統(tǒng)播放器接 收第一視頻數(shù)據(jù),并緩存第一視頻數(shù)據(jù),當(dāng)?shù)谝灰曨l數(shù)據(jù)的數(shù)據(jù)量緩存到預(yù)設(shè)的數(shù)據(jù)量閾 值時,系統(tǒng)播放器開始播放第一視頻。當(dāng)播放節(jié)目單中包括多個視頻時,第一視頻播放結(jié) 束之后,系統(tǒng)播放器獲取第二視頻的地址,重復(fù)上述過程實(shí)現(xiàn)第二視頻的播放,第二視頻播 放結(jié)束之后,系統(tǒng)播放器獲取第三視頻的地址,重復(fù)上述過程實(shí)現(xiàn)第三視頻的播放,依次類 推,直到將播放節(jié)目單中包括的多個視頻全部播放完。
[0004] 現(xiàn)有在線播放視頻的方法,當(dāng)播放節(jié)目單中包括多個視頻時,逐個下載、緩沖、播 放,對于播放節(jié)目單中的每個視頻都需要緩沖,需要時間新。
【發(fā)明內(nèi)容】
[0005] 為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種在線播放視頻的方法、系統(tǒng)和播放 應(yīng)用代理設(shè)備,通過將播放節(jié)目單中的多個視頻一次全部下載,系統(tǒng)播放器只需要緩沖一 次,即可實(shí)現(xiàn)播放多個視頻,多個視頻之間可以無縫切換,從而節(jié)約時間。
[0006] 本發(fā)明公開了一種在線播放視頻的方法,所述方法包括:
[0007] 播放應(yīng)用代理設(shè)備接收系統(tǒng)播放器發(fā)來的攜帶播放節(jié)目單中多個視頻的名稱的 播放請求,向播放服務(wù)器發(fā)送攜帶所述多個視頻的名稱的視頻獲取信息;
[0008] 所述播放應(yīng)用代理設(shè)備接收所述播放服務(wù)器根據(jù)所述視頻獲取信息中攜帶的所 述多個視頻的名稱查詢到的多個視頻數(shù)據(jù),并將所述多個視頻數(shù)據(jù)合成一個新視頻數(shù)據(jù)向 所述系統(tǒng)播放器進(jìn)行發(fā)送,以供所述系統(tǒng)播放器接收并緩存所述新視頻數(shù)據(jù)以進(jìn)行視頻播 放。
[0009] 優(yōu)選地,在本發(fā)明的一實(shí)施例中,所述多個視頻中每個視頻的視頻數(shù)據(jù)通過m3u8 文件描述;
[0010] 所述多個視頻數(shù)據(jù)包括:所述多個視頻對應(yīng)的多個m3u8文件。
[0011] 優(yōu)選地,在本發(fā)明的一實(shí)施例中,所述播放應(yīng)用代理設(shè)備將所述多個視頻數(shù)據(jù)合 成一個新視頻數(shù)據(jù)向所述系統(tǒng)播放器進(jìn)行發(fā)送,包括:
[0012] 所述播放應(yīng)用代理設(shè)備接收所述多個m3u8文件;
[0013] 所述播放應(yīng)用代理設(shè)備將所述多個m3u8文件拼成一個新m3u8文件;
[0014] 所述播放應(yīng)用代理設(shè)備將所述新m3u8文件發(fā)送至所述系統(tǒng)播放器。
[0015] 優(yōu)選地,在本發(fā)明的一實(shí)施例中,所述播放應(yīng)用代理設(shè)備將所述多個m3u8文件拼 成一個新m3u8文件,包括:
[0016] 所述播放應(yīng)用代理設(shè)備判斷所述多個m3u8文件中相鄰的2個m3u8文件對應(yīng)的分 辨率或編碼器是否相同;
[0017] 如果所述多個m3u8文件中有相鄰的2個m3u8文件對應(yīng)的分辨率或編碼器不相 同,則所述播放應(yīng)用代理設(shè)備在將所述多個m3u8文件拼成一個新m3u8文件時,在分辨率或 編碼器不相同的相鄰的2個m3u8文件的視頻數(shù)據(jù)之間添加不連續(xù)標(biāo)簽DISCONTINUITY。
[0018] 優(yōu)選地,在本發(fā)明的一實(shí)施例中,播放應(yīng)用代理設(shè)備接收系統(tǒng)播放器發(fā)來的攜帶 播放節(jié)目單中多個視頻的名稱的播放請求之前還包括:
[0019] 播放應(yīng)用設(shè)備獲取用戶選取的所述播放節(jié)目單,啟動所述系統(tǒng)播放器,將所述播 放節(jié)目單中所述多個視頻的名稱發(fā)送至所述系統(tǒng)播放器;
[0020] 相應(yīng)地,所述播放應(yīng)用設(shè)備將所述播放節(jié)目單中所述多個視頻的名稱發(fā)送至所述 系統(tǒng)播放器還包括:
[0021] 所述播放應(yīng)用設(shè)備將所述播放節(jié)目單中所述多個視頻對應(yīng)的地址發(fā)送至所述系 統(tǒng)播放器,從而使所述系統(tǒng)播放器接收所述多個視頻對應(yīng)的地址,根據(jù)所述多個視頻對應(yīng) 的地址查找到所述播放應(yīng)用代理設(shè)備,向所述播放應(yīng)用代理設(shè)備發(fā)送所述播放請求;其中, 所述多個視頻對應(yīng)的地址為所述播放應(yīng)用代理設(shè)備對應(yīng)的地址和端口。
[0022] 優(yōu)選地,在本發(fā)明的一實(shí)施例中,所述方法還包括:
[0023] 所述播放應(yīng)用設(shè)備通過網(wǎng)頁地址url的方法描述所述播放節(jié)目單中所述多個視 頻的名稱和所述多個視頻對應(yīng)的地址;
[0024] 或,所述播放應(yīng)用設(shè)備通過在url的超文本傳送協(xié)議http請求里添加附加的表頭 headers或小型文本文件cookies的方法描述所述播放節(jié)目單中所述多個視頻的名稱和所 述多個視頻對應(yīng)的地址。
[0025] 為了解決上述問題,本發(fā)明還公開了一種播放應(yīng)用代理設(shè)備,所述播放應(yīng)用代理 設(shè)備包括:第一處理模塊和第二處理模塊;
[0026] 所述第一處理模塊,用于接收系統(tǒng)播放器發(fā)來的攜帶播放節(jié)目單中多個視頻的名 稱的播放請求,向播放服務(wù)器發(fā)送攜帶所述多個視頻的名稱的視頻獲取信息;
[0027] 所述第二處理模塊,用于接收所述播放服務(wù)器根據(jù)所述視頻獲取信息中攜帶的所 述多個視頻的名稱查詢到的多個視頻數(shù)據(jù),并將所述多個視頻數(shù)據(jù)合成一個新視頻數(shù)據(jù)向 所述系統(tǒng)播放器進(jìn)行發(fā)送,以供所述系統(tǒng)播放器接收并緩存所述新視頻數(shù)據(jù)以進(jìn)行視頻播 放。
[0028] 優(yōu)選地,在本發(fā)明的一實(shí)施例中,所述多個視頻中每個視頻的視頻數(shù)據(jù)通過m3u8 文件描述;所述多個視頻數(shù)據(jù)包括所述多個視頻對應(yīng)的多個m3u8文件;所述第二處理模塊 包括:
[0029] 文件接收單元,用于接收所述多個m3u8文件;
[0030] 文件獲取單元,用于將所述多個m3u8文件拼成一個新m3u8文件;
[0031] 文件發(fā)送單元,用于將所述新m3u8文件發(fā)送至所述系統(tǒng)播放器。
[0032] 優(yōu)選地,在本發(fā)明的一實(shí)施例中,所述文件獲取單元包括:
[0033] 判斷子單元,用于判斷所述多個m3u8文件中相鄰的2個m3u8文件對應(yīng)的分辨率 或編碼器是否相同;
[0034] 添加子單元,用于如果所述多個m3u8文件中有相鄰的2個m3u8文件對應(yīng)的分辨 率或編碼器不相同,則在將所述多個m3u8文件拼成一個新m3u8文件時,在分辨率或編碼器 不相同的相鄰的2個m3u8文件的視頻數(shù)據(jù)之間添加