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
File details
Details for the file rtspwebviewer_ffmpeg-0.0.2.tar.gz
.
File metadata
- Download URL: rtspwebviewer_ffmpeg-0.0.2.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3389ff621acd0dfd300c46516cc2c7a6544112490ff73a0729b291e80ff508c7 |
|
MD5 | 8a3518a6be64be480048d68b6628db69 |
|
BLAKE2b-256 | fac66f81d4bbccd3ad67e26b89ce7d1b3336d6d78ce0fbcb6156579f96ed3f03 |