在視頻播放時以彈幕顯示文字信息的方法及裝置的制造方法
【技術領域】
[0001]本發明涉及網絡通信技術領域,具體涉及一種在視頻播放時以彈幕顯示文字信息的方法及裝置。
【背景技術】
[0002]隨著互聯網技術的迅速發展,越來越多的用戶習慣于通過網絡觀看視頻。很多網絡視頻在播放之前都預先經過處理,以添加額外的文字信息,使用戶在觀看視頻的同時看到與視頻相關的信息,從而增強用戶體驗。
[0003]傳統的技術是將要顯現的文字信息以字幕的方式添加到視頻的特定畫面幀中,文字信息與視頻畫面幀之間根據時間來綁定。具體處理時,在原始視頻流的特定畫面幀上添加文字信息后得到新的視頻流并播放。在新的視頻流中,需要顯示額外文字信息的畫面幀上除原始畫面外還額外繪制有欲顯示的文字信息內容,因此,文字信息內容與視頻的畫面幀必須是預先綁定在一起的。在這種方式中,文字信息內容與視頻的各個畫面幀的顯示時間相關聯,只有在視頻顯示到相應時間時才會顯示對應的文字信息內容。也就是說,若想要顯示文字信息,必須在整個視頻播放之前就配置好,無法一邊播放視頻一邊配置要顯示的文字信息。例如,若用戶在觀看視頻的某一時刻發表評論,這條評論內容無法在此次播放過程中出現在該時刻所對應的畫面幀中,必須等到該視頻此次播放完再通過相關技術對所述視頻進行處理以添加所述評論內容,從而使下次視頻播放過程中播放到相應時刻時能夠看到評論內容。也就是說,用戶每次觀看視頻時所看到的文字信息內容都是前次觀看該視頻的用戶發表的評論數據。
[0004]由此可見,由于傳統的技術中的文字信息內容必須在視頻播放前與視頻的畫面幀綁定在一起,因此,無法實時地顯示最新的評論內容。
【發明內容】
[0005]鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的在視頻播放時以彈幕顯示文字信息的方法及裝置。
[0006]依據本發明的一個方面,提供了一種在視頻播放時以彈幕顯示文字信息的方法,包括:實時獲取與播放的視頻流相關的文字評論數據,其中所述視頻流通過第一播放控件播放;根據所述文字評論數據以及預設的彈幕模型制作彈幕視頻流,其中,在所述彈幕視頻流的每一幀中,除彈幕數據外的其余部分為透明狀態;以及通過第二播放控件播放所述彈幕視頻流,其中,所述彈幕視頻流覆蓋在所述視頻流之上。
[0007]可選地,所述彈幕數據包括由文字評論數據組成的一行或多行文字信息,且所述彈幕模型中規定了以下內容中的至少一項:彈幕視頻流的每一幀所顯示的文字信息的行數的閾值范圍、每一行文字信息的滾動速度的閾值范圍、各行文字信息之間的間距的閾值范圍、以及文字信息的字體/字號/顏色。
[0008]可選地,進一步包括步驟:當獲取到與播放的視頻流相關的新的文字評論數據時,根據所述預設的彈幕模型以及新的文字評論數據更新所述彈幕視頻流,并通過所述第二播放控件播放更新后的彈幕視頻流。
[0009]可選地,在更新所述彈幕視頻流時,將所述新的文字評論數據插入原來彈幕視頻流的彈幕數據中,或者,將原來彈幕視頻流的彈幕數據中的部分內容替換為所述新的文字評論數據。
[0010]可選地,所述彈幕模型中進一步規定了各行文字信息的最大字數,則將新的文字評論數據插入原來彈幕視頻流的彈幕數據中時,進一步包括步驟:計算所述最大字數與所述新的文字評論數據的字數之間的差值;當原來彈幕視頻流的彈幕數據中的至少一行文字信息的字數小于所述差值時,將所述新的文字評論數據插入對應的一行文字信息中;當原來彈幕視頻流的彈幕數據中的每一行文字信息的字數都不小于所述差值時,新增一行用于顯示所述新的文字評論數據的文字信息。
[0011]可選地,所述第一播放控件和所述第二播放控件為SurfaceView控件,并且,所述第二播放控件在播放所述彈幕視頻流的過程中,能夠根據接收到的暫停播放指令或重新播放指令執行相應的操作。
[0012]可選地,所述第一播放控件與所述第二播放控件之間相互獨立;或者,所述第一播放控件的操作與所述第二播放控件的操作之間存在固定關系,所述固定關系包括以下至少一種:當所述第一播放控件暫時播放時,向所述第二播放控件發送暫停播放指令以使所述第二播放控件暫停播放;當所述第一播放控件重新播放時,向所述第二播放控件發送重新播放指令以使所述第二播放控件重新播放,所述第二播放控件暫停播放的實現方式為:所述第二播放控件正在播放的內容靜止在顯示區域上;或者,所述第二播放控件正在播放的內容從顯示區域消失。
[0013]依據本發明的另一方面,提供了一種在視頻播放時以彈幕顯示文字信息的裝置,包括:評論數據獲取模塊,適于實時獲取與播放的視頻流相關的文字評論數據,其中所述視頻流通過第一播放控件播放;彈幕制作模塊,適于根據所述文字評論數據以及預設的彈幕模型制作彈幕視頻流,其中,在所述彈幕視頻流的每一幀中,除彈幕數據外的其余部分為透明狀態;以及彈幕播放模塊,適于通過第二播放控件播放所述彈幕視頻流,其中,所述彈幕視頻流覆蓋在所述視頻流之上。
[0014]可選地,所述彈幕數據包括由文字評論數據組成的一行或多行文字信息,且所述彈幕模型中規定了以下內容中的至少一項:彈幕視頻流的每一幀所顯示的文字信息的行數的閾值范圍、每一行文字信息的滾動速度的閾值范圍、各行文字信息之間的間距的閾值范圍、以及文字信息的字體/字號/顏色。
[0015]可選地,所述彈幕制作模塊進一步用于:當獲取到與播放的視頻流相關的新的文字評論數據時,根據所述預設的彈幕模型以及新的文字評論數據更新所述彈幕視頻流;則所述彈幕播放模塊進一步用于播放更新后的彈幕視頻流。
[0016]可選地,所述彈幕制作模塊在更新所述彈幕視頻流時,將所述新的文字評論數據插入原來彈幕視頻流的彈幕數據中,或者,將原來彈幕視頻流的彈幕數據中的部分內容替換為所述新的文字評論數據。
[0017]可選地,所述彈幕模型中進一步規定了各行文字信息的最大字數,則所述彈幕制作模塊將新的文字評論數據插入原來彈幕視頻流的彈幕數據中時,進一步用于:計算所述最大字數與所述新的文字評論數據的字數之間的差值;當原來彈幕視頻流的彈幕數據中的至少一行文字信息的字數小于所述差值時,將所述新的文字評論數據插入對應的一行文字信息中;當原來彈幕視頻流的彈幕數據中的每一行文字信息的字數都不小于所述差值時,新增一行用于顯示所述新的文字評論數據的文字信息。
[0018]可選地,所述第一播放控件和所述第二播放控件為SurfaceView控件,并且,所述第二播放控件在播放所述彈幕視頻流的過程中,能夠根據接收到的暫停播放指令或重新播放指令執行相應的操作。
[0019]可選地,所述第一播放控件的操作與所述第二播放控件的操作之間相互獨立;或者,所述第一播放控件的操作與所述第二播放控件的操作之間存在固定關系,所述固定關系包括以下至少一種:當所述第一播放控件暫時播放時,向所述第二播放控件發送暫停播放指令以使所述第二播放控件暫停播放;當所述第一播放控件重新播放時,向所述第二播放控件發送重新播放指令以使所述第二播放控件重新播放,所述第二播放控件暫停播放的實現方式為:所述第二播放控件正在播放的內容靜止在顯示區域;或者,所述第二播放控件正在播放的內容從顯示區域消失。
[0020]在本發明提供的在視頻播放時以彈幕顯示文字信息的方法及裝置中,能夠將彈幕數據制作為彈幕視頻流,并在播放視頻流的過程中,通過另一播放控件同時播出該彈幕視頻流。其中,彈幕視頻流覆蓋在原始視頻流之上,且彈幕視頻流的每一幀中除彈幕數據外的其余部分均為透明狀態。由于本發明中的彈幕視頻流獨立于正在播放的視頻流,不必與正在播放的視頻流中的畫面幀進行綁定,因此,能夠通過彈幕實時地顯示最新的評論內容。
[0021]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。
【附圖說明】
[0022]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示