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