This pipeline is a simple pipeline that can be used to test the compatibility of RTSP cameras with Savant. It takes an RTSP stream as input and outputs the stream to HLS. The pipeline can be used to test the compatibility of RTSP cameras with Savant.
It uses NVDEC and NVENC internally and Savant protocol. Thus, if the pipeline works, it means that Savant highly likely will work with the camera.
The resulting video is broadcast in 640x360 resolution. See the following sections to find out how to use the sample and access the stream.
The sample allows testing RTSP streams with:
- FFmpeg-based RTSP adapter (does not support RTCP Sender Reports, but potentially more cameras are supported);
- Retina-based RTSP adapter (supports RTCP Sender Reports and cross-stream synchronizations, but potentially fewer cameras are supported).
Edit .env file and set the URI variable to the RTSP URL of the camera.
Example:
URI=rtsp://hello.savant.video:8554/stream/town-centre
For FFmpeg encode login and password in the URI. For Retina RTSP use the RETINA_RTSP_CREDENTIALS variable in the .env file.
Example:
RETINA_RTSP_CREDENTIALS={"username": "admin", "password": "password"}
docker compose -f samples/rtsp_cam_compatibility_test/docker-compose-ffmpeg.yml upSee if it works: http://127.0.0.1:888/stream/test
docker compose -f samples/rtsp_cam_compatibility_test/docker-compose-retina.yml upSee if it works:
- Stream without RTCP SR from camera: http://127.0.0.1:888/stream/no-rtcp-sr/ (it will work if camera is supported, otherwise you see a stub);
- Stream with RTCP SR from camera: http://127.0.0.1:888/stream/rtcp-sr/ (it will work if camera is supported and sends RTCP SR, otherwise you see a stub).