本发明涉及直播领域,尤其涉及一种直播的方法及系统。
背景技术:
传统的视频直播技术为,实时采集主播端的视频信号,将采集到的视频信号编码为流式数据后通过网络发送至观众端,由于视频信号所占的容量较大,使得传统的视频直播技术对网络带宽和直播设备的要求较高。
目前,在线教育已走进千家万户。在线教育的视频直播通常向观众端传送的是课件、习题和板书等画面,而主播端通常是使用某种软件展示课件、习题和板书。当教师在进行课件或习题的讲解时,常存在教师只是在课件或习题上标注一个重点标记等画面变化较小的情况,若采用传统的直播技术无疑需耗费大量的数据流量。
技术实现要素:
本发明所要解决的技术问题是:在视频直播的过程中如何节省数据流量。
为了解决上述技术问题,本发明采用的技术方案为:
本发明提供一种直播的方法,包括:
s1、获取主播端生成的第一事件;
s2、获取与所述第一事件对应的对象、事件类型和事件参数,得到事件信息;
s3、观众端生成与所述事件信息对应的第二事件。
本发明还提供一种直播的系统,包括:
第一获取模块,用于获取主播端生成的第一事件;
第二获取模块,用于获取与所述第一事件对应的对象、事件类型和事件参数,得到事件信息;
第一生成模块,用于观众端生成与所述事件信息对应的第二事件。
本发明的有益效果在于:本发明通过拦截教师在主播端的操作所产生的事件,并提取事件中的有效信息作为事件信息,使得观众端可根据文本格式的事件信息自动生成与主播端相同的事件,实现直播功能。区别于现有技术使用视频信号编码而成的数据流同步主播端和观众端,本发明用于同步主播端与观众端的事件信息所占容量大幅度减小,极大程度上减少了视频直播过程中所需耗费的数据流量,进而降低了直播过程中对网络带宽和设备的要求。
附图说明
图1为本发明提供的一种直播的方法的具体实施方式的流程框图;
图2为本发明提供的一种直播的系统的具体实施方式的结构框图;
标号说明:
1、第一获取模块;2、第二获取模块;3、第一生成模块;31、添加单元;32、生成单元;33、第一执行单元;34、第二执行单元;35、第三执行单元;36、第四执行单元;4、第三获取模块;5、第二生成模块;6、转换模块。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
名词解释
请参照图1及图2,
如图1所示,本发明提供一种直播的方法,包括:
s1、获取主播端生成的第一事件;
s2、获取与所述第一事件对应的对象、事件类型和事件参数,得到事件信息;
s3、观众端生成与所述事件信息对应的第二事件。
进一步地,还包括:
获取主播端中预设的插件执行的操作;
主播端中的展示软件生成与所述操作对应的第三事件。
由上述描述可知,用于拦截展示软件生成的事件的方法只能拦截到主播端使用的展示课件、习题或板书的展示软件所生成的事件,而用户对主播端的视频插件或音频插件的操作是无法通过与拦截展示软件的事件相同的方式进行拦截的。因此,需由展示软件模拟用户对主播端中的插件执行的操作才可将用户对插件的操作同步至观众端,提高同步的准确性。
进一步地,还包括:
当所述事件参数包含第一坐标信息时,
根据主播端的分辨率和观众端的分辨率转换所述第一坐标信息,得到第二坐标信息;
第二坐标信息覆盖所述事件信息中的第一坐标信息。
由上述描述可知,有利于提高主播端和观众端事件同步的准确性。
进一步地,所述s3具体为:
添加所述事件信息至预设的事件队列;
观众端依次根据所述事件队列中的事件信息生成对应的第二事件。
由上述描述可知,通过队列实现按序同步,提高同步的准确性。
进一步地,所述s3具体为:
当所述事件类型为触发事件时,
所述事件参数包括所述对象的第三坐标信息;
观众端根据所述第三坐标信息执行对应的触发操作。
进一步地,所述s3具体为:
当所述事件类型为触发事件时,
所述事件参数包括所述对象的唯一标识;
观众端根据所述唯一标识执行对应的触发操作。
进一步地,所述s3具体为:
当所述事件类型为滑动事件或拖拽事件时,
所述事件参数包括与所述对象的运动轨迹对应的坐标序列;
观众端根据所述坐标序列触发所述对象执行对应的滑动操作或拖拽操作。
进一步地,所述s3具体为:
若所述事件类型为延迟事件,则:
所述事件参数包括开始时间和延迟时间;
当系统时间到达所述开始时间时,观众端触发所述对象;
当所述开始时间与当前系统时间的时间间隔为所述延迟时间时,所述对象执行对应的操作。
如图2所示,本发明还提供一种直播的系统,包括:
第一获取模块1,用于获取主播端生成的第一事件;
第二获取模块2,用于获取与所述第一事件对应的对象、事件类型和事件参数,得到事件信息;
第一生成模块3,用于观众端生成与所述事件信息对应的第二事件。
进一步地,还包括:
第三获取模块4,用于获取主播端中预设的插件执行的操作;
第二生成模块5,用于主播端中的展示软件生成与所述操作对应的第三事件;
转换模块6,用于当所述事件参数包含第一坐标信息时,根据主播端的分辨率和观众端的分辨率转换所述第一坐标信息,得到第二坐标信息;第二坐标信息覆盖所述事件信息中的第一坐标信息;
所述第一生成模块3包括添加单元31、生成单元32、第一执行单元33、第二执行单元34、第三执行单元35和第四执行单元36;
所述事件参数包括所述对象的第三坐标信息、所述对象的唯一标识、与所述对象的运动轨迹对应的坐标序列、开始时间和延迟时间;
所述添加单元31,用于添加所述事件信息至预设的事件队列;
所述生成单元32,用于观众端依次根据所述事件队列中的事件信息生成对应的第二事件;
所述第一执行单元33,用于当所述事件类型为触发事件时,观众端根据所述第三坐标信息执行对应的触发操作;
所述第二执行单元34,用于当所述事件类型为触发事件时,观众端根据所述唯一标识执行对应的触发操作;
所述第三执行单元35,用于当所述事件类型为滑动事件或拖拽事件时,观众端根据所述坐标序列触发所述对象执行对应的滑动操作或拖拽操作;
所述第四执行单元36,用于若所述事件类型为延迟事件,则:当系统时间到达所述开始时间时,观众端触发所述对象;当所述开始时间与当前系统时间的时间间隔为所述延迟时间时,所述对象执行对应的操作。
本发明的实施例一为:
本实施例提供一种直播的方法,包括:
s1、获取主播端生成的第一事件。
其中,用于获取主播端生成的第一事件的方法只能拦截安装于主播端的展示软件所生成的事件;展示软件用于播放课件、习题以及教师的板书;而教师控制视频插件或音频插件的用户操作无法被获取,因此,还需采用另一方法获取主播端中预设的插件执行的操作,再由主播端中的展示软件模拟生成与所述操作对应的第三事件,此时,第三事件即教师对视频插件或音频插件进行的用户操作,可被用于获取主播端生成的第一事件的方法获取。
s2、获取与所述第一事件对应的对象、事件类型和事件参数,得到事件信息。
s3、当所述事件参数包含第一坐标信息时,根据主播端的分辨率和观众端的分辨率转换所述第一坐标信息,得到第二坐标信息;第二坐标信息覆盖所述事件信息中的第一坐标信息。
例如,教师在主播端绘制一圆形,主播端的分辨率为3840*2400,而观众端的分辨率为240*320,若直接采用圆形在主播端的坐标信息在观众端绘制相同的圆形,则会出现异常情况,因此,当事件参数涉及坐标信息时需根据观众端和主播端的分辨率进行坐标转换。
s4、添加所述事件信息至预设的事件队列;预设时间间隔发送所述事件队列至观众端。
s5、观众端依次根据所述事件队列中的事件信息生成对应的第二事件;具体为:
当所述事件类型为触发事件时,
所述事件参数包括所述对象的第三坐标信息;观众端根据所述第三坐标信息执行对应的触发操作;或,
所述事件参数包括所述对象的唯一标识;观众端根据所述唯一标识执行对应的触发操作。
例如,当所述事件类型为触发事件时,观众端根据主播端送过来的事件信息中的对象标识找到对象,然后根据事件信息中的事件类型和参数模拟一个与主播端相同的事件,最后让对象执行该事件以达成操作同步的效果。
当所述事件类型为滑动事件或拖拽事件时,
所述事件参数包括与所述对象的运动轨迹对应的坐标序列;观众端根据所述坐标序列触发所述对象执行对应的滑动操作或拖拽操作。
其中,如果只是普通的鼠标移动事件(非鼠标点击且未松开的移动),将被过滤掉不送到观众端;如果是鼠标点击后未松开进行的移动,拦截软件会将本次事件和上一次事件做比对,只有鼠标的横向或纵向位移超过1个像素的事件才会被送到观众端;观众端收到事件信息后根据对象标识、事件类型和转换后的第三坐标信息模拟事件并执行以达成滑动或拖拽事件的同步。
若所述事件类型为延迟事件,则:
所述事件参数包括开始时间和延迟时间;当系统时间到达所述开始时间时,观众端触发所述对象;当所述开始时间与当前系统时间的时间间隔为所述延迟时间时,所述对象执行对应的操作。
其中,若所述事件类型为延迟事件,则该事件执行结束后不马上执行下一个事件,而是间隔些许事件才执行,间隔时间为所述延迟时间。
本发明的实施例二为:
本实施例提供一种直播的系统,包括:
第一获取模块1获取主播端生成的第一事件;
其中,第三获取模块4,用于获取主播端中预设的插件执行的操作;第二生成模块5,用于主播端中的展示软件生成与所述操作对应的第三事件;
第二获取模块2获取与所述第一事件对应的对象、事件类型和事件参数,得到事件信息;
当所述事件参数包含第一坐标信息时,转换模块6根据主播端的分辨率和观众端的分辨率转换所述第一坐标信息,得到第二坐标信息;第二坐标信息覆盖所述事件信息中的第一坐标信息;
第一生成模块3,用于观众端生成与所述事件信息对应的第二事件;
其中,添加单元31添加所述事件信息至预设的事件队列;生成单元32观众端依次根据所述事件队列中的事件信息生成对应的第二事件;
所述事件参数包括所述对象的第三坐标信息、所述对象的唯一标识、与所述对象的运动轨迹对应的坐标序列、开始时间和延迟时间;
当所述事件类型为触发事件时,第一执行单元33使观众端根据所述第三坐标信息执行对应的触发操作;
当所述事件类型为触发事件时,第二执行单元34,使观众端根据所述唯一标识执行对应的触发操作;
当所述事件类型为滑动事件或拖拽事件时,第三执行单元35使观众端根据所述坐标序列触发所述对象执行对应的滑动操作或拖拽操作;
若所述事件类型为延迟事件,则:当系统时间到达所述开始时间时,第四执行单元36使观众端触发所述对象;当所述开始时间与当前系统时间的时间间隔为所述延迟时间时,第四执行单元36使所述对象执行对应的操作。
综上所述,本发明提供的一种直播的方法及系统,通过拦截教师在主播端的操作所产生的事件,并提取事件中的有效信息作为事件信息,使得观众端可根据文本格式的事件信息自动生成与主播端相同的事件,实现直播功能。区别于现有技术使用视频信号编码而成的数据流同步主播端和观众端,本发明用于同步主播端与观众端的事件信息所占容量大幅度减小,极大程度上减少了视频直播过程中所需耗费的数据流量,进而降低了直播过程中对网络带宽和设备的要求。进一步地,用于拦截展示软件生成的事件的方法只能拦截到主播端使用的展示课件、习题或板书的展示软件所生成的事件,而用户对主播端的视频插件或音频插件的操作是无法通过与拦截展示软件的事件相同的方式进行拦截的。因此,需由展示软件模拟用户对主播端中的插件执行的操作才可将用户对插件的操作同步至观众端,提高同步的准确性。进一步地,有利于提高主播端和观众端事件同步的准确性。进一步地,通过队列实现按序同步,提高同步的准确性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。