Intel® Collaboration Suite for WebRTC
Community support and discussions on the Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC).

screen sharing of p2p is low fps in intranet

leo_a_
Beginner
1,842 Views

Hi Intel CS Developers:

    I am useing JavaScript SDK version 3.4 of Peer to Peer after setuped Peer Server in ubuntu14.04. Then shared my screen to another computer via Chrome 62. But I found it always were unsmooth. I have set fps [5, 20],  the resolution is set 640*480  just ok. Shared screen show up changing slowly when I set the resolution to hd720p. It's always get stuck after set to 1080p resolution.  These tests both in Intranet, speed of network is good. The shared and display computer both have good cpu and memory. So, I wonder is there some way to make screen sharing to faster ?  like software accelarated or hardware accelarated

0 Kudos
15 Replies
YanbinZ_Intel
Employee
1,842 Views

Hi Leo

    Set fps [5 20] means the max fps is 20 . Could you please double check and provide bandwidth and resolution in Chrome browser webrtc-internals page ? 

0 Kudos
leo_a_
Beginner
1,835 Views

Yanbin Z. (Intel) wrote:

Hi Leo

    Set fps [5 20] means the max fps is 20 . Could you please double check and provide bandwidth and resolution in Chrome browser webrtc-internals page ? 

 

I set the bandwidth to 4096, the resolution is hd720p. Actually when I share pages just ok, but when I played video on shared computer, remote peer computer display the video become non-fluency, sometimes get stuck

0 Kudos
YanbinZ_Intel
Employee
1,842 Views

Could you please provide detail transmission bandwidth in Chrome webrtc-internals.  And ,please set fps higher e.g 30.   I also tried in local network, the fps can reach 30 fps and resolution can reach 720p.  

0 Kudos
leo_a_
Beginner
1,842 Views

Yanbin Z. (Intel) wrote:

 

Could you please provide detail transmission bandwidth in Chrome webrtc-internals.  And ,please set fps higher e.g 30.   I also tried in local network, the fps can reach 30 fps and resolution can reach 720p.  

Hi, Yanbin

  I set params when I created local stream like this:

video: {
    device: "screen",
    resolution: "hd720p"
},
audio: false

 my chrome://webrtc-internals

 

 

 

0 Kudos
leo_a_
Beginner
1,842 Views

Yanbin Z. (Intel) wrote:

 

Could you please provide detail transmission bandwidth in Chrome webrtc-internals.  And ,please set fps higher e.g 30.   I also tried in local network, the fps can reach 30 fps and resolution can reach 720p.  

Hi, Yanbin

  I set params when I created local stream like this:

video: {
    device: "screen",
    resolution: "hd720p"
},
audio: false

 

Sorry I don't how to upload image to here. The Attachment file is snapshot of my chrome://webrtc-internals

 

 

 

0 Kudos
YanbinZ_Intel
Employee
1,842 Views

Hi Leo,  the sender FPS is very low, is 8  , and resolution is 1280x720 from your attached file.   So , received side can not got high FPS video .

We can not reproduce your problem .  May be you can change sender side machine.

0 Kudos
leo_a_
Beginner
1,842 Views

Yanbin Z. (Intel) wrote:

Hi Leo,  the sender FPS is very low, is 8  , and resolution is 1280x720 from your attached file.   So , received side can not got high FPS video .

We can not reproduce your problem .  May be you can change sender side machine.

 

Hi Yanbin,

      Thanks for your respond. I have tried some notebook computes, like MacBook Pro 13/15, and Thinkpad E531, and so on, The sender fps both came low when I play video on sender, sometimes its been 1-3, but most time fps been 7-8. But If I just share desktop or some pages, the fps of sender side can up to 16 or 18 or more.  So, I guess whether something should be set before screen sharing start, which I don't know.  By the way, I used the Javascript SDK of version 3.4 as sender.  Receiver used javascript or android SDK of version 3.4.

0 Kudos
leo_a_
Beginner
1,842 Views

Yanbin Z. (Intel) wrote:

Hi Leo,  the sender FPS is very low, is 8  , and resolution is 1280x720 from your attached file.   So , received side can not got high FPS video .

We can not reproduce your problem .  May be you can change sender side machine.

Hey Yanbin,

I have another question is that: how can I set codec to be H264. I used the screen sharing of JS SDK, the default codec was VP8, I tried set it in this area but it's not work.

var p2p = new Woogeen.PeerClient({
  iceServers: [{
    urls: "stun:example.com:3478"
  }, {
    urls: ["turn:example.com:3478?transport=udp",
      "turn:example.com:3478?transport=tcp"
    ],
    credential: "password",
    username: "username"
  }],
  videoCodec:"h264"
}); // Initialize a Peer object
0 Kudos
YanbinZ_Intel
Employee
1,842 Views

The setting for videoCodec is correct .  Could you please double confirm both side (sender and receiver) already set and support videoCodec H264 . 

0 Kudos
leo_a_
Beginner
1,842 Views

Yanbin Z. (Intel) wrote:

The setting for videoCodec is correct .  Could you please double confirm both side (sender and receiver) already set and support videoCodec H264 . 

 

Hey, Yanbin.

      Thank you, I can set VideoCodec to H264 successlly now.  I find one interest thing, when I sharing screen with VP8 videoCodec, the fps always between 5 to 9 while desktop has movements, like playing video or switching pages or scrolling screen, whatever the resolution is VGA or HD720p or HD1080p.   However the VP9 and H264 don't behave like this. If VideoCodec was set to H264, the sender FPS of screen sharing down to 1-3 when resolution is HD1080p, up to 8-9 when resolution is VGA.

0 Kudos
leo_a_
Beginner
1,842 Views

Yanbin Z. (Intel) wrote:

The setting for videoCodec is correct .  Could you please double confirm both side (sender and receiver) already set and support videoCodec H264 . 

  Is there hardware accelerate in js sdk about screen sharing? If exist, How to open it?

0 Kudos
leo_a_
Beginner
1,842 Views

Yanbin Z. (Intel) wrote:

The setting for videoCodec is correct .  Could you please double confirm both side (sender and receiver) already set and support videoCodec H264 . 

 

Hi Yanbin:

    Sorry trouble u again. After done more tests, I finally got one conclusion.  I used the version 3.4 js sdk as sender of screen sharing, android sdk as receiver.  I set both VP8 codec and hd1080p on thinkpad E530,  macbook air and macbook pro15, sharing the screen which playing video on chrome.

1) Macbook air(13-inch, Early 2014) osx version is 10.13.1. CPU: 1.7GHz Intel Core i7. Memory: 8GB 1600MHz DDR3. Intel HD Graphics 5000 1536MB. Sharing Screen on this MacBook Air, the receiver display the screen in 25 fps or more, resolution is 1440*900. 

2) The thinkpad E530 operation system is winows7 sp1, Intel Core i3-2328M. 8G memory, 64bit.  the receiver display the screen sharing in 15-20 fps, resolution is 1366*768.

3) The Macbook pro 15(Retina, 2015), macOS Sierra 10.12.6.  CPU: 2.2GHz Intel Core i7. Memory 16GB 1600MHz DDR3. Intel Iris Pro 1536MB. If I choose sharing the screen or window, the receiver display screen in 3-9fps solution is 1798*1080 *(the sender fps is very low on chrome://webrtc-intarnets). If I choose sharing the tab on chrome, the fps goes up to 14 and more, sometimes 23-28 fps. the solution is 1798*1080.  

     both of them have set hd1080p, vp8 codec and frameRate [7-30].. So, I think whether it's a bug of webrtc when sharing screen on macbook with Retina. I found this:  https://bugs.chromium.org/p/chromium/issues/detail?id=466879. ; Does this bug still on mac? Please help me out. Thank you.

0 Kudos
leo_a_
Beginner
1,842 Views

BTW, I done these tests on version 62.* and 63.* of chrome.  I also test on macbook pro 13 with retina, 2.3GHz Intel Core i5, 8GB 2133MHz LPDDR3, Intel Iris Plus Graphics 640. it behave just like macbook pro 15 which I mentioned before. 

0 Kudos
YanbinZ_Intel
Employee
1,842 Views

hi, Leo 

  It is chrome browser on MAC platform's issue.   I tried Chrome browser on Windows 10 , Linux machine, MAC OS.  All of them share 1280x720 H264 screen sharining (  I selected sharing chrome tab which playing same cartoon https://www.youtube.com/watch?v=OM6xvpzqCUA),  for Chrome browser on Windows 10 or Linux machine, received fps is about 24-25 .  Received fps for Chrome browser on MAC platform only about 3-9 .   

0 Kudos
leo_a_
Beginner
1,842 Views

Yanbin Z. (Intel) wrote:

hi, Leo 

  It is chrome browser on MAC platform's issue.   I tried Chrome browser on Windows 10 , Linux machine, MAC OS.  All of them share 1280x720 H264 screen sharining (  I selected sharing chrome tab which playing same cartoon https://www.youtube.com/watch?v=OM6xvpzqCUA),  for Chrome browser on Windows 10 or Linux machine, received fps is about 24-25 .  Received fps for Chrome browser on MAC platform only about 3-9 .   

 

Hi YanBin,

     thanks for your response, I finally figure it out. It's true that this issue caused by Mac OSX, actually caused by Retina Display. check out this link https://mikogo.zendesk.com/hc/en-us/articles/200453123-Mac-Retina-Display-screen-sharing-resolution-problems.   Thank u again.

0 Kudos
Reply