Cuttlefish: WebRTC Streaming

WebRTC streaming allows users to remotely control their Cuttlefish virtual devices from their browsers, without having to install any other software in the client machine. Other advantages of WebRTC streaming are:

  • More efficient encoding than VNC
  • In-browser ADB
  • Extensible protocol (camera stream, microphone, sensor data are all possible over WebRTC)

Using WebRTC

To use WebRTC and interact with your Cuttlefish device in your browser, do the following:

  1. To launch your devices using WebRTC, add the --start_webrtc=true flag to your launch_cvd invocation.

    launch_cvd --start_webrtc=true
    
  2. To see a list of all the devices you can connect to, point your browser to <https://localhost:8443>.

Port usage

Besides TCP:8443, WebRTC uses other ports to establish a connection and run. These ports must be allowed on the firewall if connecting from a different machine than where Cuttlefish is being executed. The list of ports needed are:

  • TCP:15550..15599
  • UDP:15550..15599