---
title: Stream a Remote Screen with WebRTC – WebRTC.ventures
description: Rafael Viscarra, one of our engineers, wrote a blog post about using WebRTC to stream a remote server screen. Here's how it works.
image: https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/Stream-a-Remote-Screen-with-WebRTC.png
---

[Skip to content](https://blog.webrtc.ventures/2019/08/stream-a-remote-screen-with-webrtc#main-content)

![WebRTC.ventures](https://blog.webrtc.ventures/hubfs/logo-main-light.svg)

- [WebRTC Services](https://webrtc.ventures/webrtc-development-services/)
  
  Show submenu for WebRTC Services 
  
    - [Assess](https://webrtc.ventures/services/assess/)
    - [Build](https://webrtc.ventures/services/build/)
    - [Integrate](https://webrtc.ventures/services/integrate/)
    - [Test](https://webrtc.ventures/services/test/)
    - [Manage](https://webrtc.ventures/services/manage/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
- Our Partners
  
  Show submenu for Our Partners 
  
    - [Amazon Chime SDK](https://webrtc.ventures/partners/amazon-chime-sdk/)
- Stories of Success
  
  Show submenu for Stories of Success 
  
    - [Remote Video Interpreting Platform with Agent Routing](https://webrtc.ventures/successes/remote-video-translation-platform/)
    - [WebRTC to SIP Gateway for ASL Interpreters](https://webrtc.ventures/successes/webrtc-to-sip-gateway-for-asl-interpreters/)
    - [Audio Listening Device to Improve Surgical Outcomes](https://webrtc.ventures/successes/audio-listening-device-to-improve-surgical-outcomes/)
    - [Albania’s First Telemedicine Platform](https://webrtc.ventures/successes/albanias-first-telemedicine-platform/)
    - [Automated Video Storytelling with the Amazon Chime SDK](https://webrtc.ventures/successes/automated-video-storytelling-with-the-amazon-chime-sdk/)
    - [Large Scale Video Conferencing](https://webrtc.ventures/successes/large-scale-video-conferencing/)
    - [Broadcasting and Webcast Control Room](https://webrtc.ventures/successes/live-video-broadcasting-and-webcast-control-room/)
- WebRTC Resources
  
  Show submenu for WebRTC Resources 
  
    - [WebRTC Live](https://webrtc.ventures/webrtc-live/)
    - [WebRTC Tips](https://www.youtube.com/playlist?list=PLayYqdnyegt3QvxX-Rt6wbFIK8727Z5Oz)
    - [WebRTC.ventures Blog](https://webrtc.ventures/blog/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
    - [WebRTC.ventures Training Program](https://webrtc.ventures/webrtc-ventures-training-program/)
- [About Us](https://webrtc.ventures/our-team/)
  
  Show submenu for About Us 
  
    - [Blog](https://webrtc.ventures/blog/)
    - [Our Team](https://webrtc.ventures/our-team/)
    - [Jobs](https://webrtc.ventures/jobs/)

Open main navigation

Close main navigation

- [WebRTC Services](https://webrtc.ventures/webrtc-development-services/)
  
  Show submenu for WebRTC Services 
  
    - [Assess](https://webrtc.ventures/services/assess/)
    - [Build](https://webrtc.ventures/services/build/)
    - [Integrate](https://webrtc.ventures/services/integrate/)
    - [Test](https://webrtc.ventures/services/test/)
    - [Manage](https://webrtc.ventures/services/manage/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
- Our Partners
  
  Show submenu for Our Partners 
  
    - [Amazon Chime SDK](https://webrtc.ventures/partners/amazon-chime-sdk/)
- Stories of Success
  
  Show submenu for Stories of Success 
  
    - [Remote Video Interpreting Platform with Agent Routing](https://webrtc.ventures/successes/remote-video-translation-platform/)
    - [WebRTC to SIP Gateway for ASL Interpreters](https://webrtc.ventures/successes/webrtc-to-sip-gateway-for-asl-interpreters/)
    - [Audio Listening Device to Improve Surgical Outcomes](https://webrtc.ventures/successes/audio-listening-device-to-improve-surgical-outcomes/)
    - [Albania’s First Telemedicine Platform](https://webrtc.ventures/successes/albanias-first-telemedicine-platform/)
    - [Automated Video Storytelling with the Amazon Chime SDK](https://webrtc.ventures/successes/automated-video-storytelling-with-the-amazon-chime-sdk/)
    - [Large Scale Video Conferencing](https://webrtc.ventures/successes/large-scale-video-conferencing/)
    - [Broadcasting and Webcast Control Room](https://webrtc.ventures/successes/live-video-broadcasting-and-webcast-control-room/)
- WebRTC Resources
  
  Show submenu for WebRTC Resources 
  
    - [WebRTC Live](https://webrtc.ventures/webrtc-live/)
    - [WebRTC Tips](https://www.youtube.com/playlist?list=PLayYqdnyegt3QvxX-Rt6wbFIK8727Z5Oz)
    - [WebRTC.ventures Blog](https://webrtc.ventures/blog/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
    - [WebRTC.ventures Training Program](https://webrtc.ventures/webrtc-ventures-training-program/)
- [About Us](https://webrtc.ventures/our-team/)
  
  Show submenu for About Us 
  
    - [Blog](https://webrtc.ventures/blog/)
    - [Our Team](https://webrtc.ventures/our-team/)
    - [Jobs](https://webrtc.ventures/jobs/)
- [Contact us](https://webrtc.ventures/contact/)

[Contact us](https://webrtc.ventures/contact/)

 Aug 27, 2019 12:00:00 AM

# Stream a Remote Screen with WebRTC

[webrtc](https://blog.webrtc.ventures/author/webrtc)

Share: [linkedin-in icon](http://www.linkedin.com/shareArticle?mini=true&url=https://blog.webrtc.ventures/2019/08/stream-a-remote-screen-with-webrtc) [X Twitter icon](https://twitter.com/intent/tweet?url=https://blog.webrtc.ventures/2019/08/stream-a-remote-screen-with-webrtc) [envelope icon](mailto:?body=https://blog.webrtc.ventures/2019/08/stream-a-remote-screen-with-webrtc)

Rafael Viscarra, one of our engineers, wrote a blog post about using WebRTC to stream a remote server screen. Here’s how it works:

1. The service starts and listens on port 9000 by default. We can change this with a flag.
2. The service exposes two endpoints: (1) `POST /session` starts a session and (2) `GET /screens` gets the available screens from the remote server.
3. Once a screen is chosen, an SDP offer is created in the browser. For simplicity, there is a workaround in place to avoid trickle ICE.
4. Once all ICE candidates have been gathered, a `POST /session` request is made with the selected screen and browser’s SDP.
5. The backend inspects the offer and checks to see if the browser supports h264 baseline 3.1. If everything goes well, the server responds with an SDP answer.
6. The browser should receive and show the video stream.

[Check out Rafael’s blog post](https://viscarra.dev/post/webrtc-remote-screen/) to learn how to replicate this and get around a known bug in Firefox. Keep an eye out for more WebRTC tips on his [blog](https://viscarra.dev) soon!

[CPaaS](https://blog.webrtc.ventures/tag/cpaas), [Managed Services](https://blog.webrtc.ventures/tag/managed-services), [Events](https://blog.webrtc.ventures/tag/events), [Video Conferencing](https://blog.webrtc.ventures/tag/video-conferencing), [Real Time Weekly](https://blog.webrtc.ventures/tag/real-time-weekly), [WebRTC Architecture](https://blog.webrtc.ventures/tag/webrtc-architecture), [Broadcasting](https://blog.webrtc.ventures/tag/broadcasting), [Medical](https://blog.webrtc.ventures/tag/medical), [WebRTC Live](https://blog.webrtc.ventures/tag/webrtc-live), [Showcase](https://blog.webrtc.ventures/tag/showcase), [Thoughts](https://blog.webrtc.ventures/tag/thoughts), [Vonage](https://blog.webrtc.ventures/tag/vonage), [Daily](https://blog.webrtc.ventures/tag/daily), [Jobs](https://blog.webrtc.ventures/tag/jobs), [Contact Centers](https://blog.webrtc.ventures/tag/contact-centers), [Telehealth](https://blog.webrtc.ventures/tag/telehealth), [Education](https://blog.webrtc.ventures/tag/education), [Technical](https://blog.webrtc.ventures/tag/technical), [General](https://blog.webrtc.ventures/tag/general), [Story of success](https://blog.webrtc.ventures/tag/story-of-success), [The WebRTC.ventures Blog](https://blog.webrtc.ventures/tag/the-webrtc-ventures-blog), [Testing](https://blog.webrtc.ventures/tag/testing), [Gaming](https://blog.webrtc.ventures/tag/gaming), [DevOps](https://blog.webrtc.ventures/tag/devops), [Symbl.ai](https://blog.webrtc.ventures/tag/symbl-ai)

## Related posts

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/WebRTC-Live-86.png?height=200&name=WebRTC-Live-86.png)](https://blog.webrtc.ventures/2023/12/watch-webrtc-live-86-webrtc-live-streaming-the-neverending-hack)

## [Watch WebRTC Live #86: WebRTC Live Streaming - The NeverEnding Hack](https://blog.webrtc.ventures/2023/12/watch-webrtc-live-86-webrtc-live-streaming-the-neverending-hack)

![Picture of Jen Oppenheimer](https://blog.webrtc.ventures/hs-fs/hubfs/Our-Team-Jen.jpg?width=50&name=Our-Team-Jen.jpg) [Jen Oppenheimer](https://blog.webrtc.ventures/author/jen-oppenheimer) 

 Dec 6, 2023 12:00:00 AM

On December 6, 2023, Arin Sime welcomed Ryan Jespersen back to the show to discuss live streaming...

[Read more](https://blog.webrtc.ventures/2023/12/watch-webrtc-live-86-webrtc-live-streaming-the-neverending-hack)

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/telehealth-ecourse-lp.png?height=200&name=telehealth-ecourse-lp.png)](https://blog.webrtc.ventures/2017/09/webrtc-ventures-announces-email-course-hipaa-telehealth-webrtc-video)

## [WebRTC Ventures Announces Email Course - HIPAA WebRTC Video in Telehealth](https://blog.webrtc.ventures/2017/09/webrtc-ventures-announces-email-course-hipaa-telehealth-webrtc-video)

[webrtc](https://blog.webrtc.ventures/author/webrtc) 

 Sep 12, 2017 12:00:00 AM

Webrtc.ventures offers free email course on the future of video in healthcare and telehealth,...

[Read more](https://blog.webrtc.ventures/2017/09/webrtc-ventures-announces-email-course-hipaa-telehealth-webrtc-video)

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/ArinSime_WebRTCBoston.png?height=200&name=ArinSime_WebRTCBoston.png)](https://blog.webrtc.ventures/2016/03/webrtc-boston-recap)

## [WebRTC Boston Recap](https://blog.webrtc.ventures/2016/03/webrtc-boston-recap)

[ArinSime](https://blog.webrtc.ventures/author/arinsime) 

 Mar 9, 2016 12:00:00 AM

I originally posted this article on RealTimeWeekly.co – sign up for free weekly news on the latest...

[Read more](https://blog.webrtc.ventures/2016/03/webrtc-boston-recap)

### WebRTC.Ventures Services

...

- Assess
- Build
- Integrate
- Test
- Deploy & Manage

### Contact Us

...

**Video should be an opportunity, not a headache.**   
 We’re here to build, integrate, assess and optimize, test, and even deploy and manage your live video application. 

[Contact us](https://blog.webrtc.ventures/2019/08/stream-a-remote-screen-with-webrtc#contact)

### WebRTC Live

...

 View [past episodes](https://blog.webrtc.ventures/webrtc-live/) of our webinar interview series about the latest webRTC use cases and technical updates. Join our mailing list to learn about upcoming episodes! 

![WebRTC Live](https://blog.webrtc.ventures/hs-fs/hubfs/Template%20Images/widged-bannet.webp?height=90&name=widged-bannet.webp)

![logo-main-light](https://blog.webrtc.ventures/hubfs/logo-main-light.svg "logo-main-light")

We’re one of the few agencies in the world dedicated to WebRTC development. This dedication and experience is why so many people trust us to help bring live video application dreams to life.

 

### Let's get started!

###### **[Contact us today](https://webrtc.ventures/contact/)**

**[info@webrtc.ventures](mailto:info@webrtc.ventures)**

<https://www.linkedin.com/company/webrtc-ventures> <https://www.youtube.com/@WebrtcVentures>

### Join our mailing list

We don't e-mail often (a few times a month max), and it will be worth it when we do! Of course, we respect your privacy and will not share your contact information.

© 2023 WebRTC.ventures, an [AgilityFeat](https://agilityfeat.com/) company / [Privacy Policy](https://webrtc.ventures/privacy-policy//)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "webrtc",
    "url" : "https://blog.webrtc.ventures/author/webrtc"
  },
  "dateModified" : "2024-04-03T18:39:06.060Z",
  "datePublished" : "2019-08-27T04:00:00.000Z",
  "headline" : "Stream a Remote Screen with WebRTC – WebRTC.ventures",
  "image" : [ "https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/Stream-a-Remote-Screen-with-WebRTC.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.webrtc.ventures/2019/08/stream-a-remote-screen-with-webrtc",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.webrtc.ventures/hubfs/logo-main-light.svg"
    }
  }
}
```