白板交互数据和音视频数据的同步方法、系统、存储介质和电子设备与流程

文档序号:33711210发布日期:2023-03-31 23:56阅读:50来源:国知局
白板交互数据和音视频数据的同步方法、系统、存储介质和电子设备与流程

1.本技术涉及直播技术领域,具体而言,涉及一种白板交互数据和音视频数据的同步方法、系统、存储介质和电子设备。


背景技术:

2.随着互联网技术以及新媒体技术的发展,视频互动直播的应用越来越广泛。来自各个不同地点的人员可以通过网络视频互动直播的方式进入同一互动直播视频通话,从而可以实现多人实时视频直播互动。
3.而在一些特定的场景如企业直播培训、在线直播教学以及政企视频直播会议等情景中,直播端存在白板互动展示需求,直播中讲端的操作者需要通过白板板书向观看端展示所需交互内容。
4.目前直播过程中的音视频数据和白板交互数据通过两个不同的数据传输通道进行数据传输。但本技术的发明人发现,在大规模的观看端接入直播中、或者存在跨地域的观看需求的情况下,音视频数据和白板交互数据可能会存在数据流不同步的情况,使得观看端所接收到的音视频数据和白板交互数据可能会存在延迟,从而影响观看端的直播体验和直播效果。


技术实现要素:

5.根据本技术的一方面,公开了一种白板交互数据和音视频数据的同步方法。该同步方法包括:获取讲端处的白板交互数据和音视频数据;根据白板交互数据与音视频数据形成推流数据流;根据来自观看端的推流数据请求,通过网络向观看端推送推流数据流,以使得观看端拆分推流数据流从而同步获取拆分推流数据流而得到的白板交互数据和音视频数据。
6.根据本技术的一些实施例,根据白板交互数据与音视频数据形成推流数据流包括:对白板交互数据进行封装处理;将经过封装处理的白板交互数据并入音视频数据中;其中,封装处理后的白板交互数据包括交互数据信息。
7.根据本技术的一些实施例,根据白板交互数据与音视频数据形成推流数据流还包括:在预设时间后,更新白板交互数据和所对应的交互数据信息;对更新后的白板交互数据进行封装处理;将经过封装处理的更新后的白板交互数据并入音视频数据中。
8.根据本技术的一些实施例,同步方法还包括:接收来自观看端的本地交互数据信息;判断本地交互数据信息与交互数据信息是否一致;如果是,则于观看端显示白板交互数据;如果否,则于观看端重置白板交互数据,并显示与交互数据信息所对应的更新后的白板交互数据。
9.根据本技术的一些实施例,在根据白板交互数据与音视频数据形成推流数据流之后,同步方法还包括:存储推流数据流。
10.根据本技术的另一方面,公开了一种白板交互数据和音视频数据的同步系统。该同步系统包括数据处理单元和推流处理单元,数据处理单元用于获取讲端处的白板交互数据和音视频数据,以及根据白板交互数据与音视频数据形成推流数据流;推流处理单元用于根据来自观看端的推流数据请求,通过网络向观看端推送推流数据流,以使得观看端拆分推流数据流从而同步获取拆分推流数据流而得到的白板交互数据和音视频数据。
11.根据本技术的一些实施例,数据处理单元对白板交互数据进行封装处理,以及将经过封装处理的白板交互数据并入音视频数据中;其中,封装处理后的白板交互数据包括交互数据信息。
12.根据本技术的一些实施例,数据处理单元在预设时间后,更新白板交互数据和所对应的交互数据信息;数据处理单元还对更新后的白板交互数据进行封装处理,以及将经过封装处理的更新后的白板交互数据并入音视频数据中。
13.根据本技术的一些实施例,推流处理单元接收来自观看端的本地交互数据信息,并判断本地交互数据信息与交互数据信息是否一致;在本地交互数据信息与交互数据信息一致的情况下,推流处理单元于观看端显示白板交互数据;在本地交互数据信息与交互数据信息不一致的情况下,推流处理单元于观看端重置白板交互数据,并显示与交互数据信息所对应的更新后的白板交互数据。
14.根据本技术的一些实施例,同步系统还包括存储单元。存储单元用于存储推流数据流。
15.根据本技术的又一方面,还提供了一种直播系统。该直播系统包括如上文所述的白板交互数据和音视频数据的同步系统。
16.根据本技术的又一方面,还提供了一种非易失性计算机可读存储介质。该存储介质上存储有计算机程序,该计算机程序可以实现如上文所述的同步方法。
17.根据本技术的又一方面,还提供了一种电子设备。该电子设备包括一个或多个处理器和存储装置,该存储装置用于存储一个或多个程序。当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器可以实现上文所述的同步方法。
18.本技术技术方案通过获取和合并讲端处的白板交互数据和音视频数据,从而得到同时包括白板交互数据和音视频数据的推流数据流。观看端通过发送推流数据请求,可以向网络直接获取推流数据流,从而可以同步获取拆分所述推流数据流而得到的白板交互数据和音视频数据,实现观看端同步获取白板交互数据和音视频数据的效果。
19.本技术技术方案与现有技术中的白板交互数据和音视频数据通过两个传输通道传输相比,避免了不同传输通道时差不同以及固定延时所带来的数据不同步的问题,可以保证直播的效果和提高用户的观看体验。
附图说明
20.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1示出本技术示例实施例的同步方法的一流程示意图;
图2示出本技术示例实施例的推流数据流的示意图;图3示出本技术示例实施例的同步方法的另一流程示意图;图4示出本技术示例实施例的同步系统的结构示意图。
22.附图标记说明:同步系统1;数据处理单元10;推流处理单元20;存储单元30。
具体实施方式
23.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本技术将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
24.所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有这些特定细节中的一个或更多,或者可以采用其它的方式、组元、材料、装置等。在这些情况下,将不详细示出或描述公知结构、方法、装置、实现、材料或者操作。
25.此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
26.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
27.下面结合本技术实施例中的附图,对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.本技术的一方面提供了一种白板交互数据和音视频数据的同步方法,该同步方法可以使得直播过程中的讲端所输出的白板交互数据和音视频数据可以于观看端同步展示。
29.下面将结合说明书附图,对本技术技术方案进行详细描述。
30.图1示出本技术示例实施例的同步方法的一流程示意图。如图1所示,同步方法包括步骤s100~s300。根据示例实施例,该同步方法由服务器所执行。
31.在步骤s100中,服务器获取讲端处的白板交互数据和音视频数据。
32.根据示例实施例,在直播过程中,直播的讲端处的操作者开启直播,服务器获取讲端的白板交互数据和音视频数据。
33.例如,白板交互数据可以为讲端处所展示的文档信息、讲端处的操作者在白板上所进行的文档翻页、书写、绘画、修改、批注、绘制数据删除、清空等编辑信息等用于与观看端进行交互的数据。音视频数据可以为讲端处操作者的声音信息和白板在展示白板交互数据的屏幕所显示的视频信息。
34.在步骤s200中,服务器根据白板交互数据与音视频数据形成推流数据流。
35.根据示例实施例,服务器将从讲端处接收的白板交互数据和音视频数据合并,从而形成包括白板交互数据和音视频数据的推流数据流。
36.可选地,在步骤s200中,服务器对白板交互数据进行封装处理,并将经过封装处理的白板交互数据并入音视频数据中。
37.例如,服务器接收来自讲端处的白板交互数据,并将白板交互数据存储至本地文件中。服务器通过sei(supplemental enhancement information:补充增强信息)技术对白板交互数据进行封装处理,并将经过封装处理后的白板交互数据并入音视频数据中。
38.sei技术可以实现对音视频数据增加额外信息,使得音视频数据还可以存储除图像和音频以外的数据。因此服务器通过sei技术向音视频数据中稳定的加入如白板交互数据,可以使得白板交互数据不依赖于单独的数据通道进行传输,而是将白板交互数据通过sei技术与音视频数据进行打包传输,可以实现白板交互数据与音视频数据的精准同步传输。
39.根据示例实施例,封装处理后的白板交互数据包括交互数据信息。
40.例如,交互数据信息包括白板交互数据的版本信息,如服务器对白板交互数据进行版本快照,以生成与当前白板交互数据所对应的版本号。
41.在步骤s300中,服务器根据来自观看端的推流数据请求,通过网络向观看端推送推流数据流,以使得观看端拆分推流数据流从而同步获取拆分推流数据流而得到的白板交互数据和音视频数据。
42.例如,当观看端初次接入直播时,观看端向服务器发送推流数据请求,以获取包括白板交互数据和音视频数据的推流数据流。观看端通过cdn网络拉流获取推流数据流,并对推流数据流进行拆分,从而可以实现同步获取白板交互数据和音视频数据。
43.可选的,步骤s200和步骤s300可以于讲端处完成,从而可以使白板交互数据和音视频数据具有更小的操作时差。
44.通过上述示例实施例,本技术技术方案通过获取和合并讲端处的白板交互数据和音视频数据,从而得到同时包括白板交互数据和音视频数据的推流数据流。观看端通过发送推流数据请求,可以向网络直接获取推流数据流,从而可以同步获取拆分所述推流数据流而得到的白板交互数据和音视频数据,实现观看端同步获取白板交互数据和音视频数据的效果。
45.本技术技术方案与现有技术中的白板交互数据和音视频数据通过两个传输通道传输相比,避免了不同传输通道时差不同以及固定延时所带来的数据不同步的问题,可以保证直播的效果和提高用户的观看体验。
46.可选地,服务器还根据来自讲端处的清空指令,清空本地文件中存储的白板交互数据,或者服务器还根据来自讲端处的删除指令,删除本地文件中的白板交互数据中的相应文件。
47.例如,讲端处的操作者根据实际需求向服务器发送清空指令,以清除不需要的白板交互数据,或讲端处的操作者根据实际需求向服务器发送某条绘制线条或画笔的删除指令,以删除不需要的绘制线条或画笔,则服务器执行相应的操作指令。如此可以删除白板交互数据与音视频数据所形成的推流数据流中的无意义数据,从而可以避免推流数据流的数据量过大而影响传输效率。
48.可选地,服务器还在预设时间后,更新白板交互数据和所对应的交互数据信息。
49.根据示例实施例,每隔预设时间(如3s)间隔后,服务器更新白板交互数据。例如每3s后服务器对当前所有存储的白板交互数据进行版本快照,以生成与当前所有白板交互数据所对应的版本号。
50.服务器对更新后的白板交互数据进行封装处理,并将经过封装处理的更新后的白板交互数据并入音视频数据中,其中更新后的白板交互数据包括与其所对应的交互数据信息(即版本信息)。
51.白板交互数据与交互数据信息同时更新,这里可以理解的为,每一次更新白板交互数据后,交互数据信息中的白板交互数据的版本信息递增(即版本号逐次加一)。
52.图2示出本技术示例实施例的推流数据流的示意图。如图2所示,服务器对更新后的白板交互数据通过sei技术进行封装处理,并将经过封装处理的更新后的白板交互数据(如图2所示的版本号1、版本号2

)并入音视频数据中,从而可以保持推流数据流的更新。
53.可选地,图3示出本技术示例实施例的同步方法的另一流程示意图。如图3所示,该同步方法包括步骤s100~s700,步骤s100~s300已在上文详细描述,此处不再赘述。
54.在步骤s400中,服务器接收来自观看端的本地交互数据信息。
55.例如,本地交互数据信息包括本地所存储的白板交互数据的版本信息。观看端在初次获取白板交互数据时,对本地所存储的白板交互数据进行初始化,以该白板交互数据为初始版本,并存储相应的本地版本号。如此可以使得观看端在初次进入直播时,保证观看端的白板交互数据的同步性。
56.在步骤s500中,服务器判断本地交互数据信息与交互数据信息是否一致。
57.在步骤s600中,服务器于观看端显示白板交互数据。
58.在步骤s700中,服务器于观看端则于观看端重置白板交互数据,并显示与交互数据信息所对应的更新后的白板交互数据。
59.例如,当观看端接收到从拆分推流数据流而得到的白板交互数据时,获取该白板交互数据所对应的交互数据信息(即版本号)。服务器判断观看端的当前的本地版本号与当前推流的白板交互数据的版本号是否一致,如果一致,则表征推流数据流正常运行;如果不一致,则表征当前推流数据流出错或音视频数据为断开状态。
60.在当前的本地版本号与当前推流的白板交互数据的版本号一致的情况下,服务器于观看端显示白板交互数据;在当前的本地版本号与当前推流的白板交互数据的版本号不一致的情况下,服务器于观看端重置观看端的白板交互数据和显示状态,并且服务器于观看端显示与当前推流的白板交互数据的版本号所对应的更新后的白板交互数据,以使得在当前推流数据流出错的情况下,及时使观看端所显示的白板交互数据与当前推流的白板交互数据保持一致。如此可以保证在推流数据流出错或音视频数据处于断开状态时,可以使得观看端的白板交互数据自动更新和保证后续正常显示,保证了白板交互数据的可恢复性。
61.可选地,在步骤s200中,服务器根据白板交互数据与音视频数据形成推流数据流之后,该同步方法还包括存储推流数据流。
62.例如,服务器还存储推流数据流,以保证直播中的白板交互数据与音视频数据的可回放性。以及通过存储包括白板交互数据与音视频数据的推流数据流,服务器还可以过
视频处理工具对推流数据流进行编辑,保证了推流数据流的可编辑性。
63.本技术的另一方面提供了一种白板交互数据和音视频数据的同步系统,该同步系统可以使得直播过程中的讲端所输出的白板交互数据和音视频数据可以于观看端同步展示。
64.图4示出本技术示例实施例的同步系统的结构示意图。如图4所示,同步系统1包括数据处理单元10和推流处理单元20。
65.根据示例实施例,数据处理单元10获取讲端处的白板交互数据和音视频数据,以及根据白板交互数据与音视频数据形成推流数据流。
66.根据示例实施例,在直播过程中,直播的讲端处的操作者开启直播,数据处理单元10获取讲端的白板交互数据和音视频数据。
67.例如,白板交互数据可以为讲端处所展示的文档信息、讲端处的操作者在白板上所进行的文档翻页、书写、绘画、修改、批注、绘制数据删除、清空等编辑信息等用于与观看端进行交互的数据。音视频数据可以为讲端处操作者的声音信息和白板在展示白板交互数据的屏幕所显示的视频信息。
68.根据示例实施例,数据处理单元10将从讲端处接收的白板交互数据和音视频数据合并,从而形成包括白板交互数据和音视频数据的推流数据流。
69.可选地,数据处理单元10对白板交互数据进行封装处理,以及将经过封装处理的白板交互数据并入音视频数据中。
70.例如,数据处理单元10接收来自讲端处的白板交互数据,并将白板交互数据存储至本地文件中。数据处理单元10通过sei(supplemental enhancement information:补充增强信息)技术对白板交互数据进行封装处理,并将经过封装处理后的白板交互数据并入音视频数据中。
71.sei技术可以实现对音视频数据增加额外信息,使得音视频数据还可以存储除图像和音频以外的数据。因此数据处理单元10通过sei技术向音视频数据中稳定的加入如白板交互数据,可以使得白板交互数据不依赖于单独的数据通道进行传输,而是将白板交互数据通过sei技术与音视频数据进行打包传输,可以实现白板交互数据与音视频数据的精准同步传输。
72.根据示例实施例,封装处理后的白板交互数据包括交互数据信息。
73.例如,交互数据信息包括白板交互数据的版本信息,如数据处理单元10对白板交互数据进行版本快照,以生成与当前白板交互数据所对应的版本号。
74.根据示例实施例,推流处理单元20根据来自观看端的推流数据请求,通过网络向观看端推送推流数据流,以使得观看端拆分推流数据流从而同步获取拆分推流数据流而得到的白板交互数据和音视频数据。
75.例如,当观看端初次接入直播时,观看端向推流处理单元20发送推流数据请求,以获取包括白板交互数据和音视频数据的推流数据流。观看端通过cdn网络拉流获取推流数据流,并对推流数据流进行拆分,从而可以实现同步获取白板交互数据和音视频数据。
76.通过上述示例实施例,本技术技术方案通过获取和合并讲端处的白板交互数据和音视频数据,从而得到同时包括白板交互数据和音视频数据的推流数据流。观看端通过发送推流数据请求,可以向网络直接获取推流数据流,从而可以同步获取拆分所述推流数据
流而得到的白板交互数据和音视频数据,实现观看端同步获取白板交互数据和音视频数据的效果。
77.本技术技术方案与现有技术中的白板交互数据和音视频数据通过两个传输通道传输相比,避免了不同传输通道时差不同以及固定延时所带来的数据不同步的问题,可以保证直播的效果和提高用户的观看体验。
78.可选地,数据处理单元10还根据来自讲端处的清空指令,清空本地文件中存储的白板交互数据,或者数据处理单元10还根据来自讲端处的删除指令,删除本地文件中的白板交互数据中的相应文件。
79.例如,讲端处的操作者根据实际需求向数据处理单元10发送清空指令,以清除不需要的白板交互数据,或讲端处的操作者根据实际需求向数据处理单元10发送某条绘制线条或画笔的删除指令,以删除不需要的绘制线条或画笔,则数据处理单元10执行相应的操作指令。如此可以删除白板交互数据与音视频数据所形成的推流数据流中的无意义数据,从而可以避免推流数据流的数据量过大而影响传输效率。
80.可选地,数据处理单元10还在预设时间后,更新白板交互数据和所对应的交互数据信息。数据处理单元10还对更新后的白板交互数据进行封装处理,以及将经过封装处理的更新后的白板交互数据并入音视频数据中。
81.根据示例实施例,每隔预设时间(如3s)间隔后,数据处理单元10更新白板交互数据。例如每3s后数据处理单元10对当前所有存储的白板交互数据进行版本快照,以生成与当前所有白板交互数据所对应的版本号。
82.数据处理单元10对更新后的白板交互数据进行封装处理,并将经过封装处理的更新后的白板交互数据并入音视频数据中,其中更新后的白板交互数据包括与其所对应的交互数据信息(即版本信息)。
83.白板交互数据与交互数据信息同时更新,这里可以理解的为,每一次更新白板交互数据后,交互数据信息中的白板交互数据的版本信息递增(即版本号逐次加一)。
84.可选地,推流处理单元20接收来自观看端的本地交互数据信息,并判断本地交互数据信息与交互数据信息是否一致。
85.例如,本地交互数据信息包括本地所存储的白板交互数据的版本信息。观看端在初次获取白板交互数据时,推流处理单元20对本地所存储的白板交互数据进行初始化,以该白板交互数据为初始版本,并存储相应的本地版本号。如此可以使得观看端在初次进入直播时,保证观看端的白板交互数据的同步性。
86.当观看端接收到从拆分推流数据流而得到的白板交互数据时,获取该白板交互数据所对应的交互数据信息(即版本号)。推流处理单元20判断观看端的当前的本地版本号与当前推流的白板交互数据的版本号是否一致,如果一致,则表征推流数据流正常运行;如果不一致,则表征当前推流数据流出错或音视频数据为断开状态。
87.在当前的本地版本号与当前推流的白板交互数据的版本号一致的情况下,推流处理单元20于观看端显示白板交互数据;在当前的本地版本号与当前推流的白板交互数据的版本号不一致的情况下,推流处理单元20于观看端重置白板交互数据,并显示与交互数据信息所对应的更新后的白板交互数据,以使得在当前推流数据流出错的情况下,及时使观看端所显示的白板交互数据与当前推流的白板交互数据保持一致。如此可以保证在推流数
据流出错或音视频数据处于断开状态时,可以使得观看端的白板交互数据自动更新和保证后续正常显示,保证了白板交互数据的可恢复性。
88.可选地,如图4所示,同步系统还包括存储单元30。存储单元30存储推流数据流。
89.例如,存储单元30还存储推流数据流,以保证直播中的白板交互数据与音视频数据的可回放性。以及通过存储包括白板交互数据与音视频数据的推流数据流,还可以过视频处理工具对推流数据流进行编辑,保证了推流数据流的可编辑性。
90.根据本技术的又一方面,还提供了一种直播系统。该直播系统包括如上文所述的白板交互数据和音视频数据的同步系统。
91.根据本技术的又一方面,还提供了一种非易失性计算机可读存储介质。该存储介质上存储有计算机程序,该计算机程序可以实现如上文所述的同步方法。
92.根据本技术的又一方面,还提供了一种电子设备。该电子设备包括一个或多个处理器和存储装置,该存储装置用于存储一个或多个程序。当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器可以实现上文所述的同步方法。
93.最后应说明的是,以上所述仅为本技术的优选实施例而已,并不 用于限制本技术,尽管参照前述实施例对本技术进行详细的说明,对 于本领域的技术人员来说,其依然可以对前述各实施例的技术方案进 行修改,或者对其中部分技术特征进行等同替换。凡在本技术的精神 和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申 请的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1