bitwave-tv / bitwave

Front end for [bitwave.tv] - an open platform live video streaming service
https://bitwave.tv
GNU General Public License v3.0
142 stars 32 forks source link

Improve stream Kick / Ban API #73

Open DispatchCommit opened 4 years ago

DispatchCommit commented 4 years ago

This is more of a bitwave-media-server issues foremost, but improve the method of kicking / banning a stream such that is

  1. More stable. Lost processes mean entire server reboots are required to remove a stream
  2. More robust. Kicked streams need to have stream keys reset in order to prevent immediate re-connections. Banned streams need to have ban flags set in their profile ( temp duration / perm )
  3. More convenient. Having to pull up postman to send API requests to multiple endpoints to kill a stream is time consuming, confusing, and error prone. Especially when dealing with lost processes.

Mitigate issues by at the minimum marking the stream as offline and modifying the endpoints to a bumper in order to force clients to drop the stream immediately (maybe a designated banned / kicked bumper?)

Immediately flag account as kicked / temp banned / banned. Change or remove stream key.

Prevent user from acquiring additional stream key(s) if possible.

Integrate into either an admin control panel or directly on page - lazy-loaded and injected into pages if an admin account is detected.

DispatchCommit commented 4 years ago

More stable. Lost processes mean entire server reboots are required to remove a stream

✔ Ingestion servers now use a more stable mechanism for publishing streams that has been infinitely more reliable.

More robust. Kicked streams need to have stream keys reset in order to prevent immediate re-connections.

✔ Added in v.1.7.20 - Allows admins to kick a stream and optionally reset key during the process.

More convenient. Having to pull up postman to send API requests to multiple endpoints to kill a stream is time consuming, confusing, and error prone. Integrate into either an admin control panel or directly on page - lazy-loaded and injected into pages if an admin account is detected.

✔ Added in v1.7.20 - Adds button to interface for admins. Button is lazy loaded as to not impact normal users.

❌ Missing an official ban state for streamers still.