RTSP/RTMP Video Streaming protocols (HLS honorable mention)

RTSP (real-time streaming protocol) and RTMP (real-time messaging protocol) are both RTPs (real-time protocols) used for streaming audio and video content on websites, with RTSP being commonly used to create the stream from a device and sending it to the server/host, (sending it navigates from the private network, router, and firewalls to the public host / otherwise the source exists on the public web), and RTMP being commonly used to distribute or cast the stream from the host, although it can send. HLS or (HTTP live stream) ultimately delivers the video to the content via an HTTP web page. A browser can also be used to capture video from a webcam and microphone and send it to a server that can distribute the feed.

The RTMP server does not create the stream and the RTSP, which may be behind a firewall, already has considerable processing to do to create the feed.

On the Server/host

The server/host needs to have software running to support the (RTMP) Real Time Protocol, to accept a RTSP or retrieve a video feed.

Much of the time the RTMP server is only relaying the packets untouched without any processing, (it is messaging), but potentially uses lots of bandwidth. JSnode and Nginx are both able to be RTMP servers, and there are many others.

The libnginx-mod-rtmp module converts an NGINX server into an RTMP server. Node-Media-Server would be a JSnode program to create an RTMP server.

The RTMP server needs to be set up such that only the correct origin can stream content through the server ... ffmpeg can act as an RTMP server but does not check the content providers IP address or check for a username and password in the URL ... ffmpeg -f flv -i rtmp://localhost:8889/live/app -c copy -f flv -listen 1 rtmp://localhost:1935/live/app

OwnCast (streaming video) - Software Review

The Owncast streaming video on both GitHub and their site says it is fast and easy to install, and it is. The feed is supplied the same way as it is to Twitch, OBS and other programs can easily be configured to send the feed to the site. The program is finding its way into 1-click website panels, which reduces the installation time down to a minute.

On the content creators side.

Any program that can be configured and used to stream video to youtube or Twitch can be used to send the video to your own website's RTMP server.

Hussein Nasser provides some examples of how RTMPs can be configured in - Load Balance multiple RTMP Servers to Horizontally Scale Streaming (Node Media Server and HAProxy)