Start free trial

← BlogSecurity7 min read

By Pritika Bakshi, Principal Video Streaming Engineer, creekX.io

Live streaming on an air-gapped network: what has to work offline

Live video works on a network with no internet as long as every step that normally reaches out has a local replacement: installation from a bundle, licensing by a file checked on the server, web pages that load nothing from other sites, and features such as captions that run on the server itself. Encoders, the server and viewers only need to reach each other.

Installation

A normal installer downloads operating system packages, a runtime, the media server and FFmpeg. On a closed network all of that must come in a bundle carried across: the same files, each verified against a checksum before use, and an installer that contacts nothing. Upgrades work the same way with a newer bundle.

Licensing without phoning home

Online activation is the usual dependency nobody notices until the network is cut. A licence file signed by the vendor and verified on the server against a built-in public key needs no connection, at install or ever after.

The browser side

Viewers and operators use web pages, and a page that pulls a font from a font CDN, a player script from a public CDN or an analytics tag will hang or break offline. Every asset has to be served by the server itself: player, icons, fonts and QR codes.

Features that quietly need the internet

Proving it

Ask the vendor for a list of every outbound connection the software can make, then block outbound traffic at the firewall and run the whole workflow: install, go live, record, watch, caption. Anything that fails was depending on the internet.

In creekX: the offline bundle installs with --offline and contacts nothing; licence files are verified on the server; the app loads nothing from other sites; captions run on the server; and there is no telemetry. See security and install on a server.

Frequently asked questions

Can I stream video on a network with no internet?

Yes. Encoders, the server and viewers only need to reach each other. What usually breaks is installation, licence checks and web pages that load scripts or fonts from the internet.

How do I check a server makes no outbound connections?

List every connection it is designed to make, then block outbound traffic at the firewall and run your normal workflow; anything that fails was depending on the internet.

Do captions need a cloud service?

Not if speech recognition runs on the server: a local model file and program can transcribe with the network cut.

Follow the build