Если вы работаете с IP-камерами и хотите автоматизировать запись с наложением времени, экономия места на диске становится критичной. Перекодирование в H.265 (HEVC) – отличный вариант, но для этого нужен баланс между производительностью железа и энергоэффективностью. Давайте разберёмся, как выбрать подходящий мини-ПК и оптимизировать настройки FFmpeg, чтобы система работала стабильно годами.
Как выбрать железо: от процессора до энергопотребления
С камерами MJPEG 640×480 (даже четырьмя) нагрузка на CPU будет не такой высокой, как с современными HD-потоками. Но есть нюансы:
- Кодирование H.265 требует больше ресурсов, чем H.264. Например, libx265 в FFmpeg «съедает» примерно на 30-50% больше CPU, особенно если не использовать аппаратное ускорение.
- Добавление временной метки через
drawtext
– это дополнительная фильтрация. Для 4 потоков одновременно лучше иметь запас по ядрам.
Intel i3 4-го поколения (например, i3-4130T) с 2 ядрами и 4 потоками – минимально допустимый вариант. Но я бы посоветовал взять что-то вроде Intel i5-4570T (4 ядра, TDP 35 Вт) или аналогичный процессор AMD Pro A8-8600B. Почему? Потому что фоновые задачи (сетевые прерывания, запись на диск) могут создавать просадки производительности. Кстати, не забудьте проверить, поддерживает ли ваш процессор инструкции AVX2
(это ускорит кодирование в x265).
Пример теста нагрузки: запустите 4 экземпляра FFmpeg на тестовом ПК и посмотрите загрузку CPU в
htop
или Task Manager. Если общая загрузка превышает 70-80%, возможны пропуски кадров.
Тонкая настройка FFmpeg: от пресетов до фильтров
Ваша команда с пояснениями:
ffmpeg -i "http://:8080/stream/video/mjpeg?Username=admin&Password="
-map 0 -c:v libx265 -preset faster -x265-params log-level=error -vf
"drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=24:fontcolor=white:box=1:boxcolor=black@0.5:text='%{localtime\:%d/%m/%Y %H\\\:%M\\\:%S}'"
-f segment -segment_time 60 -reset_timestamps 1 -segment_format mp4 -strftime 1 "camera/frente/capture-%Y-%m-%d_%H-%M-%S.mp4"
- -preset faster: небольшое увеличение качества при почти той же скорости (экспериментируйте, зависит от CPU).
- Указан шрифт через fontfile: если не задать путь, FFmpeg может выдать ошибку или использовать дефолтный, который не поддерживает кириллицу (если вдруг понадобится).
- Добавлен -x265-params log-level=error – убирает лишние сообщения в консоли.
Важно! Если процессор не справляется, попробуйте:
- Заменить libx265 на libx264 (он легче для CPU) с параметром
-preset ultrafast -b:v 1000k -r 15
. - Уменьшить FPS через
-r 15
– для камер наблюдения 15 кадров/сек обычно достаточно.
Энергопотребление и надёжность: как не переплачивать за электричество
Мини-ПК на 4-м поколении Intel в простое потребляют около 10-15 Вт, под нагрузкой – до 35-40 Вт. Чтобы снизить расход:
- Отключите интегрированную графику в BIOS, если не используете вывод на монитор.
- Настройте управление питанием через
cpupower
(для Linux) или сбалансированную схему в Windows. - Используйте SSD вместо HDD – меньше шума и энергопотребления (даже дешёвый Kingston A400 подойдёт).
Проверьте температуру! Старые ПК часто страдают от высохшей термопасты. Установите
lm-sensors
и следите, чтобы CPU не грелся выше 70°C при длительной нагрузке.
Кстати, если вы всё же выбрали i3-4xxx и заметили подтормаживания, попробуйте распределить процессы FFmpeg по ядрам через taskset
. Например, для 4 камер:
taskset -c 0 ffmpeg ... &
taskset -c 1 ffmpeg ... &
taskset -c 2 ffmpeg ... &
taskset -c 3 ffmpeg ... &
Главное – тестируйте настройки перед постоянной эксплуатацией, и всё получится!