本發(fā)明涉及直播領域,尤其涉及一種直播的方法及系統(tǒng)。
背景技術:
傳統(tǒng)的視頻直播技術為,實時采集主播端的視頻信號,將采集到的視頻信號編碼為流式數(shù)據(jù)后通過網絡發(fā)送至觀眾端,由于視頻信號所占的容量較大,使得傳統(tǒng)的視頻直播技術對網絡帶寬和直播設備的要求較高。
目前,在線教育已走進千家萬戶。在線教育的視頻直播通常向觀眾端傳送的是課件、習題和板書等畫面,而主播端通常是使用某種軟件展示課件、習題和板書。當教師在進行課件或習題的講解時,常存在教師只是在課件或習題上標注一個重點標記等畫面變化較小的情況,若采用傳統(tǒng)的直播技術無疑需耗費大量的數(shù)據(jù)流量。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是:在視頻直播的過程中如何節(jié)省數(shù)據(jù)流量。
為了解決上述技術問題,本發(fā)明采用的技術方案為:
本發(fā)明提供一種直播的方法,包括:
s1、獲取主播端生成的第一事件;
s2、獲取與所述第一事件對應的對象、事件類型和事件參數(shù),得到事件信息;
s3、觀眾端生成與所述事件信息對應的第二事件。
本發(fā)明還提供一種直播的系統(tǒng),包括:
第一獲取模塊,用于獲取主播端生成的第一事件;
第二獲取模塊,用于獲取與所述第一事件對應的對象、事件類型和事件參數(shù),得到事件信息;
第一生成模塊,用于觀眾端生成與所述事件信息對應的第二事件。
本發(fā)明的有益效果在于:本發(fā)明通過攔截教師在主播端的操作所產生的事件,并提取事件中的有效信息作為事件信息,使得觀眾端可根據(jù)文本格式的事件信息自動生成與主播端相同的事件,實現(xiàn)直播功能。區(qū)別于現(xiàn)有技術使用視頻信號編碼而成的數(shù)據(jù)流同步主播端和觀眾端,本發(fā)明用于同步主播端與觀眾端的事件信息所占容量大幅度減小,極大程度上減少了視頻直播過程中所需耗費的數(shù)據(jù)流量,進而降低了直播過程中對網絡帶寬和設備的要求。
附圖說明
圖1為本發(fā)明提供的一種直播的方法的具體實施方式的流程框圖;
圖2為本發(fā)明提供的一種直播的系統(tǒng)的具體實施方式的結構框圖;
標號說明:
1、第一獲取模塊;2、第二獲取模塊;3、第一生成模塊;31、添加單元;32、生成單元;33、第一執(zhí)行單元;34、第二執(zhí)行單元;35、第三執(zhí)行單元;36、第四執(zhí)行單元;4、第三獲取模塊;5、第二生成模塊;6、轉換模塊。
具體實施方式
為詳細說明本發(fā)明的技術內容、所實現(xiàn)目的及效果,以下結合實施方式并配合附圖予以說明。
名詞解釋
請參照圖1及圖2,
如圖1所示,本發(fā)明提供一種直播的方法,包括:
s1、獲取主播端生成的第一事件;
s2、獲取與所述第一事件對應的對象、事件類型和事件參數(shù),得到事件信息;
s3、觀眾端生成與所述事件信息對應的第二事件。
進一步地,還包括:
獲取主播端中預設的插件執(zhí)行的操作;
主播端中的展示軟件生成與所述操作對應的第三事件。
由上述描述可知,用于攔截展示軟件生成的事件的方法只能攔截到主播端使用的展示課件、習題或板書的展示軟件所生成的事件,而用戶對主播端的視頻插件或音頻插件的操作是無法通過與攔截展示軟件的事件相同的方式進行攔截的。因此,需由展示軟件模擬用戶對主播端中的插件執(zhí)行的操作才可將用戶對插件的操作同步至觀眾端,提高同步的準確性。
進一步地,還包括:
當所述事件參數(shù)包含第一坐標信息時,
根據(jù)主播端的分辨率和觀眾端的分辨率轉換所述第一坐標信息,得到第二坐標信息;
第二坐標信息覆蓋所述事件信息中的第一坐標信息。
由上述描述可知,有利于提高主播端和觀眾端事件同步的準確性。
進一步地,所述s3具體為:
添加所述事件信息至預設的事件隊列;
觀眾端依次根據(jù)所述事件隊列中的事件信息生成對應的第二事件。
由上述描述可知,通過隊列實現(xiàn)按序同步,提高同步的準確性。
進一步地,所述s3具體為:
當所述事件類型為觸發(fā)事件時,
所述事件參數(shù)包括所述對象的第三坐標信息;
觀眾端根據(jù)所述第三坐標信息執(zhí)行對應的觸發(fā)操作。
進一步地,所述s3具體為:
當所述事件類型為觸發(fā)事件時,
所述事件參數(shù)包括所述對象的唯一標識;
觀眾端根據(jù)所述唯一標識執(zhí)行對應的觸發(fā)操作。
進一步地,所述s3具體為:
當所述事件類型為滑動事件或拖拽事件時,
所述事件參數(shù)包括與所述對象的運動軌跡對應的坐標序列;
觀眾端根據(jù)所述坐標序列觸發(fā)所述對象執(zhí)行對應的滑動操作或拖拽操作。
進一步地,所述s3具體為:
若所述事件類型為延遲事件,則:
所述事件參數(shù)包括開始時間和延遲時間;
當系統(tǒng)時間到達所述開始時間時,觀眾端觸發(fā)所述對象;
當所述開始時間與當前系統(tǒng)時間的時間間隔為所述延遲時間時,所述對象執(zhí)行對應的操作。
如圖2所示,本發(fā)明還提供一種直播的系統(tǒng),包括:
第一獲取模塊1,用于獲取主播端生成的第一事件;
第二獲取模塊2,用于獲取與所述第一事件對應的對象、事件類型和事件參數(shù),得到事件信息;
第一生成模塊3,用于觀眾端生成與所述事件信息對應的第二事件。
進一步地,還包括:
第三獲取模塊4,用于獲取主播端中預設的插件執(zhí)行的操作;
第二生成模塊5,用于主播端中的展示軟件生成與所述操作對應的第三事件;
轉換模塊6,用于當所述事件參數(shù)包含第一坐標信息時,根據(jù)主播端的分辨率和觀眾端的分辨率轉換所述第一坐標信息,得到第二坐標信息;第二坐標信息覆蓋所述事件信息中的第一坐標信息;
所述第一生成模塊3包括添加單元31、生成單元32、第一執(zhí)行單元33、第二執(zhí)行單元34、第三執(zhí)行單元35和第四執(zhí)行單元36;
所述事件參數(shù)包括所述對象的第三坐標信息、所述對象的唯一標識、與所述對象的運動軌跡對應的坐標序列、開始時間和延遲時間;
所述添加單元31,用于添加所述事件信息至預設的事件隊列;
所述生成單元32,用于觀眾端依次根據(jù)所述事件隊列中的事件信息生成對應的第二事件;
所述第一執(zhí)行單元33,用于當所述事件類型為觸發(fā)事件時,觀眾端根據(jù)所述第三坐標信息執(zhí)行對應的觸發(fā)操作;
所述第二執(zhí)行單元34,用于當所述事件類型為觸發(fā)事件時,觀眾端根據(jù)所述唯一標識執(zhí)行對應的觸發(fā)操作;
所述第三執(zhí)行單元35,用于當所述事件類型為滑動事件或拖拽事件時,觀眾端根據(jù)所述坐標序列觸發(fā)所述對象執(zhí)行對應的滑動操作或拖拽操作;
所述第四執(zhí)行單元36,用于若所述事件類型為延遲事件,則:當系統(tǒng)時間到達所述開始時間時,觀眾端觸發(fā)所述對象;當所述開始時間與當前系統(tǒng)時間的時間間隔為所述延遲時間時,所述對象執(zhí)行對應的操作。
本發(fā)明的實施例一為:
本實施例提供一種直播的方法,包括:
s1、獲取主播端生成的第一事件。
其中,用于獲取主播端生成的第一事件的方法只能攔截安裝于主播端的展示軟件所生成的事件;展示軟件用于播放課件、習題以及教師的板書;而教師控制視頻插件或音頻插件的用戶操作無法被獲取,因此,還需采用另一方法獲取主播端中預設的插件執(zhí)行的操作,再由主播端中的展示軟件模擬生成與所述操作對應的第三事件,此時,第三事件即教師對視頻插件或音頻插件進行的用戶操作,可被用于獲取主播端生成的第一事件的方法獲取。
s2、獲取與所述第一事件對應的對象、事件類型和事件參數(shù),得到事件信息。
s3、當所述事件參數(shù)包含第一坐標信息時,根據(jù)主播端的分辨率和觀眾端的分辨率轉換所述第一坐標信息,得到第二坐標信息;第二坐標信息覆蓋所述事件信息中的第一坐標信息。
例如,教師在主播端繪制一圓形,主播端的分辨率為3840*2400,而觀眾端的分辨率為240*320,若直接采用圓形在主播端的坐標信息在觀眾端繪制相同的圓形,則會出現(xiàn)異常情況,因此,當事件參數(shù)涉及坐標信息時需根據(jù)觀眾端和主播端的分辨率進行坐標轉換。
s4、添加所述事件信息至預設的事件隊列;預設時間間隔發(fā)送所述事件隊列至觀眾端。
s5、觀眾端依次根據(jù)所述事件隊列中的事件信息生成對應的第二事件;具體為:
當所述事件類型為觸發(fā)事件時,
所述事件參數(shù)包括所述對象的第三坐標信息;觀眾端根據(jù)所述第三坐標信息執(zhí)行對應的觸發(fā)操作;或,
所述事件參數(shù)包括所述對象的唯一標識;觀眾端根據(jù)所述唯一標識執(zhí)行對應的觸發(fā)操作。
例如,當所述事件類型為觸發(fā)事件時,觀眾端根據(jù)主播端送過來的事件信息中的對象標識找到對象,然后根據(jù)事件信息中的事件類型和參數(shù)模擬一個與主播端相同的事件,最后讓對象執(zhí)行該事件以達成操作同步的效果。
當所述事件類型為滑動事件或拖拽事件時,
所述事件參數(shù)包括與所述對象的運動軌跡對應的坐標序列;觀眾端根據(jù)所述坐標序列觸發(fā)所述對象執(zhí)行對應的滑動操作或拖拽操作。
其中,如果只是普通的鼠標移動事件(非鼠標點擊且未松開的移動),將被過濾掉不送到觀眾端;如果是鼠標點擊后未松開進行的移動,攔截軟件會將本次事件和上一次事件做比對,只有鼠標的橫向或縱向位移超過1個像素的事件才會被送到觀眾端;觀眾端收到事件信息后根據(jù)對象標識、事件類型和轉換后的第三坐標信息模擬事件并執(zhí)行以達成滑動或拖拽事件的同步。
若所述事件類型為延遲事件,則:
所述事件參數(shù)包括開始時間和延遲時間;當系統(tǒng)時間到達所述開始時間時,觀眾端觸發(fā)所述對象;當所述開始時間與當前系統(tǒng)時間的時間間隔為所述延遲時間時,所述對象執(zhí)行對應的操作。
其中,若所述事件類型為延遲事件,則該事件執(zhí)行結束后不馬上執(zhí)行下一個事件,而是間隔些許事件才執(zhí)行,間隔時間為所述延遲時間。
本發(fā)明的實施例二為:
本實施例提供一種直播的系統(tǒng),包括:
第一獲取模塊1獲取主播端生成的第一事件;
其中,第三獲取模塊4,用于獲取主播端中預設的插件執(zhí)行的操作;第二生成模塊5,用于主播端中的展示軟件生成與所述操作對應的第三事件;
第二獲取模塊2獲取與所述第一事件對應的對象、事件類型和事件參數(shù),得到事件信息;
當所述事件參數(shù)包含第一坐標信息時,轉換模塊6根據(jù)主播端的分辨率和觀眾端的分辨率轉換所述第一坐標信息,得到第二坐標信息;第二坐標信息覆蓋所述事件信息中的第一坐標信息;
第一生成模塊3,用于觀眾端生成與所述事件信息對應的第二事件;
其中,添加單元31添加所述事件信息至預設的事件隊列;生成單元32觀眾端依次根據(jù)所述事件隊列中的事件信息生成對應的第二事件;
所述事件參數(shù)包括所述對象的第三坐標信息、所述對象的唯一標識、與所述對象的運動軌跡對應的坐標序列、開始時間和延遲時間;
當所述事件類型為觸發(fā)事件時,第一執(zhí)行單元33使觀眾端根據(jù)所述第三坐標信息執(zhí)行對應的觸發(fā)操作;
當所述事件類型為觸發(fā)事件時,第二執(zhí)行單元34,使觀眾端根據(jù)所述唯一標識執(zhí)行對應的觸發(fā)操作;
當所述事件類型為滑動事件或拖拽事件時,第三執(zhí)行單元35使觀眾端根據(jù)所述坐標序列觸發(fā)所述對象執(zhí)行對應的滑動操作或拖拽操作;
若所述事件類型為延遲事件,則:當系統(tǒng)時間到達所述開始時間時,第四執(zhí)行單元36使觀眾端觸發(fā)所述對象;當所述開始時間與當前系統(tǒng)時間的時間間隔為所述延遲時間時,第四執(zhí)行單元36使所述對象執(zhí)行對應的操作。
綜上所述,本發(fā)明提供的一種直播的方法及系統(tǒng),通過攔截教師在主播端的操作所產生的事件,并提取事件中的有效信息作為事件信息,使得觀眾端可根據(jù)文本格式的事件信息自動生成與主播端相同的事件,實現(xiàn)直播功能。區(qū)別于現(xiàn)有技術使用視頻信號編碼而成的數(shù)據(jù)流同步主播端和觀眾端,本發(fā)明用于同步主播端與觀眾端的事件信息所占容量大幅度減小,極大程度上減少了視頻直播過程中所需耗費的數(shù)據(jù)流量,進而降低了直播過程中對網絡帶寬和設備的要求。進一步地,用于攔截展示軟件生成的事件的方法只能攔截到主播端使用的展示課件、習題或板書的展示軟件所生成的事件,而用戶對主播端的視頻插件或音頻插件的操作是無法通過與攔截展示軟件的事件相同的方式進行攔截的。因此,需由展示軟件模擬用戶對主播端中的插件執(zhí)行的操作才可將用戶對插件的操作同步至觀眾端,提高同步的準確性。進一步地,有利于提高主播端和觀眾端事件同步的準確性。進一步地,通過隊列實現(xiàn)按序同步,提高同步的準確性。
以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等同變換,或直接或間接運用在相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內。