cam
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
cam [05.05.2024 16:00] – augin | cam [05.04.2025 05:09] (текущий) – augin | ||
---|---|---|---|
Строка 11: | Строка 11: | ||
[[XM530_50X30-WG_8M]] | [[XM530_50X30-WG_8M]] | ||
- | ====== cron ====== | + | [[MSC316DM+SC4236]] |
- | <code bash> | + | |
- | cat << EOF > / | + | |
- | # record start | + | |
- | */10 * * * * root / | + | |
- | EOF | + | |
- | </ | + | |
- | ====== cat dvr.sh ====== | ||
- | |||
- | <code bash> | ||
- | #!/bin/bash | ||
- | |||
- | # Задаем путь к конфиг файлу go2rtc | ||
- | config_file="/ | ||
- | streams=$(yaml2json " | ||
- | |||
- | # Директория для сохранения файлов | ||
- | base_dir="/ | ||
- | |||
- | # Создаем директории по году, месяцу и дню, если они не существуют | ||
- | year=$(date +" | ||
- | month=$(date +" | ||
- | day=$(date +" | ||
- | |||
- | # Получаем текущее время в формате " | ||
- | current_time=$(date +" | ||
- | M=$(date +" | ||
- | # Длительность записи в секундах (10 минут) | ||
- | duration=600 | ||
- | |||
- | # Записываем каждый поток в отдельный файл MP4 | ||
- | for stream_name in $streams; do | ||
- | # создаем структуру папок | ||
- | [ ! -d " | ||
- | # Создаем выходной файл MP4 с текущим временем в имени | ||
- | output_file=" | ||
- | # Команда для захвата видеопотока и записи в файл | ||
- | 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 " | ||
- | done | ||
- | |||
- | </ | ||
- | |||
- | ====== cat cleanup.sh ====== | ||
- | <code bash> | ||
- | #!/bin/bash | ||
- | |||
- | # Set the target size for camera folders in GB | ||
- | target_size_gb=90 | ||
- | |||
- | # Directory containing camera folders | ||
- | base_dir="/ | ||
- | |||
- | # Iterate over camera folders | ||
- | for camera_dir in " | ||
- | # Get the current size of the camera folder in GB without decimal part | ||
- | size_gb=$(du -s " | ||
- | |||
- | # Calculate how much to delete to reach the target size | ||
- | space_to_free_gb=$((size_gb - target_size_gb)) | ||
- | |||
- | # Check if the current size exceeds the target size | ||
- | if (( size_gb > target_size_gb )); then | ||
- | echo " | ||
- | # Delete oldest files until the folder size is reduced to the target size | ||
- | while (( space_to_free_gb > 0 )); do | ||
- | # Delete the oldest file in the folder | ||
- | find " | ||
- | # Update the current size | ||
- | size_gb=$(du -s " | ||
- | # Calculate the remaining space to free | ||
- | space_to_free_gb=$((size_gb - target_size_gb)) | ||
- | done | ||
- | fi | ||
- | done | ||
- | </ |
cam.1714924801.txt.gz · Последнее изменение: (внешнее изменение)