Какой видео кодек ставит CPU / GPU под минимальную нагрузку при декодировании?

Я заинтересован в перекодировании видео, которое я использую для использования в качестве заставки; Размер не является проблемой, но я хочу подчеркнуть процессор и видеокарту как можно меньше, пока идет декодирование видео.

Что является лучшим вариантом (-ами)?

В рассматриваемой системе Windows работает на двухъядерном 2,4 ГГц i7 с 10 ГБ оперативной памяти и выбором Intel HD Graphics 4000 и NVIDIA GeForce 620M, хотя мне будет интересен общий ответ, поскольку у меня есть и другие варианты ОС и аппаратных средств , У меня есть множество старых компьютеров на выбор.

Основным компонентом сложности является сам стандарт кодека. Как уже упоминал Стефан Зейдель, MPEG-1, вероятно, проще всего кодировать и декодировать. MPEG-2 также должен быть относительно прост в обращении. Но ваше видео будет огромным, если вы хотите достойного качества.

MPEG-4 и H.264 здесь немного сложны. Одной из наиболее важных (и широко используемых) функций здесь являются B-кадры . Здесь кадр видео может зависеть от нескольких кадров, которые были показаны ранее или могут быть показаны позже. Это означает: требуется больше вычислений, больше требуется памяти, больше доступа к диску.

Итак, если вы кодируете свое видео, обязательно отключите B-изображения. В H.264 это может быть достигнуто путем привязки к профилю базовой линии (например, в FFmpeg с -profile:v baseline ). Базовый профиль был включен для поддержки более быстрых устройств кодирования и воспроизведения с низкими возможностями обработки (такими как мобильные телефоны).

В любом случае ваш результат зависит от того, как ваша операционная система делегирует задачи декодирования. Если он просто использует CPU, придерживайтесь «простых» кодеков. Если он использует GPU, вы должны использовать H.264.

Некоторые игроки, такие как VLC, могут использовать GPU для декодирования видео, но это не гарантируется и сильно зависит от вашей ОС и видеокарты. Я рекомендую просто сделать несколько тестов с разными кодеками. Тот факт, что вы используете заставку, а не выделенный проигрыватель, также может очень сильно изменить ваши результаты, поэтому не полагайтесь на тестирование с помощью, например, VLC.

С точки зрения загрузки процессора, и, не делая много исследований по этому вопросу, я бы сказал, что MPEG1, вероятно, является хорошим выбором. Однако, если ваше аппаратное обеспечение способно аппаратно декодировать MPEG2, MPEG4, h264 или аналогичные кодеки, гораздо лучше использовать это, потому что графические чипы очень оптимизированы для их воспроизведения и используют очень мало мощности, а процессор может оставаться в основном Во время этой задачи.

Давайте будем гением компьютера.