Web viewer for RTSP streams that relies on ffmpeg.
Project description
Description
Web server that displays an RTSP video stream using ffmpeg as backend.
Sound is not supported.
Use as a Docker container
This section explains how to use this repository with Docker.
-
Build Docker container:
$ git clone https://github.com/luiscarlosgph/rtspwebviewer-ffmpeg.git $ cd rtspwebviewer-ffmpeg/docker $ docker build -t rtspwebviewer-ffmpeg .
-
Launch Docker container:
$ docker run --name rtspwebviewer-ffmpeg --net=host -e RTSP=<rtsp_stream_address> -e PORT=<port> -e WEB_TITLE=<web_title> -e WEB_PWD=<password> rtspwebviewer-ffmpeg:latest &
Options:
RTSP
: RTSP stream address.PORT
: listening port for the web server that will play the camera video.WEB_TITLE
: the name of the website that will be displayed by your web browser.WEB_PWD
: the URL-based password to access the web player.
-
Access the web player:
http://127.0.0.1:<port>/<password>
.
Use as a standalone program
This sections explains how to use this repository without Docker, as a standalone Python program.
-
Install dependencies:
$ sudo apt update $ sudo apt install ffmpeg
-
Install
rtspwebviewer-ffmpeg
:$ git clone https://github.com/luiscarlosgph/rtspwebviewer-ffmpeg.git $ cd rtspwebviewer-ffmpeg $ python3 setup.py install
-
Run
ffmpeg
to convert the RTSP stream into HLS:$ ffmpeg -fflags nobuffer -rtsp_transport tcp -i <rtsp_stream_address> -c copy -hls_time 2 -hls_wrap 10 <path_to_m3u8_file>
-
Run the web server:
$ python3 -m rtspwebviewer_ffmpeg.run --address <listening_ip_address> --port <port> --title <web_title> --password <password> --m3u8 <path_to_m3u8_file>
Options:
--address
: Listening address, use0.0.0.0
to listen in all interfaces (required).--port
: TCP port to listen on (required).--title
: website title (required).--password
: password to append to the URL of the web server to access the web player (optional).---m3u8
: path to them3u8
file generated byffmpeg
in the previous step (required).
-
Access the web viewer:
http://<address>:<port>/<password>
, e.g. for address0.0.0.0
, port11931
, and no password, access http://127.0.0.1:11931.
Author
Luis C. Garcia-Peraza Herrera (luiscarlos.gph@gmail.com).
License
This repository is shared under an MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for rtspwebviewer_ffmpeg-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3389ff621acd0dfd300c46516cc2c7a6544112490ff73a0729b291e80ff508c7 |
|
MD5 | 8a3518a6be64be480048d68b6628db69 |
|
BLAKE2b-256 | fac66f81d4bbccd3ad67e26b89ce7d1b3336d6d78ce0fbcb6156579f96ed3f03 |