Skip to main content

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.

  1. Build Docker container:

    $ git clone https://github.com/luiscarlosgph/rtspwebviewer-ffmpeg.git
    $ cd rtspwebviewer-ffmpeg/docker
    $ docker build -t rtspwebviewer-ffmpeg .
    
  2. 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.
  3. 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.

  1. Install dependencies:

    $ sudo apt update
    $ sudo apt install ffmpeg
    
  2. Install rtspwebviewer-ffmpeg:

    $ git clone https://github.com/luiscarlosgph/rtspwebviewer-ffmpeg.git
    $ cd rtspwebviewer-ffmpeg
    $ python3 setup.py install
    
  3. 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>
    
  4. 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, use 0.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 the m3u8 file generated by ffmpeg in the previous step (required).
  5. Access the web viewer: http://<address>:<port>/<password>, e.g. for address 0.0.0.0, port 11931, 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rtspwebviewer_ffmpeg-0.0.2.tar.gz (5.1 kB view details)

Uploaded Source

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

Hashes for rtspwebviewer_ffmpeg-0.0.2.tar.gz
Algorithm Hash digest
SHA256 3389ff621acd0dfd300c46516cc2c7a6544112490ff73a0729b291e80ff508c7
MD5 8a3518a6be64be480048d68b6628db69
BLAKE2b-256 fac66f81d4bbccd3ad67e26b89ce7d1b3336d6d78ce0fbcb6156579f96ed3f03

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page