You can use ffmpeg to directly pull frames off of a dahua 4300s at full resolution. May be a good alternative to pricey dvrs which likely cannot record at full resolution, may not work with the camera, or are prohibitevly expensive
Simple stream to file. Full resolution
ffmpeg -loglevel debug -rtsp_transport tcp -i "rtsp://admin:[email protected]:554/live" \
-c copy -map 0 foo.mp4
ffmpeg can save file in arbitrary segments at fixed intervals. In this example, we save a new file at
10 second intervals, but the value for segment_time
can be any positive integer
ffmpeg -rtsp_transport tcp -i "rtsp://admin:[email protected]:554/live" \
-f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 \
-c copy -map 0 test%d.mp4
Output files can be timestamped as well.
ffmpeg -rtsp_transport tcp -i "rtsp://admin:[email protected]:554/live" \
-f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 \
-strftime 1 -c copy -map 0 dauphine-%Y%m%d-%H%M%S.mp4
A different url is used to select the substream. Set subtype
to 0 for main hi-res stream, or
1 for low res substream. Channel looks to always be set to 1
ffmpeg -rtsp_transport tcp -i "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=1" \
-f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 \
-strftime 1 -c copy -map 0 test-%Y%m%d-%H%M%S.mp4
@willstare How are you using -t flag with strftime? I'm not able to cope with those parameters. My goal is not using segments.