Isolate screen sharing management to allow usage on other projects (like Sputniq)
Use a canvas on the HTML to allow image prtions painting.
Control sended image, and use fast / complete comparations to avoid send yet sended data.
Check changes using a pixel comparator, but comparing only one of each 4 square pixels. This allow the screen changes to be compared more fast. Use a offset in comparation to maje a full pixel comparation each 4 checkings comparing in this way:
[#·] [··] [·#] [··]
[··] [·#] [··] [#·]
The # indicates the pixel to check on each moment.
The changes must be merged into big change tiles.
The tiles will be 48X48 pixels. Once a changed was detected the tile is marked as changed, and must be resended.
Each change tile will be sended in a low quality mode. while the tile remain unchnaged qualitiest versions will be sended.
4 Quality steps
Send a 50% version of the tile at 30% quality JPEG
Send a full resolution 30% quality JPEG
Send a full resolution 70% quality JPEG
Send a full resolution pixel-perferct 24bits BMP
Use an automatic presseting on tiles, better connections will make the JPEG quality % to be bigger on all presets.
xwolf
changed title from Remote screen bandwith optimizations to Remote screen bandwith optimizations and isolation
on 26 Sep 2018
xwolf
changed milestone from 1.2 to 2.0
on 2 May 2020
xwolf
changed milestone from 2.0 to 2.1
on 2 May 2020
xwolf
changed title from Remote screen bandwith optimizations and isolation to Screen share service
on 22 Feb 2021
xwolf
changed milestone from 2.1 to 2.2
on 22 Feb 2021
Isolate screen sharing management to allow usage on other projects (like Sputniq)
Use a canvas on the HTML to allow image prtions painting.
Control sended image, and use fast / complete comparations to avoid send yet sended data.
Check changes using a pixel comparator, but comparing only one of each 4 square pixels. This allow the screen changes to be compared more fast. Use a offset in comparation to maje a full pixel comparation each 4 checkings comparing in this way:
The # indicates the pixel to check on each moment.
The changes must be merged into big change tiles.
The tiles will be 48X48 pixels. Once a changed was detected the tile is marked as changed, and must be resended.
Each change tile will be sended in a low quality mode. while the tile remain unchnaged qualitiest versions will be sended.
4 Quality steps
Use an automatic presseting on tiles, better connections will make the JPEG quality % to be bigger on all presets.