From 7490346a335a10e5936933d7c04e6b27d4a18b32 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Sun, 9 May 2021 18:13:10 +0200 Subject: [PATCH] update readme --- README.md | 48 ++++++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 8a35ab73..8e4da7af 100644 --- a/README.md +++ b/README.md @@ -9,16 +9,20 @@ [![Release](https://img.shields.io/github/v/release/aler9/rtsp-simple-server)](https://github.com/aler9/rtsp-simple-server/releases) [![Docker Hub](https://img.shields.io/badge/docker-aler9/rtsp--simple--server-blue)](https://hub.docker.com/r/aler9/rtsp-simple-server) -_rtsp-simple-server_ is a simple, ready-to-use and zero-dependency RTSP / RTMP server and proxy, a software that allows users to publish, read and proxy live video and audio streams. RTSP is a specification that describes how to perform these operations with the help of a server, that is contacted by both publishers and readers and relays the publisher's streams to the readers. +_rtsp-simple-server_ is a simple, ready-to-use and zero-dependency RTSP / RTMP / HLS server and proxy, a software that allows users to publish, read and proxy live video and audio streams. RTSP, RTMP and HLS are independent protocols that allows to perform these operations with the help of a server, that is contacted by both publishers and readers and relays the publisher's streams to the readers; in particular: + +* RTSP is the fastest way to publish and receive streams +* RTMP allows to interact with legacy server or software (like OBS Studio) +* HLS allows to embed streams into a web page Features: -* Publish live streams with RTSP (UDP or TCP mode) or RTMP -* Read live streams with RTSP or RTMP -* Pull and serve streams from other RTSP / RTMP servers or cameras, always or on-demand (RTSP proxy) +* Publish live streams with RTSP (UDP, TCP or TLS mode) or RTMP +* Read live streams with RTSP, RTMP or HLS +* Pull and serve streams from other RTSP or RTMP servers or cameras, always or on-demand (RTSP proxy) +* Streams are automatically converted from a protocol to another (for instance, it's possible to publish with RTSP and read with HLS) * Each stream can have multiple video and audio tracks, encoded with any codec (including H264, H265, VP8, VP9, MPEG2, MP3, AAC, Opus, PCM, JPEG) * Serve multiple streams at once in separate paths -* Encrypt streams with TLS (RTSPS) * Authenticate readers and publishers * Redirect readers to other RTSP servers (load balancing) * Run custom commands when clients connect, disconnect, read or publish streams @@ -38,10 +42,10 @@ Features: * [Encrypt the configuration](#encrypt-the-configuration) * [Proxy mode](#proxy-mode) * [RTMP protocol](#rtmp-protocol) + * [HLS protocol](#hls-protocol) * [Publish from OBS Studio](#publish-from-obs-studio) * [Publish a webcam](#publish-a-webcam) * [Publish a Raspberry Pi Camera](#publish-a-raspberry-pi-camera) - * [Convert streams to HLS](#convert-streams-to-hls) * [Remuxing, re-encoding, compression](#remuxing-re-encoding-compression) * [On-demand publishing](#on-demand-publishing) * [Redirect to another server](#redirect-to-another-server) @@ -305,6 +309,16 @@ Credentials can be provided by appending to the URL the `user` and `pass` parame ffmpeg -re -stream_loop -1 -i file.ts -c copy -f flv rtmp://localhost:8554/mystream?user=myuser&pass=mypass ``` +### HLS protocol + +HLS is a media format that allows to embed live streams into web pages, inside standard `