Skip to content

Useful bash scripts about RTSP and download records from camera #1

Closed
@Helias

Description

@Helias

I was playing with some ways to download video from the camera via RTSP and I've finally found what I want, therefore, I made some useful bash scripts ready to use.

I don't know if it is better to create a repository only with bash scripts or show it here on the Github page.

Here are my scripts:

download.sh, this will use ffmpeg to download via RTSP the video and audio from your camera saving it in the MP4 format, the name will start with the date of the day (ex. 2022-08-26--22-00-00-capture-0000.mp4) and a file will be recorded and saved every $TIME seconds.
The name of the files starts with a date to make it easier the management of the files, like removing easily all the records of a specific month, day or year.

USERNAME="admin"
PASSWORD="mypassword"
TIME=60 # seconds
IP="192.168.1.197"
PORT=554

ffmpeg -i rtsp://$USERNAME:$PASSWORD@$IP:$PORT/h264Preview_01_main \
       -c copy \
       -map 0 \
       -reset_timestamps 1 \
       -f segment \
       -segment_time $TIME \
       -strftime 1 \
       -segment_format mp4 \
       "%Y-%m-%d--%H-%M-%S--capture-%04d.mp4"

clean_records.sh, this delete all the records inside a tmp directory of the previous month.

LAST_MONTH=$(date --date='-1 month' +'%Y-%m')
rm "tmp/$LAST_MONTH-"*

Let's create a repo or a page on the github page website then? @Benehiko

Why ffmpeg?

I tried openRTSP ❌ but half of the video in the MP4 format is without audio and I don't know why.

example: openRTSP -D 1 -c -B 10000000 -b 10000000 -q -Q -F cam_eight -d 28800 -P 10 -t rtsp://"admin":"mypassword"@192.168.0.176:554

source of command and explanation: https://superuser.com/questions/766437/capture-rtsp-stream-from-ip-camera-and-store

I tried VLC ❌ but I got some issues saving the files with the audio and managing it.

example command: cvlc rtsp://admin:password@192.168.0.176:554//h264Preview_01_main --sout=file/ts:mystream.mpg

FFmpeg was the best, so I chose it. ✅

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions