音視頻跳轉播放的方法和裝置與流程
2023-09-14 03:53:25
本發明涉及到多媒體技術領域,特別涉及到音視頻跳轉播放的方法和裝置。
背景技術:
目前,用戶在通過視頻播放器觀看視頻或通過音頻播放器收聽音樂時,可通過拖動進度條或快捷鍵等方式實現前進或後退操作。如果是採用拖動進度條的方式,則將視頻或音頻的播放時間點向前或向後移動任意一段時長,移動時長根據進度條拖動的距離而定;如果是採用快捷鍵的方式,則將視頻或音頻的播放時間點向前或向後移動固定時長,移動時長根據預設值而定,例如5秒、10秒等。但是,現有的前進或後退操作在跳轉後到達的時間點不可控,可能會從某一句字幕或歌詞的中間位置開始播放,如圖7a所示,給用戶帶來不便。
技術實現要素:
本發明實施例提供一種音視頻跳轉播放的方法和裝置,能夠在前進或後退操作後,直接跳轉到視頻的某一句字幕或音頻的某一句歌詞的起始位置播放,方便用戶繼續觀看視頻或收聽音頻。
本發明實施例提出一種音視頻跳轉播放的方法,包括步驟:
接收跳轉指令,獲取所述跳轉指令指定的跳轉時間點;
獲取當前音視頻的字幕時間軸;
在所述跳轉指令指定的跳轉方向上,在所述字幕時間軸記錄的各個起始時間點中,查找與所述指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點;
將當前音視頻跳轉至所述實際跳轉時間點進行播放。
本發明實施例還提出一種音視頻跳轉播放的裝置,包括:
指令接收模塊,用於接收跳轉指令;
獲取模塊,用於獲取所述跳轉指令指定的跳轉時間點;獲取當前音視頻的字幕時間軸;
查找模塊,用於在所述跳轉指令指定的跳轉方向上,在所述字幕時間軸記錄的各個起始時間點中,查找與所述指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點;
播放模塊,用於將當前音視頻跳轉至所述實際跳轉時間點進行播放。
本發明實施例在跳轉視頻或音頻的播放進度後,播放的視頻數據或音頻數據為視頻的某一句字幕或音頻的某一句歌詞的起始位置,避免了跳轉到某一句字幕或某一句歌詞的中間位置播放,使用戶在跳轉進度後能夠收聽到一句完整的臺詞或歌詞,方便用戶繼續觀看視頻或收聽音頻。
附圖說明
圖1為本發明實施例中音視頻跳轉播放的裝置所在終端的總線圖;
圖2為本發明音視頻跳轉播放的方法的第一實施例的流程圖;
圖3為本發明音視頻跳轉播放的方法的第二實施例的流程圖;
圖4為本發明音視頻跳轉播放的方法的第三實施例的流程圖;
圖5為本發明音視頻跳轉播放的方法的第四實施例的流程圖;
圖6為本發明音視頻跳轉播放的裝置的實施例的模塊示意圖;
圖7a為現有技術中音視頻跳轉播放的進度示意圖;
圖7b為本發明實施例中音視頻跳轉播放的進度示意圖;
圖8為本發明實施例中音視頻字幕時間軸的示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限 定本發明。
參照圖1,圖1為本發明實施例中音視頻跳轉播放的裝置所在終端的總線圖。該終端可以包括:至少一個處理器101,例如CPU,至少一個網絡接口104,用戶接口103,存儲器105,至少一個通信總線102。其中,通信總線102用於實現這些組件之間的連接通信。其中,用戶接口103可以包括顯示屏(Display)、鍵盤(Keyboard),還可以包括標準的有線接口、無線接口。網絡接口104可以包括標準的有線接口、無線接口(如WIFI接口)。存儲器105可以是高速RAM存儲器,也可以是非不穩定的存儲器(non-volatile memory),例如至少一個磁碟存儲器。存儲器105還可以是至少一個位於遠離前述處理器101的存儲裝置。作為一種計算機存儲介質的存儲器105中可以包括作業系統、網絡通信模塊、用戶接口模塊以及音視頻跳轉播放程序。
在圖1所示的音視頻跳轉播放的裝置所在終端中,網絡接口104主要用於連接伺服器或其他終端,與伺服器或其他終端進行數據通信;而用戶接口103主要用於接收用戶指令,並與用戶進行交互;而處理器101可以用於調用存儲器105中存儲的音視頻跳轉播放程序,並執行以下操作:
通過用戶接口103接收跳轉指令;
獲取跳轉指令指定的跳轉時間點;
獲取當前音視頻的字幕時間軸;
在跳轉指令指定的跳轉方向上,在字幕時間軸記錄的各個起始時間點中,查找與指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點;
將當前音視頻跳轉至實際跳轉時間點進行播放。
在一個實施例中,處理器101調用存儲器105中存儲的音視頻跳轉播放程序還可以執行以下操作:
當跳轉指令為前進跳轉時,在字幕時間軸記錄的各個起始時間點中,查找大於當前播放時間點、且與指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點;
當跳轉指令為後退跳轉時,在字幕時間軸記錄的各個起始時間點中,查找小於當前播放時間點、且與指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點。
在一個實施例中,處理器101調用存儲器105中存儲的音視頻跳轉播放程序還可以執行以下操作:
當跳轉指令為進度條拖動方式生成時,獲取進度條拖動後指向的時間點,作為指定的跳轉時間點。
在一個實施例中,處理器101調用存儲器105中存儲的音視頻跳轉播放程序還可以執行以下操作:
當跳轉指令為快捷鍵方式生成時,獲取預設固定時長;
當跳轉指令為前進跳轉時,將當前播放時間點增加一個預設固定時長後,獲得指定的跳轉時間點;
當跳轉指令為後退跳轉時,將當前播放時間點減少一個預設固定時長後,獲得指定的跳轉時間點。
本實施例圖1所描述的音視頻跳轉播放的裝置及其所在終端,在跳轉視頻或音頻的播放進度後,播放的視頻數據或音頻數據為視頻的某一句字幕或音頻的某一句歌詞的起始位置,避免了跳轉到某一句字幕或某一句歌詞的中間位置播放,使用戶在跳轉進度後能夠收聽到一句完整的臺詞或歌詞,方便用戶繼續觀看視頻或收聽音頻。
如圖2所示,圖2為本發明音視頻跳轉播放的方法的第一實施例的流程圖。本實施例提到的音視頻跳轉播放的方法,包括:
步驟S10,接收跳轉指令;
本實施例可應用於視頻播放器或音頻播放器,還可應用於瀏覽器在線播放視頻或音頻。當用戶想要跳轉播放進度時,可採用以下方式觸發跳轉指令:可通過滑鼠或觸屏方式拖動當前視頻或音頻的進度條到指定位置,或者點擊快捷鍵,例如點擊鍵盤上的向左按鍵實現後退,向右按鍵實現前進,又例如點擊在播放器上顯示的前進或後退的操作控制項。
步驟S20,獲取跳轉指令指定的跳轉時間點;
在跳轉指令中包括有指定的跳轉時間點,例如用戶拖動進度條到指定位置,則該指定位置即為跳轉指令指定的跳轉時間點。又例如用戶點擊鍵盤上的向左按鍵,則跳轉指令指定的跳轉時間點為當前播放時間點後退預設時長之後到達的時間點。
步驟S30,獲取當前音視頻的字幕時間軸;
用戶可預先在播放器中設置根據字幕調整跳轉時間點的功能項,則在獲取指定的跳轉時間點後,播放器並不立即播放該時間點處的音頻或視頻數據,而是需要將跳轉時間點調整到某一句字幕或歌詞的起始位置。此時,播放器需獲取當前音視頻的字幕時間軸。若當前音視頻為視頻文件,在字幕時間軸內記錄有當前視頻文件的每一句字幕的起始時間點,如圖8所示。同理,若當前音視頻為音頻文件,在字幕時間軸記錄有當前音頻文件的每一句歌詞的起始時間點。
步驟S40,在跳轉指令指定的跳轉方向上,在字幕時間軸記錄的各個起始時間點中,查找與指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點;
以當前播放時間點為01:00為例,如果跳轉指令指定的跳轉方向為前進方向,跳轉指令指定的跳轉時間點為01:10,在圖8所示的字幕時間軸中,與01:10間隔最短的起始時間點為01:21,則將01:21作為實際跳轉時間點。如果跳轉指令指定的跳轉方向為後退方向,跳轉指令指定的跳轉時間點為01:00,在圖8所示的字幕時間軸中,雖然與01:00間隔最短的起始時間點為01:21,但是由於01:21不在指定的跳轉方向上,因此不將01:21作為實際跳轉時間點,而是選取00:31作為實際跳轉時間點。
步驟S50,將當前音視頻跳轉至實際跳轉時間點進行播放。
在獲得實際跳轉時間點後,播放器將當前音視頻跳轉到實際跳轉時間點進行播放,如圖7b所示。如此一來,跳轉後播放的視頻數據為當前視頻文件的某一句字幕,跳轉後播放的音頻數據為當前音頻文件的某一句歌詞的起始位置,避免了跳轉到某一句字幕或某一句歌詞的中間位置播放,使用戶在跳轉進度後能夠收聽到一句完整的臺詞或歌詞,方便用戶繼續觀看視頻或收聽音頻。
如圖3所示,圖3為本發明音視頻跳轉播放的方法的第二實施例的流程圖。本實施例包括圖2所示實施例中的所有步驟,其中步驟S40包括:
步驟S41,當跳轉指令為前進跳轉時,在字幕時間軸記錄的各個起始時間點中,查找大於當前播放時間點、且與指定的跳轉時間點間隔最短的起始時 間點,作為實際跳轉時間點;
步驟S42,當跳轉指令為後退跳轉時,在字幕時間軸記錄的各個起始時間點中,查找小於當前播放時間點、且與指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點。
本實施例的播放器根據跳轉指令指定的跳轉時間點和當前時間點進行比較,確定跳轉指令的跳轉方向。如果跳轉指令指定的跳轉時間點大於當前時間點,則說明跳轉指令的跳轉方向為前進跳轉;如果跳轉指令指定的跳轉時間點小於當前時間點,則說明跳轉指令的跳轉方向為後退跳轉。本實施例還將視頻文件的字幕時間軸中的字幕起始時間點或音頻文件的字幕時間軸中的歌詞起始時間點與當前播放時間點比較大小,如果起始時間點大於當前播放時間點,則該起始時間點在當前播放進度的前進方向上,如果起始時間點小於當前播放時間點,則該起始時間點在當前播放進度的後退方向上。以當前播放時間點為01:00為例,如果跳轉指令為前進跳轉,跳轉指令指定的跳轉時間點為01:10,在圖8所示的字幕時間軸中,大於01:00且與01:10間隔最短的起始時間點為01:21,則將01:21作為實際跳轉時間點。如果跳轉指令為後退跳轉,跳轉指令指定的跳轉時間點為01:00,在圖8所示的字幕時間軸中,雖然與01:00間隔最短的起始時間點為01:21,但是由於01:21大於當前播放時間點01:00,因此不將01:21作為實際跳轉時間點,而是選取00:31作為實際跳轉時間點。本實施例通過當前播放時間點與字幕時間軸中的起始時間點進行比較,來確定與指定的跳轉時間點間隔最短的起始時間點是否在跳轉指令指定的跳轉方向上,使跳轉更加準確,避免了實際跳轉方向與指定跳轉方向相反的情況發生。
如圖4所示,圖4為本發明音視頻跳轉播放的方法的第三實施例的流程圖。本實施例包括圖2所示實施例中的所有步驟,其中步驟S20包括:
步驟S21,當跳轉指令為進度條拖動方式生成時,獲取進度條拖動後指向的時間點,作為指定的跳轉時間點。
本實施例中的跳轉指令採用拖動進度條的方式生成。當前視頻或音頻的進度條長度對應了當前視頻或音頻的整個播放時長,進度條上每一個刻度都對應一個時間點,用戶通過滑鼠或觸屏方式拖動當前視頻或音頻的進度條到 指定位置,該指定位置對應了一個時間點,該時間點就作為跳轉指令指定的跳轉時間點。播放器在確定跳轉指令指定的跳轉時間點後,並不立即跳轉到指定的跳轉時間點處進行播放,而是根據當前視頻的字幕時間軸中記錄的各句字幕的起始時間點或當前音頻的字幕時間軸中記錄的各句歌詞的起始時間點,來調整跳轉時間點,使跳轉後播放的視頻數據或音頻數據為視頻的某一句字幕或音頻的某一句歌詞的起始位置,避免了跳轉到某一句字幕或某一句歌詞的中間位置播放,使用戶在跳轉進度後能夠收聽到一句完整的臺詞或歌詞,方便用戶繼續觀看視頻或收聽音頻。
如圖5所示,圖5為本發明音視頻跳轉播放的方法的第四實施例的流程圖。本實施例包括圖2所示實施例中的所有步驟,其中步驟S20還包括:
步驟S22,當跳轉指令為快捷鍵方式生成時,獲取預設固定時長;
步驟S23,當跳轉指令為前進跳轉時,將當前播放時間點增加一個預設固定時長後,獲得指定的跳轉時間點;
步驟S24,當跳轉指令為後退跳轉時,將當前播放時間點減少一個預設固定時長後,獲得指定的跳轉時間點。
本實施例中的跳轉指令採用快捷鍵的方式生成,快捷鍵可包括鍵盤或滑鼠上的物理按鍵,例如鍵盤上的向左按鍵對應後退操作,向右按鍵對應前進操作,快捷鍵也可包括終端屏幕上顯示的虛擬控制項,例如在播放器上顯示的前進或後退的操作控制項。在播放器程序中還預設有快捷鍵跳轉的預設固定時長。例如當前播放時間點為01:00,固定時長為5s,如果用戶點擊一次後退的快捷鍵,指定的跳轉時間點則從當前播放時間點向後退5s,則指定的跳轉時間點為00:55;如果用戶點擊一次前進的快捷鍵,指定的跳轉時間點則從當前播放時間點向前進5s,則指定的跳轉時間點為01:05。播放器在確定跳轉指令指定的跳轉時間點後,並不立即跳轉到指定的跳轉時間點處進行播放,而是根據當前視頻的字幕時間軸中記錄的各句字幕的起始時間點或當前音頻的字幕時間軸中記錄的各句歌詞的起始時間點,來調整跳轉時間點,使跳轉後播放的視頻數據或音頻數據為視頻的某一句字幕或音頻的某一句歌詞的起始位置,避免了跳轉到某一句字幕或某一句歌詞的中間位置播放,使用戶在跳轉進度後能夠收聽到一句完整的臺詞或歌詞,方便用戶繼續觀看視頻或收聽音 頻。
如圖6所示,圖6為本發明音視頻跳轉播放的裝置的實施例的模塊示意圖。本實施例提到的音視頻跳轉播放的裝置,包括:
指令接收模塊110,用於接收跳轉指令;
獲取模塊120,用於獲取跳轉指令指定的跳轉時間點;獲取當前音視頻的字幕時間軸;
查找模塊130,用於在跳轉指令指定的跳轉方向上,在字幕時間軸記錄的各個起始時間點中,查找與指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點;
播放模塊140,用於將當前音視頻跳轉至實際跳轉時間點進行播放。
本實施例可應用於視頻播放器或音頻播放器,還可應用於瀏覽器在線播放視頻或音頻。當用戶想要跳轉播放進度時,可採用以下方式觸發跳轉指令:可通過滑鼠或觸屏方式拖動當前視頻或音頻的進度條到指定位置,或者點擊快捷鍵,例如點擊鍵盤上的向左按鍵實現後退,向右按鍵實現前進,又例如點擊在播放器上顯示的前進或後退的操作控制項。
在跳轉指令中包括有指定的跳轉時間點,例如用戶拖動進度條到指定位置,則該指定位置即為跳轉指令指定的跳轉時間點。又例如用戶點擊鍵盤上的向左按鍵,則跳轉指令指定的跳轉時間點為當前播放時間點後退預設時長之後到達的時間點。
用戶可預先在播放器中設置根據字幕調整跳轉時間點的功能項,則在獲取指定的跳轉時間點後,播放器並不立即播放該時間點處的音頻或視頻數據,而是需要將跳轉時間點調整到某一句字幕或歌詞的起始位置。此時,播放器需獲取當前音視頻的字幕時間軸。若當前音視頻為視頻文件時,在字幕時間軸內記錄有當前視頻文件的每一句字幕的起始時間點,如圖8所示。同理,若當前音視頻為音頻文件,在字幕時間軸記錄有當前音頻文件的每一句歌詞的起始時間點。
以當前播放時間點為01:00為例,如果跳轉指令指定的跳轉方向為前進方向,跳轉指令指定的跳轉時間點為01:10,在圖8所示的字幕時間軸中,與01:10間隔最短的起始時間點為01:21,則將01:21作為實際跳轉時間點。如果跳轉 指令指定的跳轉方向為後退方向,跳轉指令指定的跳轉時間點為01:00,在圖8所示的字幕時間軸中,雖然與01:00間隔最短的起始時間點為01:21,但是由於01:21不在指定的跳轉方向上,因此不將01:21作為實際跳轉時間點,而是選取00:31作為實際跳轉時間點。
在獲得實際跳轉時間點後,播放器將當前音視頻跳轉到實際跳轉時間點進行播放,如圖7b所示。如此一來,跳轉後播放的視頻數據為當前視頻文件的某一句字幕,跳轉後播放的音頻數據為當前音頻文件的某一句歌詞的起始位置,避免了跳轉到某一句字幕或某一句歌詞的中間位置播放,使用戶在跳轉進度後能夠收聽到一句完整的臺詞或歌詞,方便用戶繼續觀看視頻或收聽音頻。
進一步的,查找模塊130還用於:
當跳轉指令為前進跳轉時,在字幕時間軸記錄的各個起始時間點中,查找大於當前播放時間點、且與指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點;
當跳轉指令為後退跳轉時,在字幕時間軸記錄的各個起始時間點中,查找小於當前播放時間點、且與指定的跳轉時間點間隔最短的起始時間點,作為實際跳轉時間點。
本實施例的播放器根據跳轉指令指定的跳轉時間點和當前時間點進行比較,確定跳轉指令的跳轉方向。如果跳轉指令指定的跳轉時間點大於當前時間點,則說明跳轉指令的跳轉方向為前進跳轉;如果跳轉指令指定的跳轉時間點小於當前時間點,則說明跳轉指令的跳轉方向為後退跳轉。本實施例還將視頻文件的字幕時間軸中的字幕起始時間點或音頻文件的字幕時間軸中的歌詞起始時間點與當前播放時間點比較大小,如果起始時間點大於當前播放時間點,則該起始時間點在當前播放進度的前進方向上,如果起始時間點小於當前播放時間點,則該起始時間點在當前播放進度的後退方向上。以當前播放時間點為01:00為例,如果跳轉指令為前進跳轉,跳轉指令指定的跳轉時間點為01:10,在圖8所示的字幕時間軸中,大於01:00且與01:10間隔最短的起始時間點為01:21,則將01:21作為實際跳轉時間點。如果跳轉指令為後退跳轉,跳轉指令指定的跳轉時間點為01:00,在圖8所示的字幕時間軸中, 雖然與01:00間隔最短的起始時間點為01:21,但是由於01:21大於當前播放時間點01:00,因此不將01:21作為實際跳轉時間點,而是選取00:31作為實際跳轉時間點。本實施例通過當前播放時間點與字幕時間軸中的起始時間點進行比較,來確定與指定的跳轉時間點間隔最短的起始時間點是否在跳轉指令指定的跳轉方向上,使跳轉更加準確,避免了實際跳轉方向與指定跳轉方向相反的情況發生。
進一步的,獲取模塊120還用於:
當跳轉指令為進度條拖動方式生成時,獲取進度條拖動後指向的時間點,作為指定的跳轉時間點。
本實施例中的跳轉指令採用拖動進度條的方式生成。當前視頻或音頻的進度條長度對應了當前視頻或音頻的整個播放時長,進度條上每一個刻度都對應一個時間點,用戶通過滑鼠或觸屏方式拖動當前視頻或音頻的進度條到指定位置,該指定位置對應了一個時間點,該時間點就作為跳轉指令指定的跳轉時間點。播放器在確定跳轉指令指定的跳轉時間點後,並不立即跳轉到指定的跳轉時間點處進行播放,而是根據當前視頻的字幕時間軸中記錄的各句字幕的起始時間點或當前音頻的字幕時間軸中記錄的各句歌詞的起始時間點,來調整跳轉時間點,使跳轉後播放的視頻數據或音頻數據為視頻的某一句字幕或音頻的某一句歌詞的起始位置,避免了跳轉到某一句字幕或某一句歌詞的中間位置播放,使用戶在跳轉進度後能夠收聽到一句完整的臺詞或歌詞,方便用戶繼續觀看視頻或收聽音頻。
進一步的,獲取模塊120還用於:
當跳轉指令為快捷鍵方式生成時,獲取預設固定時長;
當跳轉指令為前進跳轉時,將當前播放時間點增加一個預設固定時長後,獲得指定的跳轉時間點;
當跳轉指令為後退跳轉時,將當前播放時間點減少一個預設固定時長後,獲得指定的跳轉時間點。
本實施例中的跳轉指令採用快捷鍵的方式生成,快捷鍵可包括鍵盤或滑鼠上的物理按鍵,例如鍵盤上的向左按鍵對應後退操作,向右按鍵對應前進 操作,快捷鍵也可包括終端屏幕上顯示的虛擬控制項,例如在播放器上顯示的前進或後退的操作控制項。在播放器程序中還預設有快捷鍵跳轉的預設固定時長。例如當前播放時間點為01:00,固定時長為5s,如果用戶點擊一次後退的快捷鍵,指定的跳轉時間點則從當前播放時間點向後退5s,則指定的跳轉時間點為00:55;如果用戶點擊一次前進的快捷鍵,指定的跳轉時間點則從當前播放時間點向前進5s,則指定的跳轉時間點為01:05。播放器在確定跳轉指令指定的跳轉時間點後,並不立即跳轉到指定的跳轉時間點處進行播放,而是根據當前視頻的字幕時間軸中記錄的各句字幕的起始時間點或當前音頻的字幕時間軸中記錄的各句歌詞的起始時間點,來調整跳轉時間點,使跳轉後播放的視頻數據或音頻數據為視頻的某一句字幕或音頻的某一句歌詞的起始位置,避免了跳轉到某一句字幕或某一句歌詞的中間位置播放,使用戶在跳轉進度後能夠收聽到一句完整的臺詞或歌詞,方便用戶繼續觀看視頻或收聽音頻。
需要說明的是,在本文中,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質(如ROM/RAM、磁碟、光碟)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述的方法。
以上所述僅為本發明的優選實施例,並非因此限制本發明的專利範圍, 凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。