Bandwidth Consumption

From Bay Area Mesh
Revision as of 21:48, 4 September 2022 by Kn6plv (talk | contribs) (→‎Cameras)
Jump to navigation Jump to search

AREDN does not the Internet and doesn't pretend to offer Internet speeds. No one is watching Netflix over AREDN; that's not what its for. But it is useful to get some idea of the resouces different applications will consume.

AREDN

0.25 Kbps per node

AREDN itself consumes bandwidth in order to maintain the network. This is a fairly chatty protocol which, essentially, involves ever node in the network broadcasting some information about itself across the entire network every so often. It's not much data, but it does add up.

Because every node will see this housekeeping data from every other nodes, it's easy to work out how much link bandwidth it will consumed simply by measuring the data across a given link for a given time for a given network size. and then doing some simple math.

Chat

1 Kbps per connected user

Chat is a very economic way to transfer data. The popular self-hosted chat app Mattermost estimates the average cost of a user to be 1 Kbps.

Cameras

Photos

4 MB per 4K photo

Photo sizes vary greatly due to resolution and compression. However, 4K photos are generally considered necessary if the picture is to be used for anything other than looking pretty.

Videos

600 Kbps per 720p/10fps stream

Streaming video from a camera requires a lot of bandwidth, and if this video is being stored on a remote node, this bandwidth requirement can be constant. The bandwidth cost varies greatly on size, frame rate, and compression (see this handy calculator) but a good starting point is H.264 encoded 720p at 10fps.

VoIP

57 Kbps per call

Voice over IP calls, using Asterix or similar, are a popular use case for the mesh. They use relatively little bandwidth, but are more sensitive to latency issues. There are many calculators which can help you determine your exact bandwidth requirement (e.g. here) depending on codec selection and number of simultaneous calls you need to support.

Video Calls

500 Kbps per caller

Video calls consume about 10x as much bandwidth as voice only calls. As with VoIP they're sensitive to latency issues. Technologies like WebRTC allow calls to be made peer-to-peer which avoids the need for high bandwidth, centralized servers. Better resolution requires more bandwidth.