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