Skip to main content
Microsoft
separator
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.go2rtc-ubuntu-24-04-1ad85086-9511-4a96-884d-fb10645c42ab/image4_logolarge.png

go2rtc on Ubuntu 24.04 LTS

by cloudimg

go2rtc, an ultra low latency camera streaming gateway, on Ubuntu 24.04 LTS by cloudimg

This is a repackaged open source software product wherein additional charges apply for cloudimg support services.

go2rtc - Ultra Low Latency Camera Streaming Gateway by cloudimg

Deploy a private, self-hosted camera streaming gateway on your own Azure infrastructure in minutes - no manual installation, no shared credentials. This image delivers go2rtc 1.9.14 fully installed behind an nginx TLS reverse proxy, so a working streaming gateway answers the moment the VM boots and the whole web interface and API are protected by a credential unique to your machine.

Why This Image Instead of Manual Installation

Installing go2rtc by hand means placing the binary, writing a systemd unit, adding ffmpeg, putting it behind a TLS reverse proxy and adding authentication, because upstream go2rtc ships with its web interface and API completely open. This image eliminates that operational burden:

  • go2rtc 1.9.14 installed as a single self-contained Go binary and managed by systemd
  • Bound to loopback and served through nginx TLS on port 443 with a per VM self-signed certificate
  • Secure by default: go2rtc enforces HTTP Basic authentication on every request, including loopback, so the UI and API are never left open; only a static health endpoint is public
  • No default login: a unique username and password are generated per instance on first boot and never baked into the image
  • A demonstration test pattern stream is populated on first boot so playback works immediately; add your own cameras in one step
  • Ongoing expert support: 24/7 cloudimg engineers handle upgrades, TLS setup and camera configuration

Use Case: One Gateway for Every Camera and Player Protocol

Cameras speak RTSP, ONVIF, RTMP or USB, and browsers want low latency WebRTC or MSE. go2rtc sits in the middle: it connects to each camera over the protocol it speaks and republishes the stream over whatever the viewer needs, so a team can watch every camera in a browser, embed a low latency player in their own page, or feed streams into Home Assistant and Frigate, all within their own VNet.

Application Stack

go2rtc is a single self-contained Go binary with no database, driven by one readable configuration file. It connects to RTSP, ONVIF, RTMP, HTTP and USB sources and republishes them over WebRTC, MSE, HLS, MJPEG and RTSP, transcoding through ffmpeg on the fly when a source and a viewer speak different codecs. A built in web dashboard lets you add cameras, watch live streams and copy embed links, and a full REST API exposes the same control for automation. In this image go2rtc binds the web UI and API to loopback only and nginx is the sole public listener, terminating TLS and upgrading the WebSocket used for browser playback; the RTSP restream server is on port 8554 and WebRTC media on port 8555.

Secure By Default

The image ships with no usable credential. Upstream go2rtc has no authentication at all, so this image binds go2rtc to the local host and sets its local authentication mode so HTTP Basic authentication is enforced on every request, including the loopback requests the proxy makes. On first boot a unique username and password are generated, written once to a root only file and rendered into the configuration, alongside a per instance self-signed certificate. Restrict the ports to trusted networks and install a certificate from a trusted authority before production.

Getting Started

1. Launch the image on your chosen Azure VM size 2. Read your per instance username and password from the root only file /root/go2rtc-credentials.txt 3. Browse to the VM public IP over HTTPS and sign in to see the demonstration stream playing 4. Open the add source page and paste your camera RTSP or ONVIF address to add your first camera

Licensing and Pricing

go2rtc is licensed under the MIT License and is free; there is no per-seat fee. The cloudimg charge of 0.04 US dollars per vCPU hour covers packaging, security patching, image maintenance, and 24/7 expert support. Restrict the streaming ports to trusted networks and install a trusted TLS certificate before production.

cloudimg Support

24/7 technical support by email covers deployment, upgrades, TLS setup, and camera configuration. Critical issues receive a one-hour average response time.

go2rtc is a trademark of its respective owner. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

At a glance

https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.go2rtc-ubuntu-24-04-1ad85086-9511-4a96-884d-fb10645c42ab/image0_screenshot01.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.go2rtc-ubuntu-24-04-1ad85086-9511-4a96-884d-fb10645c42ab/image3_screenshot02.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.go2rtc-ubuntu-24-04-1ad85086-9511-4a96-884d-fb10645c42ab/image1_screenshot03.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.go2rtc-ubuntu-24-04-1ad85086-9511-4a96-884d-fb10645c42ab/image6_screenshot04.png
English (United States)
Your Privacy Choices Opt-Out Icon Your Privacy Choices
Consumer Health Privacy Sitemap Contact Us Privacy & Cookies Terms of Use Trademarks About our ads Manage cookies