cam
Это старая версия документа!
ffmpeg запись из go2rtc
Stream_go2rtc rtsp://127.0.0.1:8554/cam01
stream_url=$Stream_go2rtc output_file=$MnDir$Name'/'$Year$Month$Day$Time'.mp4' duration=605 ffmpeg -hide_banner -loglevel warning -threads 2 -avoid_negative_ts make_zero -fflags +nobuffer+genpts+discardcorrupt -flags low_delay -rtsp_transport tcp -use_wallclock_as_timestamps 1 -i "$stream_url" -reset_timestamps 1 -strftime 1 -c:v copy -c:a aac -strict experimental -t "$duration" "$output_file" > /tmp/dvr/$Name'_'$M'.txt' 2>&1
cat dvr.sh
#!/bin/bash # Задаем путь к конфиг файлу go2rtc config_file="/opt/go2rtc/go2rtc.yaml" streams=$(yaml2json "$config_file" | jq -r '.streams | keys[]') # Директория для сохранения файлов base_dir="/opt/DVR" # Создаем директории по году, месяцу и дню, если они не существуют year=$(date +"%Y") month=$(date +"%m") day=$(date +"%d") for stream_name in $streams; do [ ! -d "$base_dir/$stream_name/$year/$month/$day" ] && mkdir -p "$base_dir/$stream_name/$year/$month/$day" done # Получаем текущее время в формате "час_минуты" current_time=$(date +"%H-%M") # Записываем каждый поток в отдельный файл MP4 for stream_name in $streams; do filename=$(basename "$stream_name") # Удаляем расширение из имени файла filename_no_ext="${filename%.*}" # Создаем выходной файл MP4 с текущим временем в имени output_file="$base_dir/$stream_name/$year/$month/$day/${current_time}.mp4" # Длительность записи в секундах (10 минут) duration=600 # Команда для захвата видеопотока и записи в файл ffmpeg -i "rtsp://127.0.0.1:8554/$stream_name" -c:v copy -c:a aac -strict experimental -t "$duration" "$output_file" &
cam.1714721741.txt.gz · Последнее изменение: (внешнее изменение)