Инструменты пользователя

Инструменты сайта


cam

Это старая версия документа!


NT98562

hi3516cv100-imx322

hi3516cv300-jxf22

XM530_85X20_8M-jxf37_i2c

XM530_50X30-WG_8M

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 · Последнее изменение: (внешнее изменение)