本发明涉及屏幕共享,尤其涉及一种屏幕共享方法及装置、电子设备、存储介质、程序产品。
背景技术:
1、随着流媒体技术的发展,各类视频直播、网络会议、线上课程等越来越受到用户的欢迎,流媒体技术不仅能够为人们带来更实时的社交体验,还能够为人们的工作及生活带来便利。
2、在相关技术中,当用户进行各类视频直播、网络会议或者线上课程等的视频分享时,一般都是采用终端的摄像头进行内容拍摄,通过对用户及其周边环境内的事物进行拍摄,然后将拍摄得到的视频内容进行实时分享。然而,由于该方法受限于视频内容的获取方式,因此无法很好地满足用户对于视频内容的多样性需求和灵活性需求,而且用户无法很好地对其隐私安全进行自主控制。
技术实现思路
1、以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
2、本发明实施例提供了一种屏幕共享方法及装置、电子设备、存储介质、程序产品,能够满足用户对于视频内容的多样性需求和灵活性需求,并且有利于用户对其隐私安全进行自主控制。
3、一方面,本发明实施例提供了一种屏幕共享方法,包括以下步骤:
4、响应于对屏幕显示内容进行共享的操作,对屏幕中的共享内容进行截屏录制,得到目标视频信息;
5、将所述目标视频信息发送给数据服务器,使得观众端从所述数据服务器中获取所述目标视频信息以实现对所述共享内容的共享;
6、其中,在对所述共享内容进行截屏录制的过程中,对所述共享内容进行画面分析,得到画面分析结果;
7、当所述画面分析结果为所述共享内容发生了变化,采用第一帧内编码帧间隔对所述共享内容进行截屏录制;
8、当所述画面分析结果为所述共享内容没有发生变化,采用第二帧内编码帧间隔对所述共享内容进行截屏录制,所述第二帧内编码帧间隔大于所述第一帧内编码帧间隔。
9、另一方面,本发明实施例还提供了一种屏幕共享方法,包括以下步骤:
10、响应于接受屏幕共享的操作,从数据服务器中获取目标视频信息,其中,所述目标视频信息由主播端对屏幕中的共享内容进行截屏录制而得到;
11、从后台服务器中获取所述主播端发送的画面分析结果,根据所述画面分析结果对所述目标视频信息进行视频解码以及渲染显示,所述画面分析结果由所述主播端在对所述共享内容进行截屏录制的过程中对所述共享内容进行画面分析而得到;
12、其中,在根据所述画面分析结果对所述目标视频信息进行视频解码的过程中,当所述画面分析结果为所述共享内容发生了变化,采用第一帧内编码帧间隔对所述目标视频信息进行视频解码;或者,当所述画面分析结果为所述共享内容没有发生变化,采用第二帧内编码帧间隔对所述目标视频信息进行视频解码,所述第二帧内编码帧间隔大于所述第一帧内编码帧间隔。
13、另一方面,本发明实施例还提供了一种屏幕共享方法,包括以下步骤:
14、响应于对屏幕显示内容进行共享的操作,主播端对屏幕中的共享内容进行截屏录制,得到目标视频信息;
15、所述主播端将所述目标视频信息发送给数据服务器;
16、其中,所述主播端在对所述共享内容进行截屏录制的过程中,对所述共享内容进行画面分析,得到画面分析结果;
17、当所述画面分析结果为所述共享内容发生了变化,所述主播端采用第一帧内编码帧间隔对所述共享内容进行截屏录制;
18、当所述画面分析结果为所述共享内容没有发生变化,所述主播端采用第二帧内编码帧间隔对所述共享内容进行截屏录制,所述第二帧内编码帧间隔大于所述第一帧内编码帧间隔;
19、响应于接受屏幕共享的操作,观众端从所述数据服务器中获取所述目标视频信息;
20、所述观众端从后台服务器中获取所述主播端发送的所述画面分析结果,根据所述画面分析结果对所述目标视频信息进行视频解码以及渲染显示;
21、其中,所述观众端在根据所述画面分析结果对所述目标视频信息进行视频解码的过程中,当所述画面分析结果为所述共享内容发生了变化,采用所述第一帧内编码帧间隔对所述目标视频信息进行视频解码;或者,当所述画面分析结果为所述共享内容没有发生变化,采用所述第二帧内编码帧间隔对所述目标视频信息进行视频解码。
22、可选地,所述对所述共享内容进行画面分析,得到画面分析结果,包括:
23、对所述共享内容进行视频采样,得到当前视频采样图像;
24、将所述当前视频采样图像与前一次采样得到的前一视频采样图像进行图像内容对比,当所述当前视频采样图像与所述前一视频采样图像之间的图像信息差异量大于预设差异量阈值,得到所述共享内容发生了变化的画面分析结果;或者,当所述当前视频采样图像与所述前一视频采样图像之间的图像信息差异量小于或等于所述预设差异量阈值,得到所述共享内容没有发生变化的画面分析结果。
25、可选地,所述对所述共享内容进行视频采样,得到当前视频采样图像,包括:
26、对所述共享内容的显示范围进行检测,得到显示范围检测结果;
27、当所述显示范围检测结果为所述共享内容在所述屏幕中全屏显示,对所述屏幕的全屏显示内容进行视频采样,得到当前视频采样图像;或者,当所述显示范围检测结果为所述共享内容在所述屏幕中以局部窗口的方式进行显示,对所述局部窗口中的显示内容进行视频采样,得到当前视频采样图像。
28、可选地,所述主播端对屏幕中的共享内容进行截屏录制之前,所述屏幕共享方法还包括:
29、所述主播端向后台服务器发送屏幕共享请求信息;
30、所述主播端接收所述后台服务器根据所述屏幕共享请求信息发送的反馈信息;
31、当所述反馈信息指示当前存在其他的屏幕共享,所述主播端显示屏幕共享冲突提示信息;或者,当所述反馈信息指示当前不存在其他的屏幕共享,所述主播端从所述反馈信息中获取上传地址信息,其中,所述上传地址信息为用于上传所述目标视频信息的地址信息。
32、可选地,所述屏幕共享方法还包括:
33、所述主播端获取网络状态信息;
34、所述主播端生成携带所述网络状态信息和所述画面分析结果的心跳消息;
35、所述主播端将所述心跳消息发送给后台服务器,使得所述观众端从所述后台服务器中获取所述心跳消息,并根据所述心跳消息中的所述网络状态信息和所述画面分析结果对所述目标视频信息进行视频解码以及渲染显示。
36、可选地,所述观众端从后台服务器中获取所述主播端发送的画面分析结果,根据所述画面分析结果对所述目标视频信息进行视频解码以及渲染显示,包括:
37、所述观众端从后台服务器中获取所述主播端发送的心跳消息,其中,所述心跳消息携带有所述画面分析结果和网络状态信息;
38、所述观众端根据所述画面分析结果和所述网络状态信息得到视频解码参数,其中,所述视频解码参数包括所述第一帧内编码帧间隔或者所述第二帧内编码帧间隔;
39、所述观众端根据所述视频解码参数对所述目标视频信息进行视频解码以及渲染显示。
40、可选地,所述观众端根据所述画面分析结果和所述网络状态信息得到视频解码参数,包括:
41、所述观众端根据所述画面分析结果获取目标帧内编码帧间隔,其中,所述目标帧内编码帧间隔包括所述第一帧内编码帧间隔或者所述第二帧内编码帧间隔;
42、所述观众端根据所述网络状态信息得到目标解码码率;
43、所述观众端根据所述目标帧内编码帧间隔和所述目标解码码率得到所述视频解码参数。
44、可选地,所述网络状态信息包括网络延迟参数,所述目标解码码率包括第一解码码率和第二解码码率,所述第一解码码率大于所述第二解码码率;
45、所述观众端根据所述网络状态信息得到目标解码码率,包括:
46、当所述网络延迟参数小于或者等于预设延迟阈值,所述观众端获取所述第一解码码率;
47、或者,当所述网络延迟参数大于所述预设延迟阈值,所述观众端获取所述第二解码码率。
48、另一方面,本发明实施例还提供了一种屏幕共享装置,包括:
49、截屏录制单元,用于响应于对屏幕显示内容进行共享的操作,对屏幕中的共享内容进行截屏录制,得到目标视频信息;
50、视频发送单元,用于将所述目标视频信息发送给数据服务器,使得观众端从所述数据服务器中获取所述目标视频信息以实现对所述共享内容的共享;
51、其中,所述截屏录制单元还用于:
52、对所述共享内容进行画面分析,得到画面分析结果;
53、当所述画面分析结果为所述共享内容发生了变化,采用第一帧内编码帧间隔对所述共享内容进行截屏录制;
54、当所述画面分析结果为所述共享内容没有发生变化,采用第二帧内编码帧间隔对所述共享内容进行截屏录制,所述第二帧内编码帧间隔大于所述第一帧内编码帧间隔。
55、可选地,所述截屏录制单元还用于:
56、对所述共享内容进行视频采样,得到当前视频采样图像;
57、将所述当前视频采样图像与前一次采样得到的前一视频采样图像进行图像内容对比,当所述当前视频采样图像与所述前一视频采样图像之间的图像信息差异量大于预设差异量阈值,得到所述共享内容发生了变化的画面分析结果;或者,当所述当前视频采样图像与所述前一视频采样图像之间的图像信息差异量小于或等于所述预设差异量阈值,得到所述共享内容没有发生变化的画面分析结果。
58、可选地,所述截屏录制单元还用于:
59、对所述共享内容的显示范围进行检测,得到显示范围检测结果;
60、当所述显示范围检测结果为所述共享内容在所述屏幕中全屏显示,对所述屏幕的全屏显示内容进行视频采样,得到当前视频采样图像;或者,当所述显示范围检测结果为所述共享内容在所述屏幕中以局部窗口的方式进行显示,对所述局部窗口中的显示内容进行视频采样,得到当前视频采样图像。
61、可选地,所述屏幕共享装置还包括:
62、请求发送单元,用于向后台服务器发送屏幕共享请求信息;
63、信息接收单元,用于接收所述后台服务器根据所述屏幕共享请求信息发送的反馈信息;
64、信息处理单元,用于当所述反馈信息指示当前存在其他的屏幕共享,显示屏幕共享冲突提示信息;或者,当所述反馈信息指示当前不存在其他的屏幕共享,从所述反馈信息中获取上传地址信息,其中,所述上传地址信息为用于上传所述目标视频信息的地址信息。
65、可选地,所述屏幕共享装置还包括:
66、信息获取单元,用于获取网络状态信息;
67、信息生成单元,用于生成携带所述网络状态信息和所述画面分析结果的心跳消息;
68、信息发送单元,用于将所述心跳消息发送给后台服务器,使得所述观众端从所述后台服务器中获取所述心跳消息,并根据所述心跳消息中的所述网络状态信息和所述画面分析结果对所述目标视频信息进行视频解码以及渲染显示。
69、另一方面,本发明实施例还提供了一种屏幕共享装置,包括:
70、视频获取单元,用于响应于接受屏幕共享的操作,从数据服务器中获取目标视频信息,其中,所述目标视频信息由主播端对屏幕中的共享内容进行截屏录制而得到;
71、视频显示单元,用于从后台服务器中获取所述主播端发送的画面分析结果,根据所述画面分析结果对所述目标视频信息进行视频解码以及渲染显示,所述画面分析结果由所述主播端在对所述共享内容进行截屏录制的过程中对所述共享内容进行画面分析而得到;
72、其中,所述视频显示单元还用于:
73、当所述画面分析结果为所述共享内容发生了变化,采用第一帧内编码帧间隔对所述目标视频信息进行视频解码;或者,当所述画面分析结果为所述共享内容没有发生变化,采用第二帧内编码帧间隔对所述目标视频信息进行视频解码,所述第二帧内编码帧间隔大于所述第一帧内编码帧间隔。
74、可选地,所述视频显示单元还用于:
75、从后台服务器中获取所述主播端发送的心跳消息,其中,所述心跳消息携带有所述画面分析结果和网络状态信息;
76、根据所述画面分析结果和所述网络状态信息得到视频解码参数,其中,所述视频解码参数包括所述第一帧内编码帧间隔或者所述第二帧内编码帧间隔;
77、根据所述视频解码参数对所述目标视频信息进行视频解码以及渲染显示。
78、可选地,所述视频显示单元还用于:
79、根据所述画面分析结果获取目标帧内编码帧间隔,其中,所述目标帧内编码帧间隔包括所述第一帧内编码帧间隔或者所述第二帧内编码帧间隔;
80、根据所述网络状态信息得到目标解码码率;
81、根据所述目标帧内编码帧间隔和所述目标解码码率得到所述视频解码参数。
82、可选地,所述网络状态信息包括网络延迟参数,所述目标解码码率包括第一解码码率和第二解码码率,所述第一解码码率大于所述第二解码码率;所述视频显示单元还用于:
83、当所述网络延迟参数小于或者等于预设延迟阈值,获取所述第一解码码率;
84、或者,当所述网络延迟参数大于所述预设延迟阈值,获取所述第二解码码率。
85、另一方面,本发明实施例还提供了一种电子设备,包括:
86、至少一个处理器;
87、至少一个存储器,用于存储至少一个程序;
88、当至少一个所述程序被至少一个所述处理器执行时实现如前面所述的屏幕共享方法。
89、另一方面,本发明实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的计算机程序,所述处理器可执行的计算机程序被处理器执行时用于实现如前面所述的屏幕共享方法。
90、另一方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述电子设备执行如前面所述的屏幕共享方法。
91、本发明实施例至少包括以下有益效果:响应于对屏幕显示内容进行共享的操作,对屏幕中的共享内容进行截屏录制得到目标视频信息,然后将目标视频信息发送给数据服务器,使得观众端能够从数据服务器中获取目标视频信息以实现对该共享内容的共享,由于目标视频信息是对屏幕中的共享内容进行截屏录制而得到的,因此用户可以根据其实际需求选择对应的共享内容在屏幕中进行显示,从而可以对用户希望进行共享的共享内容进行截屏录制,满足用户对于视频内容的多样性需求和灵活性需求;此外,由于目标视频信息并非是通过摄像头进行拍摄而得到的,而且用户可以自主选择用于录制成为目标视频信息的共享内容,因此有利于用户对其隐私安全进行自主控制。另外,在对共享内容进行截屏录制的过程中,对共享内容进行画面分析得到画面分析结果,当画面分析结果为共享内容发生了变化时,采用数值较小的第一帧内编码帧间隔对共享内容进行截屏录制,当画面分析结果为共享内容没有发生变化时,则采用数值较大的第二帧内编码帧间隔对共享内容进行截屏录制,也就是说,可以根据共享内容是否发生变化而动态调整帧内编码帧间隔,从而可以在保持视频画面的清晰度的情况下动态地控制传输的视频数据量,达到提高资源利用率的目的。
92、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。