一種更新播放隊列的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種更新播放隊列的方法及裝置,用以減少節(jié)目的重復(fù)播放。所述方法,包括:從播放隊列中讀取直播流的視頻片段;根據(jù)讀取的視頻片段進行播放;從播放隊列中刪除讀取的視頻片段。
【專利說明】一種更新播放隊列的方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機及通信【技術(shù)領(lǐng)域】,特別涉及一種更新播放隊列的方法及裝置。
【背景技術(shù)】
[0002] 視頻直播是指利用互聯(lián)網(wǎng)及流媒體技術(shù)進行直播,視頻因融合了圖像、文字、聲音 等豐富元素,聲形并茂,效果極佳,逐漸成為互聯(lián)網(wǎng)的主流表達方式。視頻通過真實、生動的 傳播,營造出強烈的現(xiàn)場感,吸引眼球,達成印象深亥Ij、記憶持久的傳播效果。
[0003] M3U8是一種直播視頻的格式。為了使視頻播放流暢,一般在播放前和播放過程中 緩存一定時長的視頻片段。在播放視頻時從緩存的播放隊列中讀取視頻數(shù)據(jù)。以及,將下 載的視頻數(shù)據(jù)存儲到播放隊列中,并從播放隊列中刪除已讀取的視頻數(shù)據(jù)。這樣始終保持 播放隊列是滿數(shù)據(jù)的。但是存在這樣一個情況,當(dāng)一個直播視頻播放結(jié)束時,播放隊列存儲 著該直播視頻最后一段時長的數(shù)據(jù)。在下次播放別的直播視頻時,由于是從播放隊列中讀 取視頻數(shù)據(jù),而播放隊列存儲的是前一個直播視頻的數(shù)據(jù)。也就是說,要先播放一段時間的 前一個直播視頻,然后才能播放當(dāng)前要播放的直播視頻。導(dǎo)致播放重復(fù),影響用戶的收看效 果。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明提供一種更新播放隊列的方法及裝置,用以減少重復(fù)播放。
[0005] 本發(fā)明提供一種更新播放隊列的方法,包括:
[0006] 從播放隊列中讀取直播流的視頻片段;
[0007] 根據(jù)讀取的視頻片段進行播放;
[0008] 從播放隊列中刪除讀取的視頻片段。
[0009] 本實施例有視頻片段從播放隊列中讀出時,便可以從播放隊列中刪除視頻片段, 而不需要等有下載的視頻片段時再刪除。這樣,當(dāng)本次所有視頻片段均被播放后,播放隊列 也為空。在下次播放視頻片段時,由于播放隊列已為空,所以不會重復(fù)播放,減少對用戶的 干擾,提1?用戶體驗。
[0010] 可選的,所述方法還包括:
[0011] 下載視頻片段,并存儲到播放隊列中。
[0012] 本實施例中,還可以下載視頻片段。
[0013] 可選的,所述從播放隊列中刪除讀取的視頻片段,包括:
[0014] 每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻片段。
[0015] 本實施例中可以周期性的刪除,這樣可以減少刪除處理的次數(shù),也就減少了系統(tǒng) 功耗。還可以及時清理已播放的視頻片段,為后續(xù)下載的視頻片段留出空間。
[0016] 可選的,所述預(yù)設(shè)的時長包括一個周期內(nèi)的多個時長,多個時長的數(shù)量與播放隊 列可存儲的視頻片段的數(shù)量一致;
[0017] 多個時長中的第一時長大于視頻片段的長度的一半且小于視頻片段的長度;
[0018] 多個時長中除第一時長以外的其它均為第一時長的2倍。
[0019] 本實施例中通過這種方式配置的時長,可以保證在刪除的時間點已經(jīng)有一個視頻 片段被完整播放,也就可以完整的刪除一個視頻片段。并且比視頻片段的結(jié)束時間點略微 滯后,則在因為某種原因?qū)е乱曨l片段的播放延遲時,也可以保證在刪除的時間點該視頻 片段已完整播放,便于完整刪除視頻片段。
[0020] 可選的,所述每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻片段,包括:
[0021] 在沒有下載到視頻片段時,每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻 片段。
[0022] 本實施例中在有視頻片段下載時,可自然刪除已播放的視頻片段。在沒有下載視 頻片段時,才執(zhí)行上述檢測和刪除操作,可減少檢測次數(shù),節(jié)省系統(tǒng)功耗。
[0023] -種更新播放隊列的裝置,包括:
[0024] 讀取模塊,用于從播放隊列中讀取直播流的視頻片段;
[0025] 播放模塊,用于根據(jù)讀取的視頻片段進行播放;
[0026] 刪除模塊,用于從播放隊列中刪除讀取的視頻片段。
[0027] 可選的,所述裝置還包括:
[0028] 下載模塊,用于下載視頻片段,并存儲到播放隊列中。
[0029] 可選的,所述刪除模塊每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻片段。
[0030] 可選的,所述預(yù)設(shè)的時長包括一個周期內(nèi)的多個時長,多個時長的數(shù)量與播放隊 列可存儲的視頻片段的數(shù)量一致;
[0031] 多個時長中的第一時長大于視頻片段的長度的一半且小于視頻片段的長度;
[0032] 多個時長中除第一時長以外的其它均為第一時長的2倍。
[0033] 可選的,所述刪除模塊在沒有下載到視頻片段時,每間隔預(yù)設(shè)的時長時,從播放隊 列中刪除讀取的視頻片段。
[0034] 本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明 書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
[0035] 下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
【專利附圖】
【附圖說明】
[0036] 附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實 施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0037] 圖1為本發(fā)明實施例中播放隊列的示意圖;
[0038] 圖2為本發(fā)明實施例中播放隊列的示意圖;
[0039] 圖3為本發(fā)明實施例中更新播放隊列的方法流程圖;
[0040] 圖4為本發(fā)明實施例中更新播放隊列的方法流程圖;
[0041] 圖5為本發(fā)明實施例中更新播放隊列的方法流程圖;
[0042] 圖6為本發(fā)明實施例中更新播放隊列的裝置結(jié)構(gòu)圖;
[0043] 圖7為本發(fā)明實施例中更新播放隊列的裝置結(jié)構(gòu)圖。
【具體實施方式】
[0044] 以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實 施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0045] 目前,播放隊列一般緩存3個視頻片段,每個視頻片段的時長大概是10s。一個播 放隊列的實例如圖1所示,其中緩存了視頻片段ΤΙ、T2和T3。如果下載了視頻片段T4,則 將T4緩存到播放隊列中,以及從播放隊列中刪除T1,參見圖2所示。如果沒有下載T4,則 播放隊列始終緩存著T1、T2和T3。當(dāng)下次播放視頻時,由于下載新的視頻片段需要一段時 間,所以為了減少用戶的等待,會先播放播放隊列中的視頻片段。此時播放隊列緩存著Τ1、 Τ2和Τ3,也就是說ΤΙ、Τ2和Τ3將會被再播放一次,使用戶重復(fù)收看,對用戶造成干擾。 [0046] 為解決該問題,本實施例不需要等待有視頻片段下載時再刪除播放隊列中的視頻 片段,而是在播放隊列中的視頻片段已播放時便可刪除。這樣可減少視頻片段的重復(fù)播放。
[0047] 參見圖3,本實施例中更新播放隊列的方法包括:
[0048] 步驟301 :從播放隊列中讀取直播流的視頻片段。一個視頻片段可以是一個 TS (Transport Stream,傳輸流)碎片文件。
[0049] 步驟302 :根據(jù)讀取的視頻片段進行播放。
[0050] 步驟303 :從播放隊列中刪除讀取的視頻片段。
[0051] 本實施例不需要等待有視頻片段下載時再刪除播放隊列中的視頻片段,而是在播 放隊列中的視頻片段已播放時便可刪除。這樣可減少視頻片段的重復(fù)播放。
[0052] 例如,播放隊列緩存了視頻片段ΤΙ、T2和T3。當(dāng)T1被播放后,刪除T1,播放隊列 中還存有T2和T3。
[0053] 本實施例中,所述方法還包括:下載視頻片段,并存儲到播放隊列中。
[0054] 播放隊列采用先進先出方式。刪除播放隊列隊頭位置已播放的視頻片段,后面的 視頻片段前移,這樣播放隊列的隊尾部分有剩余空間。在下載了視頻片段時,將該視頻片段 存儲到播放隊列的隊尾。播放后即可刪除視頻片段,為下載視頻片段留出足夠的空間。并 且在下載速度不穩(wěn)定時,還可以保證播放的流暢性。
[0055] 本實施例中,步驟303還可以實現(xiàn)為:每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀 取的視頻片段。
[0056] 例如,視頻片段的長度為10S,則間隔的預(yù)設(shè)時長也可以為10S。這樣可以不需要 實時檢測是否有視頻片段播放結(jié)束,也不需要實時刪除部分視頻片段,節(jié)省系統(tǒng)功耗。
[0057] 較佳的,所述預(yù)設(shè)的時長包括一個周期內(nèi)的多個時長,多個時長的數(shù)量與播放隊 列可存儲的視頻片段的數(shù)量一致;多個時長中的第一時長大于視頻片段的長度的一半且小 于視頻片段的長度;多個時長中除第一時長以外的其它均為第一時長的2倍。
[0058] 例如,視頻片段的長度為10S,播放隊列可緩存3個視頻片段,則有3個時長,第一 時長、第二時長和第三時長。第一時長可以為6S,則第二時長和第三時長均為12S。并且初 始檢測的時間點在第一視頻片段的后半段,如初始檢測的時間點為6S,則依據(jù)第一時長,下 一次的檢測點為12S ;再依據(jù)第二時長,下一次的檢測點為24S ;再依據(jù)第三時長,下一次的 檢測點為36S。這樣3個視頻片段均被檢測過,一個周期結(jié)束。然后再以6S為起始點,重復(fù) 上述過程。
[0059] 本實施例中采用這樣的時長間隔,不與視頻片段的開始時間和結(jié)束時間重合,便 于給下載視頻片段留出一定的緩沖時間,已經(jīng)給播放留出一定的緩沖時間。如果有視頻片 段下載,自然可擠出播放隊列隊頭的視頻片段,不需要執(zhí)行刪除操作。預(yù)留這樣的時間可以 減少無用的刪除操作,節(jié)省系統(tǒng)功耗。
[0060] 本實施例中,步驟303還可以實現(xiàn)為:在沒有下載到視頻片段時,每間隔預(yù)設(shè)的時 長時,從播放隊列中刪除讀取的視頻片段。
[0061] 本實施例中可以定期檢測是否有下載的視頻片段,如果有,則不需要特意刪除已 播放的視頻片段,依靠新存儲的視頻片段便可擠出已播放的視頻片段。如果沒有,再采用前 述方案,每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻片段。可減少多余的處理,節(jié) 省功耗。
[0062] 下面通過幾個典型實施例詳細介紹更新播放隊列的實現(xiàn)過程。
[0063] 參見圖4,本實施例中更新播放隊列的方法包括:
[0064] 步驟401 :從播放隊列中讀取直播流的視頻片段。一個視頻片段可以是一個 TS (Transport Stream,傳輸流)碎片文件。
[0065] 步驟402 :根據(jù)讀取的視頻片段進行播放。
[0066] 步驟403 :每間隔預(yù)設(shè)的時長時,檢測是否有已讀取的視頻片段;如果有,繼續(xù)步 驟404,否則結(jié)束本次流程。
[0067] 步驟404 :從播放隊列中刪除讀取的視頻片段。
[0068] 本實施例針對是否有已讀取的視頻片段進行檢測,可以不關(guān)心是否有視頻片段下 載。
[0069] 參見圖5,本實施例中更新播放隊列的方法包括:
[0070] 步驟501 :從播放隊列中讀取直播流的視頻片段。一個視頻片段可以是一個 TS (Transport Stream,傳輸流)碎片文件。
[0071] 步驟502 :根據(jù)讀取的視頻片段進行播放。
[0072] 步驟503:每間隔預(yù)設(shè)的時長時,檢測是否有下載的視頻片段;如果有,繼續(xù)步驟 504,否則繼續(xù)步驟505。
[0073] 步驟504 :將下載的視頻片段存儲到播放隊列。
[0074] 步驟505 :檢測是否有已讀取的視頻片段;如果有,繼續(xù)步驟506,否則結(jié)束本次流 程。
[0075] 步驟506 :從播放隊列中刪除讀取的視頻片段。
[0076] 本實施例中先檢測是否有視頻片段下載,如果有,則不需要檢測已播放的視頻片 段,利用存儲已下載的視頻片段便可刪除已播放的視頻片段。如果沒有視頻片段下載,仍然 刪除已播放的視頻片段,以減少重復(fù)播放,提高用戶體驗。
[0077] 通過以上描述介紹了更新播放隊列的實現(xiàn)過程,該過程可由裝置實現(xiàn),下面對該 裝置的內(nèi)部結(jié)構(gòu)和功能進行介紹。
[0078] 參見圖6,本實施例中更新播放隊列的裝置包括:讀取模塊601、播放模塊602和刪 除模塊603。
[0079] 讀取模塊601,用于從播放隊列中讀取直播流的視頻片段。
[0080] 播放模塊602,用于根據(jù)讀取的視頻片段進行播放。
[0081] 刪除模塊603,用于從播放隊列中刪除讀取的視頻片段。
[0082] 參見圖7,所述裝置還包括:下載模塊604。
[0083] 下載模塊604,用于下載視頻片段,并存儲到播放隊列中。
[0084] 可選的,所述刪除模塊每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻片段。
[0085] 可選的,所述預(yù)設(shè)的時長包括一個周期內(nèi)的多個時長,多個時長的數(shù)量與播放隊 列可存儲的視頻片段的數(shù)量一致;
[0086] 多個時長中的第一時長大于視頻片段的長度的一半且小于視頻片段的長度;
[0087] 多個時長中除第一時長以外的其它均為第一時長的2倍。
[0088] 可選的,所述刪除模塊603在沒有下載到視頻片段時,每間隔預(yù)設(shè)的時長時,從播 放隊列中刪除讀取的視頻片段。
[0089] 本實施例中在沒有下載的視頻片段時,也刪除已播放的視頻片段,當(dāng)一個視頻播 放完成后,播放隊列為空,在下次播放視頻時,不會重復(fù)播放前一個視頻,減少對用戶的干 擾,提1?用戶體驗。
[0090] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序 產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實 施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機 可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形 式。
[0091] 本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程 圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算 機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理 器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生 用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能 的裝置。
[0092] 這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特 定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指 令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或 多個方框中指定的功能。
[0093] 這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計 算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或 其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖 一個方框或多個方框中指定的功能的步驟。
[0094] 顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1. 一種更新播放隊列的方法,其特征在于,包括: 從播放隊列中讀取直播流的視頻片段; 根據(jù)讀取的視頻片段進行播放; 從播放隊列中刪除讀取的視頻片段。
2. 如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 下載視頻片段,并存儲到播放隊列中。
3. 如權(quán)利要求1所述的方法,其特征在于,所述從播放隊列中刪除讀取的視頻片段,包 括: 每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻片段。
4. 如權(quán)利要求3所述的方法,其特征在于,所述預(yù)設(shè)的時長包括一個周期內(nèi)的多個時 長,多個時長的數(shù)量與播放隊列可存儲的視頻片段的數(shù)量一致; 多個時長中的第一時長大于視頻片段的長度的一半且小于視頻片段的長度; 多個時長中除第一時長以外的其它均為第一時長的2倍。
5. 如權(quán)利要求3所述的方法,其特征在于,所述每間隔預(yù)設(shè)的時長時,從播放隊列中刪 除讀取的視頻片段,包括: 在沒有下載到視頻片段時,每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻片段。
6. -種更新播放隊列的裝置,其特征在于,包括: 讀取模塊,用于從播放隊列中讀取直播流的視頻片段; 播放模塊,用于根據(jù)讀取的視頻片段進行播放; 刪除模塊,用于從播放隊列中刪除讀取的視頻片段。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 下載模塊,用于下載視頻片段,并存儲到播放隊列中。
8. 如權(quán)利要求6所述的裝置,其特征在于,所述刪除模塊每間隔預(yù)設(shè)的時長時,從播放 隊列中刪除讀取的視頻片段。
9. 如權(quán)利要求8所述的裝置,其特征在于,所述預(yù)設(shè)的時長包括一個周期內(nèi)的多個時 長,多個時長的數(shù)量與播放隊列可存儲的視頻片段的數(shù)量一致; 多個時長中的第一時長大于視頻片段的長度的一半且小于視頻片段的長度; 多個時長中除第一時長以外的其它均為第一時長的2倍。
10. 如權(quán)利要求8所述的裝置,其特征在于,所述刪除模塊在沒有下載到視頻片段時, 每間隔預(yù)設(shè)的時長時,從播放隊列中刪除讀取的視頻片段。
【文檔編號】H04N21/472GK104219581SQ201410441278
【公開日】2014年12月17日 申請日期:2014年9月1日 優(yōu)先權(quán)日:2014年9月1日
【發(fā)明者】武悅 申請人:無錫天脈聚源傳媒科技有限公司