onvif rtsp nvr related informations

@amitmund July 24, 2026

Learning on rtsp and onvif

rtsp://192.168.31.115:5543/live/channel0

for The other company:

rtsp://admin:@<ip>:554()/ch0_0.264

frigate

https://frigate.video/

https://sourceforge.net/projects/frigate.mirror/


Continuous Recording with FFmpeg:

Use ffmpeg with the -f segment option to write the stream to disk without re-encoding (copying codecs), which minimizes CPU usage.

ffmpeg -rtsp_transport tcp -i rtsp://username:password@ip_address:port/stream \
-c copy \
-map 0 \
-f segment \
-segment_time 3600 \
-segment_format mp4 \
-segment_atclocktime 1 \
-%Y%m%dT%H%M%S.mp4   
-rtsp_transport tcp: Ensures reliable delivery over TCP.

-c copy: Copies the stream without re-encoding. 

-segment_time 3600: Creates a new file every hour (adjust as needed). 
%Y%m%dT%H%M%S.mp4: Names files with timestamps.

Q) How really the wifi camera's UUID can able to punch the hole at the P2P system of its related server. I do understand, its doing because of the pre established communication outbound request. But if I have the UUID, can I directly access the stream too, without being on the same networking using the rtsp?


  1. Saving Only on Motion Detection
Since the camera already detects motion, you have two primary approaches to save only that data:

**Use the Camera's Event Stream:** Many IP cameras offer a separate "event" or "motion" stream URL. You can trigger ffmpeg or a shell script to start recording only when this event stream is active.  This is often more efficient than processing the full video stream.

**Use Motion Detection Software:** Run Motion or ZoneMinder. These tools analyze the stream for motion changes.  When motion is detected, they can automatically trigger a recording or save a snapshot. This is ideal if you want to save only the relevant clips rather than the entire continuous feed. 


Alternative: VLC

VLC can also record RTSP streams, but it is less efficient for long-term automated recording compared to ffmpeg

vlc rtsp://username:password@ip_address:port/stream \
--sout "#transcode{vcodec=h264,acodec=mpga}:standard{access=file,mux=mp4,dst=/path/to/output.mp4}" \
--run-time 60 \
vlc://quit   
--run-time 60: Records for 60 seconds then quits (adjust duration as needed). 

--sout: Specifies the output format and destination.

For best results, use ffmpeg for continuous or event-triggered recording, and leverage your camera's native motion detection capabilities to minimize storage usage


0 Likes
17 Views
0 Comments

Filters

No filters available for this view.

Reset All