Bandwidth Consumption: Difference between revisions
m (→VoIP) |
m (→AREDN) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== AREDN == |
== AREDN == |
||
− | ''' |
+ | '''250 bps per node (32 bytes per second 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. |
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. |
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 [https://mattermost.com Mattermost] estimates the average cost of a user to be 1 Kbps. |
||
== Cameras == |
== 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 [https://www.cctvcalculator.net/en/calculations/bandwidth-calculator/ this handy calculator]) but a good starting point is H.264 encoded 720p at 10fps. |
||
== VoIP == |
== VoIP == |
||
Line 16: | Line 30: | ||
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. [https://www.asteriskguru.com/tools/bandwidth_calculator.php here]) depending on codec selection and number of simultaneous calls you need to support. |
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. [https://www.asteriskguru.com/tools/bandwidth_calculator.php 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 [https://webrtc.org WebRTC] allow calls to be made peer-to-peer which avoids the need for high bandwidth, centralized servers. Better resolution requires more bandwidth. |
Latest revision as of 06:53, 15 August 2023
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
250 bps per node (32 bytes per second 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.