I have been looking for a technical article that describes the difference between setting up a Live Repeater (origin > edge) configuration versus a Live RTMP Restream (as shown here).
For our purposes I think they basically do the same thing - we want to have a server in the USA where our origin server is actually in Europe. This is in order to reduce client latency to the Europe server, where ping times are often 170ms+ whereas the ping between the edge and origin is closer to 100ms. However I'm not sure which method would be more beneficial for this need.
Some questions, if you could please answer about both the Live Repeater and Restream methods:
1) When a client connects does it utilize the bandwidth on the edge server or is it more of a pass-thru to the origin server? So if we have like 1000 connections, where would we see those users connected to and bandwidth draw from? I'm imagining there is probably just 1 connection between origin and edge per stream, and the users are connecting directly to the edge. But this might not be true for the restreaming method.
2) Which method offers better durability against network latency from the edge to origin, and for our clients? For example I recall reading somewhere that Wowza will build a 8 second buffer by default, is that true? Is it possible to increase that buffer?
3) When restreaming is there any way to make sure the stream stays running by restarting it if it stops, having some form of monitoring or alerting, etc?
1) You would be using the bandwidth from the edge servers, all clients would be connected directly to the edge.
2) Both methods are done in the same way so for this they are equal
3a) You can use stream manager to start/stop each stream when using a .stream file. (this can use more bandwidth as the stream is permanently being received by the edge from the origin)
3b) If you're using the repeater method (not a .stream file) the edge will get the stream when the first client of each type connects but it will have a delayed response as the stream you're trying to play isn't actually ready because the edge had to go and get it first. (this could save you bandwidth as the streams are not being received all the time but could also cost you if its popular for multiple players as each connection type as its own connection to the origin meaning that if you permanently had 1 of each client connected this would be 5 streams rather than 1 if you were using a .stream file)
Using a .stream file is my preferred method because the bandwidth usage from origin to edge is much more predictable.