Screen share service #18

Open xwolf opened this issue on 7 Apr 2015 - 0 comments

@xwolf xwolf commented on 7 Apr 2015

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 xwolf changed title from Remote screen bandwith optimizations to Remote screen bandwith optimizations and isolation on 26 Sep 2018
@xwolf xwolf changed milestone from 1.2 to 2.0 on 2 May 2020
@xwolf xwolf changed milestone from 2.0 to 2.1 on 2 May 2020
@xwolf xwolf changed title from Remote screen bandwith optimizations and isolation to Screen share service on 22 Feb 2021
@xwolf xwolf changed milestone from 2.1 to 2.2 on 22 Feb 2021
Labels

Priority
No priority
Milestone
2.2
Assignee

1 participant
@xwolf