Screen sharing method, device and storage medium
Patent Information
- Application Number
- CN202611112158.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-24
- Publication Date
- 2026-10-13
AI Technical Summary
[0004]本申请的主要目的在于提供一种屏幕共享方法、装置及存储介质,旨在解决用户需手动隐藏敏感信息的技术问题
[0016]本申请提出的一个或多个技术方案,至少具有以下技术效果:响应于屏幕共享请求,对金融应用页面进行截屏录制,得到包含至少一个待共享视频帧的目标视频,在将目标视频共享至接收端前,先基于截屏得到的待共享视频帧的组件信息以及网页标签确定敏感内容,再对敏感内容所处的区域自动进行隐私保护处理,进而将隐私保护的目标视频发送至接收端,而无需人工将敏感内容所处的区域进行手动隐藏,提高了屏幕共享的效率的同时,还解决了敏感内容易泄露的问题。
Smart Images

Figure CN122909417A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to screen sharing methods, apparatus and storage media. Background Technology
[0002] In remote customer service scenarios within financial mobile applications, screen sharing is a core interaction method for account managers to provide operational guidance to users. During screen sharing, sensitive areas of the financial application page dynamically refresh with business operations such as transfers, wealth management purchases, and account inquiries. However, the relevant technologies lack dedicated recognition logic for financial scenarios, making it impossible to accurately and automatically identify dynamically updated sensitive areas of the app interface. Users must manually hide sensitive information, a cumbersome process.
[0003] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention
[0004] The main purpose of this application is to provide a screen sharing method, device and storage medium, which aims to solve the technical problem that users need to manually hide sensitive information.
[0005] To achieve the above objectives, this application proposes a screen sharing method, the steps of which include: In response to a screen sharing request from a financial application page, a screenshot of the financial application page is recorded to obtain a target video containing at least one video frame to be shared. The first sensitive content is obtained based on the component information in the video frame to be shared, and the second sensitive content is obtained based on the web page tags in the video frame to be shared; The first area containing the first sensitive content and the second area containing the second sensitive content are marked as target sensitive areas; The target sensitive area of the shared video frame is subjected to privacy protection processing, and the privacy-protected target video is sent to the receiving end.
[0006] For example, after the step of marking the first area where the first sensitive content is located and the second area where the second sensitive content is located as target sensitive areas, the method further includes: Determine a third region in the video frame to be shared, other than the first and second regions; The display content of the third area is identified to determine the target display content that meets the preset sensitive content type; The area corresponding to the target display content is marked as the target sensitive area.
[0007] For example, the step of recording a screenshot of the financial application page in response to a screen sharing request to obtain a target video containing at least one video frame to be shared includes: In response to a screen sharing request from a financial application page, determine whether the currently displayed page has any content updates; If so, trigger a screenshot operation on the currently displayed page to obtain the video frame to be shared; If not, the page obtained from the previous screenshot operation will be used as the video frame to be shared; The target video is generated based on the video frames to be shared.
[0008] For example, the step of recording a screenshot of the financial application page in response to a screen sharing request to obtain a target video containing at least one video frame to be shared includes: The page type of the currently displayed page is determined based on the page analysis results; When the page content type is the first content type, the financial application page is captured at the first screenshot frequency to obtain the target video; When the page content type is the second content type, the financial application page is screenshotted at the second screenshot frequency to obtain the target video, wherein the first screenshot frequency is greater than the second screenshot frequency.
[0009] For example, the step of performing privacy protection processing on the target sensitive area of the video frame to be shared includes: Determine the sensitivity level of the target sensitive area; The target sensitive area is subjected to graded privacy protection processing according to the privacy protection method corresponding to the sensitivity level.
[0010] For example, the step of sending the privacy-protected target video to the receiving end includes: Obtain the key and non-key regions of the video frame to be shared; The critical region is encoded at a first code rate and the non-critical region is encoded at a second code rate, wherein the first code rate is greater than the second code rate; The target video, after being partitioned and encoded, is sent to the receiving end.
[0011] For example, the step of sending the privacy-protected target video to the receiving end includes: Get the current network latency parameters; When the current network latency parameter is greater than or equal to the preset network latency parameter, the key area of the target video is sent to the receiving end at a first streaming frequency; When the current network latency parameter is less than the preset network latency parameter, the target video is sent to the receiving end at a second streaming frequency, wherein the first streaming frequency is lower than the second streaming frequency.
[0012] For example, the step of sending the privacy-protected target video to the receiving end includes: Determine the security level of the target video, and determine an encryption strategy based on the security level; The encrypted video corresponding to the target video is sent to the receiving end using the encryption strategy.
[0013] In addition, to achieve the above objectives, this application also proposes a screen sharing device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the screen sharing method as described above.
[0014] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and which, when executed by a processor, implements the steps of the screen sharing method described above.
[0015] In addition, to achieve the above objectives, this application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of the screen sharing method described above.
[0016] One or more technical solutions proposed in this application have at least the following technical effects: In response to a screen sharing request, a screenshot of a financial application page is recorded to obtain a target video containing at least one video frame to be shared. Before sharing the target video to the receiving end, sensitive content is first determined based on the component information and web page tags of the video frame to be shared obtained from the screenshot. Then, the area where the sensitive content is located is automatically subjected to privacy protection processing, and the privacy-protected target video is sent to the receiving end without the need for manual hiding of the area where the sensitive content is located. This improves the efficiency of screen sharing and also solves the problem of easy leakage of sensitive content. Attached Figure Description
[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a flowchart illustrating the first embodiment of the screen sharing method of this application; Figure 2 This is a detailed flowchart of step S30 in the first embodiment of the screen sharing method of this application; Figure 3 This is a detailed flowchart of step S40 in the first embodiment of the screen sharing method of this application; Figure 4 This is a detailed flowchart of step S10 in the second embodiment of the screen sharing method of this application; Figure 5 This is a detailed flowchart of step S10 in the second embodiment of the screen sharing method of this application; Figure 6 This is a detailed flowchart of step S40 in the third embodiment of the screen sharing method of this application; Figure 7 This is a detailed flowchart of step S45 in the third embodiment of the screen sharing method of this application; Figure 8 This is a schematic diagram of the device structure of the hardware operating environment involved in the screen sharing method in the embodiments of this application.
[0020] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0021] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0022] In remote customer service scenarios within financial mobile applications, screen sharing is a core interaction method for account managers to provide operational guidance to users. During screen sharing, sensitive areas of the financial application page dynamically refresh with business operations such as transfers, wealth management purchases, and account inquiries. However, the relevant technologies lack dedicated recognition logic for financial scenarios, making it impossible to accurately and automatically identify dynamically updated sensitive areas of the app interface. Users must manually hide sensitive information, a cumbersome process.
[0023] This application provides a solution that automatically identifies sensitive areas containing sensitive content by utilizing component information and webpage tags in financial application pages, thereby automatically hiding sensitive information for users, preventing privacy data leakage, and improving the convenience of screen sharing.
[0024] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0025] First Embodiment Reference Figure 1 , Figure 1 This is a flowchart illustrating the screen sharing method of this application, including steps S10 to S40: Step S10: In response to the screen sharing request of the financial application page, a screenshot of the financial application page is recorded to obtain a target video containing at least one video frame to be shared. In this embodiment, a first terminal is used for users to log in to a financial application. The first terminal establishes a communication connection with a second terminal of customer service through a shared component to share the financial application page. The first terminal or the second terminal includes, but is not limited to, smartphones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, aircraft, etc.
[0026] The implementation environment in this embodiment also includes a media streaming server. The media streaming server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. It should be noted that the media streaming server can provide functions such as video information storage and forwarding, and system status information storage and transmission.
[0027] It is understood that the first terminal and the media streaming server are directly or indirectly connected via wired or wireless communication, and the second terminal and the media streaming server are directly or indirectly connected via wired or wireless communication. The media streaming server acts as a relay station between the first terminal and the second server, used to receive the video sent by the first terminal and send the video to the second terminal, so as to realize the sharing of the screen sharing content of the first terminal to the second terminal. The first terminal, the second terminal, and the media streaming server can also be nodes in a blockchain, but this embodiment does not specifically limit this.
[0028] It should be noted that the first terminal must at least have functions such as screen recording and video uploading. For example, it should be able to respond to a user's sharing of a financial application page, record a screenshot of the currently displayed content to obtain the target video, and then send the target video information to a media streaming server. This allows the customer's second terminal to obtain the target video from the media streaming server to share the shared content. The second terminal must at least have functions such as video acquisition and playback. For example, it should be able to respond to the first terminal's screen sharing operation, obtain the target video from the media streaming server, and then decode and render the target video.
[0029] In this embodiment, a first terminal logs into a financial application. The screen of the first terminal displays the financial application page. When the user needs remote guidance from customer service, a screen sharing request for the financial application page is triggered. The first terminal responds to the screen sharing request and then records a screenshot of the current screen display content. Each screenshot is used as a video frame to be shared, and a target video to be shared is generated based on at least one of the video frames. It is understood that the financial application has at least a screen sharing button, and the user can manually trigger a screen sharing request for the financial application page using the screen sharing button, or it can be triggered by voice. Alternatively, the first terminal may have a screen sharing application downloaded, and the first terminal triggers the screen sharing request for the financial application page based on the screen sharing application; this is not limited here.
[0030] Furthermore, upon detecting a screen sharing request, the system responds by taking screenshots of the currently displayed financial application page at preset time intervals. This allows for capturing multiple video frames to be shared. These frames are then encoded and recorded to produce a target video containing the shared video frames. The screenshot time interval can be the frame interval between two adjacent frames displayed on the first terminal. In other words, the screenshot time interval can be determined based on the preset screen display frame rate of the first terminal. For example, assuming the preset screen display frame rate is 24 FPS, the screenshot time interval could be 1 / 24 of a second. It is understood that the preset screenshot time interval can be a user-defined setting or a system configuration; this is not limited here.
[0031] In one alternative implementation, the screenshot recording method can be the content displayed on the entire screen of the first terminal, the content displayed in a part of the screen, the content displayed in a partial window on the screen, such as an information pop-up, or the content manually selected by the user. No specific limitation is made here.
[0032] Furthermore, after obtaining the target video containing at least one video frame to be shared, sensitive content identification is performed on the video frame to be shared, and privacy protection is implemented for the sensitive content. The privacy-protected target video is then sent to the media streaming server to prevent leakage of sensitive content. Based on this, steps S20~S30 are executed: Step S20: Obtain the first sensitive content based on the component information in the video frame to be shared, and obtain the second sensitive content based on the web page tags in the video frame to be shared; Step S30: Mark the first area where the first sensitive content is located and the second area where the second sensitive content is located as the target sensitive area; In one optional implementation, the component information of the financial application page includes component information of at least one native component. Native components refer to standard UI controls developed based on the native framework of the Android or iOS system and directly provided by the operating system, including but not limited to text display components, input box components, password box components, button components, list components, pop-up components, and image components. The component information includes the identifier, component type, and coordinate position of the component on the financial application page. It is understood that such native components possess unique identifiers, fixed types, and obtainable coordinate positions. Sensitive components can be identified from the native components by adding a custom first sensitive label to the sensitive components to achieve accurate identification and positioning of sensitive areas. Based on this, after generating the video frame to be shared, sensitive components can be identified based on the component information of the financial application page. The display content corresponding to the sensitive component is taken as the first sensitive content, and then the coordinate information corresponding to the first sensitive content is obtained. Based on the coordinate information, the area where the first sensitive content is located is marked as the target sensitive area. Sensitive components are those containing sensitive content, such as the bank card component, balance component, and password box component in the financial application, which are sensitive components, and their corresponding content is the bank card number, bank card balance, and password.
[0033] In another optional approach, the financial application page also includes webpage tags. The system determines whether a webpage tag is a sensitive tag and designates content with a sensitive tag as secondary sensitive content. Sensitive tags are custom sensitive identifier attributes pre-configured in the financial application H5 page, used to mark sensitive areas within the webpage such as identity information, bank card numbers, account balances, and transaction vouchers. For example, identity information and transaction voucher information in a financial business webpage are tagged with a sensitive tag. These sensitive tags are custom-added by the webpage developers and are not native tags of the operating system. The first terminal obtains the coordinates and type of the displayed content corresponding to the sensitive tags by calling a communication interface such as JSBridge, achieving accurate identification and blocking of sensitive areas on the webpage. Based on this, after generating the video frame to be shared, the content marked with sensitive tags can be determined based on the webpage tags of the financial application page. This content is designated as secondary sensitive content, such as identity information tags and transaction voucher tags in a financial business webpage. The coordinate information corresponding to the secondary sensitive content is then obtained, and the area where the secondary sensitive content is located is marked as the target sensitive area based on the coordinate information.
[0034] In another alternative implementation, the sensitive content and target sensitive areas can be determined by using a sensitive content recognition model, as described above. Figure 2 Step S30 includes steps S31 to S33: Step S31: Determine a third region in the video frame to be shared, other than the first region and the second region; Step S32: Determine whether there is preset sensitive content based on the text recognition results of the third region; Step S33: If yes, mark the area containing the preset sensitive content as the target sensitive area.
[0035] It is understandable that the video frame to be shared may contain other sensitive content besides the first and second sensitive content. This other sensitive content does not belong to the display content corresponding to the native component, nor does it belong to the content of the web page tag, such as the CAPTCHA. Since the CAPTCHA pops up in real time, it is impossible to mark it with the web page sensitive tag in advance, nor does it belong to the content of the native component. That is, the CAPTCHA cannot be identified based on the component information and the web page tag, which can easily lead to the leakage of the CAPTCHA.
[0036] Based on this, after identifying the first and second regions containing sensitive content in the video frame to be shared, a third region outside the first and second regions in the video frame to be shared is determined. The sensitive content recognition model is then used to identify the displayed content in the third region. This improves the recognition efficiency of the sensitive content recognition model by eliminating the need to repeat the recognition operations for the first and second regions. The sensitive content recognition model is a lightweight model deployed on the first terminal. It can be a lightweight model trained on data using YOLO-Nano, MobileNet-SSD, or ShuffleNet architectures. Specifically, a dynamic sensitive content sample set for financial scenarios is constructed, including samples such as verification code pop-ups, temporary passwords, handwritten ID cards, dynamic card numbers, and sensitive text. A lightweight backbone network is used for training to optimize mobile inference speed. The training objectives include sensitive content recognition, sensitive content location, text recognition, and sensitivity level classification to achieve high-precision, low-latency recognition on the device side.
[0037] Furthermore, after determining the third region, the image information of the third region is input into the sensitive content recognition model. The sensitive content recognition model performs text recognition on the third region, and then determines whether it is preset sensitive content based on the recognized text. The preset sensitive content includes temporarily popped-up transaction verification codes, dynamic passwords, handwritten identity information, partial images of bank cards, and sensitive text in pop-ups. When there is displayed content that is preset sensitive content, the displayed content is regarded as the third sensitive content. Thus, based on the location information of the recognized third sensitive content, the region containing the preset sensitive content is marked as the target sensitive region.
[0038] Optionally, during the process of identifying sensitive content in a target video frame to be shared, the target video includes at least one video frame to be shared. Adjacent video frames to be shared may contain similar content. For example, video frame A contains a balance component, and the next video frame B adjacent to video frame A also contains a balance component. To improve the efficiency of sensitive content identification, similar regions between the current video frame to be shared and the previous video frame to be shared can be obtained, and sensitive content identification can be performed on the regions in the current video frame other than the similar regions. Alternatively, after determining the similar regions, a first identification result for the similar regions in the previous video frame to be shared can be obtained, and then sensitive content identification can be performed on the regions in the current video frame other than the similar regions to obtain a second identification result. The first identification result and the second identification result are used as the sensitive content of the current video frame to be shared, thereby determining the target sensitive region of the target sensitive content.
[0039] It is understood that the embodiments of this application adopt a fusion recognition mechanism that primarily uses the recognition of sensitive labels for native APP components and webpages, supplemented by a lightweight sensitive recognition model specific to finance, to accurately locate sensitive areas in the shared video frames. Specifically, firstly, dual-label accurate recognition is performed. For financial application pages, the native UI components of the financial application page are traversed through the system interface to match preset sensitive component labels such as bank card, balance, password input box, ID card number, and transaction amount. The component coordinates, width, height, and layer information are read to determine the sensitive areas of the native components. Secondly, for embedded H5 webpages, the custom sensitive labels pre-configured on the webpage are obtained, and the coordinate information of sensitive areas such as identity information, bank card number, transaction voucher, and verification code is extracted to complete the location of sensitive areas corresponding to the webpage sensitive labels. Finally, AI recognition is used as a fallback to supplement sensitive areas. For areas not marked by labels, the lightweight AI recognition model on the input side is used to identify dynamic sensitive content such as temporary pop-up verification codes, dynamic passwords, handwritten identity information, and unlabeled temporary sensitive text through preset sensitive content detection and text semantic judgment, and output the corresponding coordinates and categories to supplement the labeling of sensitive areas. By combining label recognition with AI recognition, sensitive areas in financial applications can be identified across all scenarios and terminals without any blind spots. The identification is accurate with no omissions or malfunctions. At the same time, based on end-to-end processing, the response speed is fast and does not affect the real-time performance of screen sharing. No manual operation is required by the user, which balances privacy protection and remote guidance business continuity, meeting the security, reliability and real-time requirements of financial scenarios.
[0040] Further, step S40 is performed to perform privacy protection processing on the target sensitive area of the video frame to be shared, and the privacy-protected target video is sent to the receiving end.
[0041] After identifying the target sensitive area, privacy protection processing methods include, but are not limited to, pure blackening / solid color occlusion, Gaussian blurring, mosaic processing, placeholder overlay, partial cropping, and erasure processing.
[0042] It is understandable that different sensitive content corresponds to different sensitivity levels. For example, passwords have a high sensitivity level, while account balances have a lower sensitivity level. If all sensitive content is processed using a uniform privacy protection method, it will increase system power consumption, and customer service will find it difficult to determine the type of sensitive content in sensitive areas. For example, if both the balance display area and the username display area on the same financial application page are made completely black, customer service will not be able to determine whether the area displays the balance or the username.
[0043] Based on this, refer to Figure 3 Step S40 includes steps S41 to S42: Step S41: Determine the sensitivity level of the target sensitive area; Step S42: Perform graded privacy protection processing on the target sensitive area according to the privacy protection method corresponding to the sensitivity level.
[0044] Optionally, when there is at least one target sensitive region in the same video frame to be shared, the sensitivity level of each target sensitive region is determined, and the privacy protection method of each target sensitive region is determined based on the correspondence between the sensitivity level and the privacy protection method. The corresponding privacy protection method is used to perform privacy protection processing on the corresponding target sensitive region, such as covering the target sensitive region where the balance information is located with pure black, and blurring the target sensitive region where the username is located with Gaussian.
[0045] In one optional implementation, the sensitivity level of a target sensitive area is determined based on the sensitive content within that area. Different sensitive content corresponds to different sensitivity levels. Specifically, the sensitivity level is pre-set and dynamically determined based on the sensitivity of financial information, the risk level of leakage, and regulatory compliance requirements. For example, it can be determined by assessing whether the information is a core element of identity verification, a core element of fund transactions, or whether the information can directly lead to account theft, fund loss, or privacy leakage. The sensitivity level can also be determined based on the prohibited information levels stipulated by regulations. Higher sensitivity of financial information corresponds to a higher sensitivity level, and vice versa. This application's embodiments pre-set the sensitivity levels corresponding to different sensitive content, and in actual sharing operations, the sensitivity level of the target sensitive area is directly determined based on the pre-set relationships.
[0046] One way to pre-define the sensitivity levels corresponding to different sensitive content is to bind the sensitivity level attribute in advance when adding sensitive tags to native components and H5 web page elements of financial application pages. The system can directly determine the sensitivity level by reading the sensitivity level attribute bound to the tag. For example, a level 1 sensitive tag is sensitive-level="1", and a level 2 sensitive tag is sensitive-level="2". For example, password boxes, full bank card numbers, ID card numbers, and verification codes are preset to level 1 sensitivity, while balances, transaction records, names, and fragments of documents are preset to level 2 sensitivity.
[0047] In another alternative implementation, the method of pre-setting the sensitivity levels corresponding to different sensitive content can be to map the levels according to preset categories after the sensitive content recognition model identifies dynamic sensitive information. For example, verification codes, dynamic passwords, and keys are preset as Level 1 sensitive, while temporary amounts, name fragments, and transaction summaries are preset as Level 2 sensitive.
[0048] In another alternative implementation, the sensitivity level corresponding to the sensitive area can be determined in real time based on the current business scenario. The initial sensitivity level is first determined based on the preset level corresponding to the sensitive content, and then the initial sensitivity level is automatically adjusted according to the current business scenario. For example, in login, transfer, and payment scenarios, the initial sensitivity level is raised by one level; in query and display scenarios, the initial sensitivity level is followed.
[0049] Furthermore, after determining the sensitivity level corresponding to different target sensitive areas, the target sensitive areas are processed according to the privacy protection method corresponding to the sensitivity level. For example, the sensitivity level may include the first sensitivity level, the second sensitivity level, the third sensitivity level, ..., the Nth sensitivity level, and the corresponding privacy protection methods are, in order: pure blackening, Gaussian blurring, ..., placeholder overlay.
[0050] In another optional implementation, after determining at least one target sensitive area, the privacy protection processing of the target sensitive area can also be carried out by determining the source method of the sensitive content corresponding to the target sensitive area. The source method can be based on component information acquisition, web page tag acquisition, or sensitive content recognition model acquisition, thereby pre-setting different privacy protection methods for different source methods. For example, when the source method is based on component information acquisition, the corresponding privacy protection method is pure black processing; when the source method is based on web page tag acquisition, the corresponding privacy protection method is Gaussian blur processing; when the source method is based on sensitive content recognition model acquisition, the corresponding privacy protection method is mosaic processing.
[0051] Furthermore, after completing the privacy protection processing, the privacy-protected target video is obtained and sent to the media streaming server, enabling the client's second terminal to obtain the target video from the media streaming server to achieve content sharing. Specifically, each privacy-protected video frame to be shared is encoded sequentially at a preset frame rate and preset resolution, and the encoded video frames to be shared are uploaded to the data streaming server sequentially. In one possible implementation, during the process of sending the target video to the media streaming server, the video frame can be sent to the media streaming server immediately after encoding each video frame, or a group of video frames can be encoded and then sent to the media streaming server; no specific limitation is made here. When the method of sending each encoded video frame to the media streaming server is adopted, that video frame is the target video; when the method of sending a group of encoded video frames to the media streaming server is adopted, that group of video frames is the target video.
[0052] It's important to note that during screen sharing, the recording of the financial application page, sensitive content identification, and privacy protection processing are all performed simultaneously and in parallel. Upon obtaining a video frame to be shared, sensitive content identification is performed on that frame, identifying the target sensitive areas. Privacy protection processing is then applied to these target sensitive areas, and the privacy-protected video frame is directly encoded and uploaded to the media streaming server. In essence, the video frame to be shared at this point is the target video.
[0053] In this embodiment, after taking a screenshot of a financial application page to obtain a target video containing at least one video frame to be shared, the first and second sensitive contents in the video frame to be shared are identified using the sensitive tags of the native component and the sensitive tags of the webpage, respectively. Then, the dynamic sensitive content is identified using a sensitive identification model to determine the third sensitive content. Privacy protection processing is performed on the target sensitive area where the sensitive content is located. Finally, the privacy-protected target video is transmitted to a media streaming server for sharing to the customer service's second terminal. By automatically identifying sensitive content and automatically protecting privacy, users cannot manually hide it, which improves the efficiency of screen sharing while avoiding privacy leakage.
[0054] Second Embodiment Based on the first embodiment, referring to Figure 4 Step S10 includes steps S11 to S14.
[0055] Step S11: In response to the screen sharing request from the financial application page, determine whether there is any content update on the currently displayed page; Step S12: If yes, trigger a screenshot operation on the currently displayed page to obtain the video frame to be shared; Step S13: If not, use the page obtained from the previous screenshot operation as the video frame to be shared; Step S14: Generate the target video based on the video frames to be shared.
[0056] It's important to note that video is essentially a series of images. By utilizing the principle of visual persistence, playing a series of images allows the human eye to perceive motion. Simply transmitting the video frames would require a massive amount of data. Since a video contains a significant amount of repetitive information, to reduce transmission volume, this repetitive information can be removed at the first terminal and then restored at the second. This significantly reduces the amount of data transmitted and saves storage space. For example, using the H.264 video compression standard, pre-set compression parameters are used to compress and encode the video into I-frames and P-frames. An I-frame is a complete image, while a P-frame contains differences from the previous frame (I-frame or P-frame). Therefore, it's not necessary to transmit every single image, reducing the amount of data transmitted and improving network quality. However, in some screen-sharing scenarios, the content remains unchanged for certain periods. For instance, when a user stays on a page to view a protocol, the displayed content is essentially static, meaning the amount of video data changes little during this time. However, even when using pre-set compression parameters to compress and encode video images, at least one I-frame will still be transmitted during the period when the image content is essentially still. Further compression of the video data during this period could significantly reduce the amount of data transmitted and improve resource utilization.
[0057] To achieve this objective, in the process of recording a screenshot of a financial application page, the embodiments of this application can perform screen analysis on the currently displayed page to obtain screen analysis results. This allows subsequent steps to dynamically adjust the screenshot frequency or determine whether to take a screenshot based on the screen analysis results, thereby reducing the amount of video transmission data and improving resource utilization.
[0058] Specifically, the system detects whether the currently displayed page has been updated. If it has been updated, a screenshot operation is triggered to generate a video frame to be shared corresponding to the currently displayed page. If not, no screenshot operation is performed on the currently displayed page, and only the video frame to be shared obtained from the previous screenshot operation is retained. This reduces the number of screenshot operations on duplicate pages, thereby reducing the identification and processing of sensitive content with duplicate information and privacy protection processing, and reducing the transmission of invalid data from the source.
[0059] Optionally, the screenshot operation is triggered by the financial application using the official screen capture interface of the Android or iOS system to acquire the screen image and request permissions, thereby enabling a screenshot of the currently displayed page. This method does not rely on third-party screenshot plugins, ensuring capture stability and system compatibility. Specifically, the first application initiates a screen recording / capture permission request to the operating system. The system pops up a standard authorization pop-up, and after the user confirms permission, the financial application obtains legal permission to capture the screen image. Then, the financial application establishes a standard and stable screen image capture channel with the operating system through the system API, directly acquiring real-time screen image data without any third-party plugins, SDKs, or middleware. Finally, the system API outputs the current screen image to the financial application in the form of image frames, and the financial application obtains a screenshot image of the currently displayed page. It is understood that, based on the embodiment of this application using the official native interface of the operating system, without third-party code intrusion, there are no issues such as compatibility anomalies, capture interruptions, or permission conflicts. The capture process is stable, controllable, and secure.
[0060] It should be noted that when no content updates are detected on the currently displayed page, the display duration of the current page is recorded. This marks the corresponding display time and duration for each screenshot of the video frame to be shared. When the second terminal receives the video frame to be shared, it displays the frame for the specified duration to determine the real-time nature of screen sharing. For example, if video frame A is displayed on the first terminal from 17:53:11 to 17:54:11, with a display duration of 1 minute, then the second terminal will still display 1 minute of video frame A.
[0061] In one optional implementation, the method for monitoring whether the currently displayed page has been updated is to first perform video sampling on the financial application page to obtain the current image corresponding to the currently displayed content. Then, the current image is compared with the previously sampled image. If the difference in image information between the current image and the previous image is greater than a preset difference threshold, it is determined that the currently displayed page has been updated; if the difference in image information between the current image and the previous image is less than or equal to the preset difference threshold, it is determined that the currently displayed page has not been updated. When performing video sampling, a preset sampling frequency can be used to sample the financial application page. The sampling frequency can be appropriately selected according to the actual application situation and is not specifically limited here. It is understood that the preset difference threshold can be a specific data quantity or a ratio, and can be appropriately selected according to the actual application situation and is not specifically limited here.
[0062] In another alternative implementation, the method to monitor whether the currently displayed page has content updates can be that the financial application registers an interface drawing and refresh listener callback with the system, and listens in real time for valid business operation events such as loading, updating, redrawing, scrolling, and pop-up windows of the financial application page UI elements. When a valid business operation is detected, it is determined that the currently displayed page has content updates, and this is used as the basis for triggering a screenshot, rather than using a fixed sampling frequency for image acquisition.
[0063] In another alternative implementation, the page type of the currently displayed page can be determined based on the screen analysis results, and the screenshot frequency can be adjusted accordingly to avoid invalid data transmission at the source. Specifically, refer to... Figure 5 Step S10 includes steps S15 to S17.
[0064] Step S15: Determine the page type of the currently displayed page; Step S16: When the page type is the first type, take a screenshot of the financial application page at the first screenshot frequency to obtain the target video; Step S17: When the page type is the second type, the financial application page is captured at the second screenshot frequency to obtain the target video, wherein the first screenshot frequency is greater than the second screenshot frequency.
[0065] Optionally, in response to a screen sharing request, the screen of the financial application page is analyzed to obtain the page type of the currently displayed page in the financial application page. Then, the screenshot frequency is determined according to the page type, and the screenshot of the financial application page is recorded at the screenshot frequency. If the page type is a critical type, such as a transfer page, it is determined to be the first type, and the screenshot is recorded at the first screenshot frequency with a larger value. If the page type is a non-critical type, such as a welcome page, it is determined to be the second type, and the screenshot of the financial application page is recorded at the second screenshot frequency with a smaller value.
[0066] In one optional implementation, the page type can be determined by obtaining the page-specific tags corresponding to the currently displayed page and determining the page type based on the page tags. Specifically, the custom tag attributes of the components in the currently displayed page are read through the system interface. The custom tag attributes include at least one of static page tags, non-critical content tags, and dynamic operation tags. Non-critical content tags can be carousel tags, background image tags, advertising area tags, etc., and dynamic operation tags can be input tags, click tags, refresh tags, pop-up tags, etc. If the tag of the currently displayed page is a static page tag, the currently displayed page is determined to be a static page.
[0067] In another alternative implementation, the page type can be determined based on business scenario attributes. These attributes include: fund transaction scenarios (e.g., transfers, payments, wealth management purchases, password input); account information scenarios (e.g., balance, details, bank card management, personal information); public display scenarios (e.g., homepage, activity pages, advertisements, announcements, product introductions); and auxiliary operation scenarios (e.g., settings, about, help, customer service). By determining the page content type based on business scenario attributes (e.g., fund transaction scenarios correspond to the first type, public display scenarios to the second type), pages representing important fund transaction scenarios can be captured more frequently, while pages representing less important public display scenarios can be captured less frequently.
[0068] In another alternative implementation, the page type can be determined based on the UI refresh rate. Pages with a UI refresh rate higher than or equal to a preset refresh rate are designated as the first type, and pages with a UI refresh rate lower than the preset refresh rate are designated as the second type. A higher UI refresh rate corresponds to a higher screenshot frequency, and vice versa.
[0069] In another alternative implementation, the page type can be determined based on the interaction state. The interaction frequency is determined based on the interaction state, and the page type of the page with the interaction frequency higher than or equal to the preset interaction frequency is determined as the first type. The page type of the page with the interaction frequency lower than the preset interaction frequency or no interaction is determined as the second type. This way, pages with high interaction, such as click interaction and input interaction, are captured and recorded at a higher screenshot frequency, while pages with no interaction or low interaction frequency are captured and recorded at a lower screenshot frequency.
[0070] In another alternative implementation, the page type can be determined based on the amount of sensitive content on the page. Pages with more than a preset amount of sensitive content are designated as the first type, and pages with less than a preset amount of sensitive content are designated as the second type. This allows highly sensitive pages to be captured at a high frequency, ensuring accurate blocking of the required sensitive information.
[0071] It is understood that the multiple determination indicators involved in the above optional implementation methods can all be used to determine the page type, and the page type can also be determined by combining multi-dimensional indicators, thereby improving the accuracy of page type determination.
[0072] It should be noted that the first screenshot frequency is greater than the second screenshot frequency, which can be zero. When the second screenshot frequency is zero, the screenshot operation is paused. It is understood that this application displays the user's financial application page to customer service for remote guidance. Customer service personnel are familiar with the financial application page; therefore, non-critical application pages, such as the application's welcome page or advertising pages, do not need to be displayed to customer service. Thus, by not screenshotting non-critical pages, the number of screenshots is reduced from the source. Of course, when no screenshot is triggered, the second terminal cannot receive or view non-critical pages; the second terminal continues to display the image obtained from the previous screenshot operation until a new image is received.
[0073] In this application embodiment, the related technology uses a fixed screenshot frequency to record and collect screenshots, which may capture unimportant or static pages, resulting in a large amount of invalid screenshot data. However, this application determines the timing of screenshot triggering by judging whether there is content update and combining the page type. It triggers screenshots only when the page is updated, or only collects important pages at a high screenshot frequency. While ensuring that the core business operation screen is clear in real time, it significantly reduces invalid screenshot data such as static pages, reduces device power consumption, memory usage and subsequent encoding transmission traffic, and improves the overall screen sharing link performance.
[0074] Third Embodiment Based on the above embodiments, referring to Figure 6 Step S40 includes steps S43 to S45.
[0075] Step S43: Obtain the key and non-key regions of the video frame to be shared; Step S44: Encode the critical region at a first code rate and encode the non-critical region at a second code rate, wherein the first code rate is greater than the second code rate; Step S45: Send the partitioned encoded target video to the receiving end.
[0076] In related technologies, video transmission involves encoding each video frame at a fixed frame rate and resolution, and then uploading the encoded video to a data stream server. This method has low encoding efficiency. Therefore, this application proposes a custom encoding method that distinguishes the content priority of the video frames to be shared and encodes video frames of different priorities at different bitrates. High-priority images use a high bitrate, while low-priority images use a low bitrate, thereby optimizing encoding efficiency and ensuring data transmission security.
[0077] Understandably, when encoding the shared video frames of the target video, the industry-standard H.264 or H.265 video encoding standard is used, and the bitstream is encapsulated using a standardized encoding format. This ensures that the customer service's second terminal does not require a customized decoding plugin, and has good universality, compatibility, and decoding adaptability, meeting the playback and parsing requirements of various web pages and client applications.
[0078] In one optional implementation, before encoding using the H.264 or H.265 video coding standard, the priorities of different regions of the same video frame to be shared are determined, and the encoding bitrate of each region is determined according to the priority. Then, the H.264 or H.265 video coding standard is invoked to encode each region at the determined encoding bitrate. It is understood that other encoding parameters besides the encoding bitrate can also be determined for each region based on the priority. These other encoding parameters include resolution, with high-priority regions corresponding to high resolution and low-priority regions corresponding to low resolution, thereby improving the clarity of high-priority regions. Other encoding parameters may also include quantization compression parameters (QP), with high-priority regions corresponding to smaller quantization compression parameters and low-priority regions corresponding to larger quantization compression parameters. Other encoding parameters may also include denoising parameters, which are not limited here. This application uses bitrate as the encoding parameter for explanation and analysis.
[0079] Optionally, the priority of different regions of the video frame to be shared is determined, and regions with a priority higher than a preset priority are designated as critical regions, while regions with a priority lower than the preset priority are designated as non-critical regions. Specifically, regions containing preset information are designated as high-priority regions, high-priority regions are designated as critical regions, regions outside of high-priority regions are designated as low-priority regions, and low-priority regions are designated as non-critical regions.
[0080] Optionally, the preset information includes, but is not limited to, at least one of the following: sensitive content, business operation controls, information interaction input boxes, core account information, interactive operation information, and core business processes. Sensitive content includes, but is not limited to, first sensitive content determined based on component information, second sensitive content determined based on webpage tags, and third sensitive content identified using a sensitive content recognition model. It should be noted that the target sensitive area containing the sensitive content is a privacy-protected area, such as an area completely blacked out. Business operation controls include, but are not limited to, function buttons such as transfer, payment, wealth management purchase, transaction confirmation, return, and next step. Information interaction input boxes include, but are not limited to, password input boxes, amount input boxes, document filling boxes, and verification code input boxes. Core account information includes, but is not limited to, balance, bank card number, personal information, transaction details, and account data. Interactive operation information includes, but is not limited to, the range of UI elements corresponding to user clicks, swipes, and inputs. Core business processes are the process nodes that must be viewed and guided when handling business. Based on this, the key areas containing the preset information include, but are not limited to, the privacy-protected target sensitive area, the business operation control display area, the information interaction input area, the core account information display area, the operation area corresponding to the interactive operation, and the core business process area.
[0081] In another optional implementation, non-critical areas can be identified first, and other areas besides the non-critical areas can be designated as critical areas. Non-critical areas can be page background layers, solid color backgrounds, and white space on the page; non-critical areas can also be areas containing static content, such as general explanatory text, agreement text, and official website introduction content; non-critical areas can also be areas containing general content, such as financial product promotional posters, advertising carousels, and event images; non-critical areas can also be areas containing non-business decorative elements, such as icon embellishments and page layout dividing lines; the non-critical areas also include other purely display content areas without interactive functions, no business guidance value, and no sensitive content.
[0082] Furthermore, after identifying key and non-key areas, the coordinate information of these areas on the financial application page is obtained. Based on the coordinate information, each area is coded in a partitioned manner. Key areas are encoded with a higher first bitrate to improve their clarity, preserve the clarity of text, control outlines, and operational details, and ensure accurate remote viewing by customer service representatives, meeting the visual needs of remote business guidance and operation instructions. Non-key areas are encoded with a lower second bitrate, retaining only the basic outline of the screen, significantly reducing redundant encoded data generated by non-key information, thereby improving encoding efficiency.
[0083] Furthermore, the encoded data generated by encoding key areas at a high bitrate and the encoded data generated by encoding non-key areas at a low bitrate are intra-frame fused and encapsulated to generate the complete encoded data corresponding to the video frame to be shared, which is then sent to the media streaming server. In this way, while ensuring high-definition and clear core business operation images, the data volume of non-key areas is greatly reduced, effectively reducing the overall video stream size, lowering network bandwidth usage and transmission pressure, improving video stream smoothness in weak network environments, and simultaneously ensuring clarity and transmission performance for remote guidance.
[0084] In another optional implementation, while the user's first terminal is taking a screenshot of shared content on the screen and sending the recorded target video to the media streaming server, it can also first obtain the current network status information and determine the streaming frequency based on the network status information, so as to prioritize sending key information to the media server. Specifically, refer to... Figure 7 Step S45 includes steps S451 to S452.
[0085] Step S451: Obtain the current network latency parameters; Step S452: When the current network latency parameter is greater than or equal to the preset network latency parameter, the key area of the target video is sent to the receiving end at the first streaming frequency. Step S453: When the current network latency parameter is less than the preset network latency parameter, the target video is sent to the receiving end at a second streaming frequency, wherein the first streaming frequency is lower than the second streaming frequency.
[0086] Optionally, the transmission module of the first terminal has a built-in real-time network detection unit that can continuously collect network status information such as uplink bandwidth, network signal strength, transmission delay, packet loss rate, jitter value, and other network parameters of the current network link, and determine the current network delay parameter based on the network status information. The current network delay parameter is represented by a numerical value. The larger the value, the longer the network delay and the worse the current network status. The smaller the value, the shorter the network delay and the better the current network status.
[0087] Furthermore, after determining the current network latency parameter, it is compared with the preset network latency parameter. If the current network latency parameter is large, the current network condition is determined to be poor. In order to ensure that critical content can be successfully transmitted to the customer service's second terminal, the target video is sent to the receiving end at a lower first streaming frequency to reduce the total number of frames transmitted per unit time, thereby avoiding packet loss, stuttering, screen tearing, and direct disconnection. In another optional implementation, only the image data of the critical area can be encoded and sent to the receiving end as the target video; the bitrate of non-critical areas can also be further compressed to reduce the amount of data transmitted in non-critical areas. In another optional implementation, a combination of frequency reduction strategy and regional priority transmission strategy can be used to transmit high-priority image data of critical areas, while transmitting little or no image data of non-critical areas, ensuring that the customer service can clearly see the critical areas.
[0088] Optionally, if the current network latency parameter is low, it is determined that the current network status is good, and the target video is sent to the receiving end at a higher streaming frequency to ensure the real-time performance of screen sharing.
[0089] Understandably, a higher streaming frequency means a larger amount of data needs to be transmitted per unit time, resulting in higher uplink bandwidth requirements. When a weak network signal or insufficient uplink bandwidth is detected, the link's carrying capacity decreases. Maintaining a high streaming frequency can easily lead to data congestion, packet loss, screen tearing, or even transmission interruption. Therefore, the system automatically and appropriately reduces the overall streaming frequency to decrease the total amount of data transmitted per unit time and alleviate network transmission pressure. At the same time, data scheduling is performed based on the priority of different areas, prioritizing the complete transmission of frame data in critical areas and further increasing the compression ratio of non-critical areas or discarding redundant information in non-critical areas. Once the network stabilizes, the system automatically reverts to the normal streaming frequency. In this way, while avoiding transmission interruption, the core business operation screen is always clearly visible.
[0090] In another alternative implementation, before the user's first terminal takes a screenshot of the shared content on the screen and sends the target video obtained from the screenshot to the media streaming server, it performs the following steps: Determine the security level of the target video, and determine an encryption strategy based on the security level; The encrypted video corresponding to the target video is sent to the receiving end using the encryption strategy.
[0091] To prevent leakage of transmitted video frames, this embodiment employs the AES-128 financial-grade symmetric encryption algorithm to perform content-level encryption on the encoded target video. The encryption key is dynamically generated in real-time by the key management server of the interfacing business party. A new and unique key is generated each time a screen sharing process is initiated. The key is synchronized to the encoding module of the first terminal and the decoding module of the second terminal (receiving end) through a secure channel, with each key used only once. After receiving the key, the first terminal first uses the key to encrypt the target video and transmits the encrypted target video to the receiving end. Upon receiving the encrypted target video, the receiving end decrypts and decodes the target video based on the key, thereby rendering and displaying the target video.
[0092] In another optional implementation, the security level corresponding to the target video can be determined, and graded encryption transmission of the target video can be performed based on the security level. Alternatively, the current business scenario can be determined, and the security level can be determined accordingly to achieve differentiated encryption transmission. The corresponding AES encryption working mode, key length generation rules, key validity period, and session-wide key automatic rotation frequency can be determined based on the security level; for example, the higher the security level, the shorter the key validity period. The security level can also be determined based on the user's risk level. For example, high-risk users have higher security levels, and the encryption strategy adopted should be more stringent. For instance, a more secure GCM mode with integrity verification can be adopted for high-risk users, which has anti-tampering and anti-forgery effects, while a more secure CBC mode can be adopted for low-risk users. Finally, the security level can be determined based on the user's account level and permissions; the higher the account level and permissions, the higher the security level.
[0093] It is understood that by setting the target video transmission to end-to-end encrypted transmission, the actual image only exists locally on the user's device, eliminating the risk of original image leakage. At the same time, the one-session-one-key mechanism enhances anti-cracking capabilities. In addition, by combining a hierarchical encryption transmission strategy, the security of target video transmission is improved, meeting the data security, privacy compliance, and regulatory security requirements of the financial industry.
[0094] In this embodiment, the video frames to be shared corresponding to the financial application page are divided into key and non-key areas, and different bitrates and resolutions are used for partitioned encoding. This differs from the conventional globally unified encoding method, ensuring the clarity of key areas while reducing bandwidth consumption. At the same time, the streaming frequency is adaptively adjusted based on the current network latency parameters to prioritize the transmission of image data in key areas, avoiding screen interruptions and balancing transmission stability with the visibility of content in key areas. In addition, an encryption strategy is incorporated to achieve encrypted transmission of the target video, further improving the security of screen sharing.
[0095] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the screen sharing method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0096] This application provides a screen sharing device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the screen sharing method in Embodiment 1 above.
[0097] The following is for reference. Figure 8 The diagram illustrates a structural schematic suitable for implementing the screen sharing device in the embodiments of this application. The screen sharing device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 8 The screen sharing device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0098] like Figure 8As shown, the screen sharing device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.) that can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the screen sharing device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touchscreen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1003 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. Communication device 1009 allows the screen sharing device to communicate wirelessly or wiredly with other devices to exchange data. While various systems are shown in the figures, it should be understood that implementing or having all of the systems shown is not required. More or fewer systems may be implemented alternatively.
[0099] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0100] The screen sharing device provided in this application, employing the screen sharing method described in the above embodiments, can solve the technical problem that users need to manually hide sensitive information when sharing a screen. Compared with the prior art, the beneficial effects of the screen sharing device provided in this application are the same as those of the screen sharing method provided in the above embodiments, and other technical features of this screen sharing device are the same as those disclosed in the previous embodiment method, and will not be repeated here.
[0101] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0102] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0103] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the screen sharing method in the above embodiments.
[0104] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0105] The aforementioned computer-readable storage medium may be included in a screen sharing device; or it may exist independently and not assembled into a screen sharing device.
[0106] The aforementioned computer-readable storage medium carries one or more programs that, when executed by a screen-sharing device, enable the screen-sharing device to write computer program code for performing the operations of this application in one or more programming languages or a combination thereof. These programming languages include object-oriented programming languages—such as Java, Smalltalk, and C++—and conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0107] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0108] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0109] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described screen sharing method, thereby solving the technical problem that screen sharing requires users to manually hide sensitive information. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the screen sharing method provided in the above embodiments, and will not be repeated here.
[0110] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the screen sharing method described above.
[0111] The computer program product provided in this application can solve the technical problem that users need to manually hide sensitive information when sharing screens. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the screen sharing method provided in the above embodiments, and will not be repeated here.
[0112] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A screen sharing method, characterized in that, The steps of the screen sharing method include: In response to a screen sharing request from a financial application page, a screenshot of the financial application page is recorded to obtain a target video containing at least one video frame to be shared. The first sensitive content is obtained based on the component information in the video frame to be shared, and the second sensitive content is obtained based on the web page tags in the video frame to be shared; The first area containing the first sensitive content and the second area containing the second sensitive content are marked as target sensitive areas; The target sensitive area of the shared video frame is subjected to privacy protection processing, and the privacy-protected target video is sent to the receiving end.
2. The screen sharing method as described in claim 1, characterized in that, The step of marking the first region where the first sensitive content is located and the second region where the second sensitive content is located as target sensitive regions includes: Determine a third region in the video frame to be shared, other than the first and second regions; Determine whether preset sensitive content exists based on the text recognition results of the third region; If so, mark the area containing the preset sensitive content as the target sensitive area.
3. The screen sharing method as described in claim 1, characterized in that, The step of recording a screenshot of the financial application page in response to a screen sharing request to obtain a target video containing at least one video frame to be shared includes: In response to a screen sharing request from a financial application page, determine whether the currently displayed page has any content updates; If so, trigger a screenshot operation on the currently displayed page to obtain the video frame to be shared; If not, the page obtained from the previous screenshot operation will be used as the video frame to be shared; The target video is generated based on the video frames to be shared.
4. The screen sharing method as described in claim 3, characterized in that, The step of recording a screenshot of the financial application page in response to a screen sharing request to obtain a target video containing at least one video frame to be shared includes: Determine the page type of the currently displayed page; When the page type is the first type, the financial application page is captured and recorded at the first screenshot frequency to obtain the target video; When the page type is the second type, the financial application page is captured and recorded at a second screenshot frequency to obtain the target video, wherein the first screenshot frequency is greater than the second screenshot frequency.
5. The screen sharing method as described in claim 1, characterized in that, The steps for performing privacy protection processing on the target sensitive area of the video frame to be shared include: Determine the sensitivity level of the target sensitive area; The target sensitive area is subjected to graded privacy protection processing according to the privacy protection method corresponding to the sensitivity level.
6. The screen sharing method as described in claim 1, characterized in that, The step of sending the privacy-protected target video to the receiving end includes: Obtain the key and non-key regions of the video frame to be shared; The critical region is encoded at a first code rate and the non-critical region is encoded at a second code rate, wherein the first code rate is greater than the second code rate; The target video, after being partitioned and encoded, is sent to the receiving end.
7. The screen sharing method as described in claim 6, characterized in that, The step of sending the partition-encoded target video to the receiving end includes: Get the current network latency parameters; When the current network latency parameter is greater than or equal to the preset network latency parameter, the key area of the target video is sent to the receiving end at a first streaming frequency; When the current network latency parameter is less than the preset network latency parameter, the target video is sent to the receiving end at a second streaming frequency, wherein the first streaming frequency is lower than the second streaming frequency.
8. The screen sharing method as described in claim 1, characterized in that, The step of sending the privacy-protected target video to the receiving end includes: Determine the security level of the target video, and determine an encryption strategy based on the security level; The encrypted video corresponding to the target video is sent to the receiving end using the encryption strategy.
9. A screen sharing device, characterized in that, The screen sharing device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the screen sharing method as described in any one of claims 1 to 8.
10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the screen sharing method as described in any one of claims 1 to 8.