METHOD AND SYSTEM FOR BROWSER-BASED SCREEN SHARING
A method for browser-based screen sharing comprises: loading, by a presenter device, a screen sharing script directly executable by a web browser of the presenter device; capturing, by the screen sharing script, a plurality of screen images; adjusting the plurality of screen images based on a network bandwidth between the presenter device and a screen sharing server in order to maintain a specified frame rate of the plurality of screen images; and transmitting, to the screen sharing server, the adjusted plurality of screen images.
1 . A method comprising:
loading, by a presenter device, a screen sharing script directly executable by a web browser of the presenter device;
capturing, by the screen sharing script, a plurality of screen images;
adjusting the plurality of screen images based on a network bandwidth between the presenter device and a screen sharing server in order to maintain a specified frame rate of the plurality of screen images; and
transmitting, to the screen sharing server, the adjusted plurality of screen images.
2 . The method of claim 1 , wherein the screen sharing script is configured to issue instructions through an application programming interface of the web browser to capture the plurality of screen images.
3 . The method of claim 1 , further comprising:
adaptively adjusting the plurality of screen images to reduce an overall size of the plurality of screen images based on a network bandwidth between the presenter device and the screen sharing server.
4 . The method of claim 1 , further comprising:
adaptively adjusting the plurality of screen images to reduce an overall size of the plurality of screen images based on a network bandwidth between a viewer device and the screen sharing server.
5 . The method of claim 1 , wherein adjusting the plurality of screen images further comprises reducing an image resolution of a screen image of the plurality of screen images.
6 . The method of claim 1 , wherein adjusting the plurality of screen images further comprises reducing a color depth of a screen image of the plurality of screen images.
7 . The method of claim 1 , further comprising:
determining a frequency for refreshing the screen image based on an operating speed of the presenter device; and
capture a screen image at the determined frequency.
8 . The method of claim 1 , further comprising:
adjusting a screen area to be captured.
9 . The method of claim 1 , wherein transmitting, to the screen sharing server, the adjusted plurality of screen images further comprises:
determining a difference between a first screen image of the plurality of screen images and a second screen image of the plurality of screen images; and
transmitting to the screen sharing server one of: the second screen image or data indicative of the difference.
10 . The method of claim 1 , further comprising:
displaying one or more markings within the presentation webpage, wherein an active sharing area of the screen image is determined by the screen sharing script based on locations of the one or more markings within the presentation webpage.
11 . The method of claim 1 , further comprising:
transmitting, to the screen sharing server, data reflecting a position of a user-controlled pointer within an active sharing area of the screen.
12 . A computer system implementing a presenter device, the computer system comprising:
a memory; and
a processor communicatively coupled to the memory, wherein the processor is configured to:
load a screen sharing script directly executable by a web browser of the presenter device;
capture, by the screen sharing script, a plurality of screen images;
adjust the plurality of screen images based on a network bandwidth between the presenter device and a screen sharing server in order to maintain a specified frame rate of the plurality of screen images; and
transmit, to the screen sharing server, the adjusted plurality of screen images.
13 . The system of claim 12 , wherein the screen sharing script is configured to issue instructions through an application programming interface of the web browser to capture the plurality of screen images.
14 . The system of claim 12 , wherein the processor is further configured to:
adaptively adjust the plurality of screen images to reduce an overall size of the plurality of screen images based on at least one of: a network bandwidth between the presenter device and the screen sharing server or a network bandwidth between a viewer device and the screen sharing server.
15 . The system of claim 12 , wherein the processor is further configured to:
displaying one or more markings within the presentation webpage, wherein an active sharing area of the screen image is determined by the screen sharing script based on locations of the one or more markings within the presentation webpage.
16 . The system of claim 12 , wherein the processor is further configured to:
transmitting, to the screen sharing server, data reflecting a position of a user-controlled pointer within an active sharing area of the screen.
17 . A non-transitory computer-readable storage medium comprising executable instructions that, when executed by a computer system implementing a presenter device, cause the computer system to:
load a screen sharing script directly executable by a web browser of the presenter device;
capture, by the screen sharing script, a plurality of screen images;
adjust the plurality of screen images based on a network bandwidth between the presenter device and a screen sharing server in order to maintain a specified frame rate of the plurality of screen images; and
transmit, to the screen sharing server, the adjusted plurality of screen images.
18 . The non-transitory computer-readable storage medium of claim 17 , further comprising executable instructions that, when executed by the computer system, cause the computer system to:
adaptively adjust the plurality of screen images to reduce an overall size of the plurality of screen images based on at least one of: a network bandwidth between the presenter device and the screen sharing server or a network bandwidth between a viewer device and the screen sharing server.
19 . The non-transitory computer-readable storage medium of claim 17 , further comprising executable instructions that, when executed by the computer system, cause the computer system to:
display one or more markings within the presentation webpage, wherein an active sharing area of the screen image is determined by the screen sharing script based on locations of the one or more markings within the presentation webpage.
20 . The non-transitory computer-readable storage medium of claim 17 , further comprising executable instructions that, when executed by the computer system, cause the computer system to:
transmit, to the screen sharing server, data reflecting a position of a user-controlled pointer within an active sharing area of the screen.