Settings / Web / Accounts / <account> / Streaming Duration Limit / "300"
in SecuritySpy
Should put a 5 minute limit on an account's ability to stream live video (without restarting the live stream).
Watching the network behaviour (via a proxy mechanism) it appears as if the stream has its network connection dropped at the 300 seconds mark, shortly thereafter to be reconnected (my guess by the browser as they are inclined to do with broken connections, using cached credentials,) and the stream is (transparently) restarted.
Whatever the actual continuation mechanism the stream effectively just continues indefinitely.
Checked against latest versions of Edge, Firefox, Safari.
Can supply detailed network data supporting this behaviour at request.
Cheers, Mark.
Comments
Hi Mark,
You are correct - the duration limit setting will cut off the stream after the time specified, but there is currently nothing to prevent the client from reconnecting and continuing to stream. Therefore this option is useful for clients that don't automatically reconnect, but not so useful for clients that do.
Perhaps we need to add a second setting for a "reconnection delay" to prevent immediate reconnection. Would this resolve the issue?
Considering "web" implies clients commonly known as browsers, this seems less of an option and more of a misnomer 🤔
IMHO it is the browser at fault to retry a GET with 200 response with no Content-Length header at connection drop. Just my AU$0.05 worth.
But all modern mainstream browsers seem to do just that.
Perhaps an AJAX style "xhr = new XMLHttpRequest() " plus "xhr.open('GET', url, true)" might be able to control the connection drop/close behaviour. There are a swag of methods and events associated with XHR objects. I've dabbled but not really my field of expertise. Might be worth investigating (because a streaming limit that doesn't...)
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
That with an alert (of some sort) noting the streaming timeout along with a [restream] button requiring manual intervention.
You're right that in this case, the frontend needs to work better with the backend to fully implement this feature for web clients. We'll see if we can add this in the next update: in these cases, the client should end the stream and display a message about why it ended, rather than automatically restart it.
Update: this stream duration limit is now enforced in the web frontend in the 6.3 update that has just been released. At the end of the stream, the browser will now not automatically reconnect; instead the viewer will get a message that the stream has ended. You can update via Settings > Registration in your current software.
awesome. thanks.
+1