Лучшие настройки H.264 в Handbrake для минимальной загрузки процессора

891
eco_bach

Фактический размер файла НЕ является проблемой, поскольку я развертываю отдельное приложение или киоск. Но утечка процессора является проблемой. Каковы оптимальные настройки экспорта H.264 для использования в ручном тормозе в этом сценарии?

-2
Запрашивать «лучшую настройку» для любого пользователя не по теме для Супер-пользователя, поскольку такие вопросы порождают объективные и предвзятые ответы. cybermonkey 7 лет назад 1
Придерживайтесь базовых данных профиля, не выбирайте ни один из более высоких уровней h.264 или высокого профиля, энтропийное кодирование CABAC может сильно истощить процесс декодирования. По сути, не включайте какие-либо необычные функции и пользуйтесь высокой пропускной способностью. Начните с «нормального» профиля и перейдите оттуда. Mokubai 7 лет назад 0

1 ответ на вопрос

0
gronostaj

You're probably doing something wrong.

Codec settings don't affect CPU load at all. No matter what settings you use, it will use entire computational power available to finish as soon as possible. Because unused resources are wasted resources - if you're going to use, say, only 50% of your CPU's power, you could just as well use half as powerful CPU.

I guess you're having a problem with other programs being unresponsive while encoding is in progress. The standard solution to this problem is juggling with priority settings. In Windows, you should have a look at scheduling priorities. You can try them by right-clicking a process in Task Manager and choosing something from the Set priority menu (just don't use Realtime, it can block a system completely). Set higher priority for your main app and lower one for background process. (This can be done programmatically too.)

In Linux process niceness plays a similar role. The lower niceness a process has, the more CPU time it is assigned. You can set higher niceness (ie. lower priority) from any user's context. Lowering niceness can be done only by root.

Or if you're using Linux and you just want to set a hard limit on CPU usage, cgroups may be the right solution for you. I'm not aware of any similar mechanisms in Windows.

Я бы предположил, что OP желает ограничить вычислительную мощность, необходимую для декодирования h.264 *. Существует множество параметров качества, которые можно включить для уменьшения необходимой полосы пропускания за счет увеличения нагрузки на процессор на стороне декодера, и не все системы имеют графический процессор, способный полностью разгрузить задачу декодирования от процессора. Также не все графические процессоры способны декодировать некоторые из более высоких уровней возможностей h.264, поэтому предпочтительным может быть «наиболее совместимый» уровень. Старый процессор или ядро ​​ARM с низким энергопотреблением может не иметь возможности декодировать высокий профиль h.264 без посторонней помощи. Mokubai 7 лет назад 1

Похожие вопросы