«Кажется, что приведенная выше команда максимально загружает процессор, и в идеале мне бы хотелось, чтобы она использовала как можно меньше ресурсов при достижении приличного качества видео».
Проблема с вашей логикой состоит в том, что вы предполагаете, что внутренние настройки FFmpeg виноваты, когда они не… Ну, не совсем так, но чтобы быть простым и ясным по этому поводу, я скажу, что практически любое системное программное обеспечение Linux/Unix можно контролировать ограничить использование с помощью инструмента CPUlimit:
cpulimit - это простая программа, которая пытается ограничить использование процессором процессора (выражается в процентах, а не во времени процессора). Это полезно для управления пакетными заданиями, когда вы не хотите, чтобы они ели слишком много процессора. Он не влияет на приятное значение или другие приоритетные задачи планирования, а на реальное использование процессора. Кроме того, он может динамически и быстро адаптироваться к общей загрузке системы.
Таким образом, на самом базовом уровне вы можете запустить свою команду с помощью команды CPUlimit -l
например так:
cpulimit -l 50 ffmpeg -i https://NESTCAMURL -vf drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:text='%{localtime\:%T}':fontcolor=white@0.8:x=7:y=700 -vcodec libx264 -bsf:a aac_adtstoasc /home/owner/Downloads/Move/NEST/Livingroom/StreamLivingroom_$now.mp4"
Этот cpulimit -l 50
указывает системе использовать только 50% мощности ЦП, чтобы ваш процесс занимал в 2 раза больше времени, но также использовал только 50% ресурсов ЦП.
Но имейте в виду, что 4-ядерная система - как MacBook Air, который я использую сейчас - равняется 400% (4 x 100%). Поэтому, если бы я хотел использовать только 50% доступной емкости моей системы, мне нужно было бы запустить флаг -l
с 200% -ной емкостью, например: cpulimit -l 200
.
cpulimit -l 200 ffmpeg -i https://NESTCAMURL -vf drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:text='%{localtime\:%T}':fontcolor=white@0.8:x=7:y=700 -vcodec libx264 -bsf:a aac_adtstoasc /home/owner/Downloads/Move/NEST/Livingroom/StreamLivingroom_$now.mp4"
Для получения дополнительной информации, посмотрите на этот отличный пост в блоге.