Отключить hardware accelerated decoding в vlc

Обновлено: 29.06.2024

Я новичок в Raspberry Pi. Я пытаюсь разработать медиаплеер, который будет использовать библиотеку, как libvlc для декодирования. Теперь проблема в том, что я не могу запустить аппаратное ускорение .

Я много читал в Интернете, но, похоже, никто не знает.

Кто-нибудь получил это работает? Не могли бы вы поделиться, как?

Решение : я успешно скомпилировал VLC с аппаратным ускорением на Raspberry и разместил учебник в своем блоге! Для всех интересующихся вот ссылка: VLC hw on Pi, учебник

В чем конкретно вопрос? Есть ли у нас что работает? есть много аппаратного ускорения для множества различных вещей. Все кодирование / декодирование выполняется с использованием аппаратного обеспечения, также есть OpenGLES. Что вы спрашиваете об этом? Omxplayer является популярным командной строкой медиапроигрыватель на пи, и не поддерживают аппаратное ускорение. Может быть, отправной точкой? Добавление к точке @ Фрепа. OMXPlayer с открытым исходным кодом, поэтому на него стоит взглянуть Это круто. H / W ускорение - единственная причина, по которой я использую omxplayer. Похоже, я могу Одно небольшое предложение. Вы можете опубликовать решение здесь в качестве ответа;)

Если вы хотите узнать об OpenGL ES, используемом в Raspberry Pi, то здесь есть интерактивный обзор примеров.

Вы можете узнать больше об OpenGL на opengles-book

Это может быть полезно для графического интерфейса, и в данный момент вам не нужен X для их запуска (в некоторых случаях это приятно, а в других - нет)

Вам также необходимо реализовать аппаратное декодирование видео с использованием доступных (и, если есть, лицензионных, опций), о которых говорится на сайте благотворительных организаций.

Я бы порекомендовал OpenElec . Это дистрибутив медиапроигрывателя с открытым исходным кодом, отлично работающий из коробки на 256 МБ RasPi модели B, способный воспроизводить медиафайлы с USB-ключа или по сети.

На веб-сайте доступны установочные образы (и исходный код), а также имеется изображение, совместимое с RasPi, которое можно автоматически загрузить с помощью BerryBoot (загрузчик нескольких изображений). Очень прост в настройке и является отличной отправной точкой для разработки вашей собственной системы или модуля внутри самого OpenElec.


Различные тесты — например, на PCWorld — показывают приложение Windows 10 Movies & TV, предлагающее более чем удвоенное время автономной работы VLC и других видеоплееров. Это потому, что Movies & TV использует аппаратное ускорение, а VLC тоже может — вам просто нужно сначала включить его. Тогда вы сможете пользоваться расширенными функциями вашего любимого видеоплеера без батареи.

По этой же причине вы увидите рекламу новых ноутбуков и планшетов с длительным временем автономной работы при воспроизведении видео во время воспроизведения видео в интегрированном приложении Windows 10 «Кино и ТВ». Все дело в аппаратном ускорении — фильмы и ТВ по умолчанию используют аппаратное ускорение, но многие другие приложения этого не делают.

Что такое аппаратное ускорение?

Аппаратное ускорение декодирования, однако, гораздо более эффективно. Благодаря аппаратному ускорению ЦП передает работу по декодированию графическому процессору (GPU), который предназначен для ускорения декодирования (и кодирования) определенных типов видео. Короче говоря, графический процессор может выполнять определенные виды математики быстрее и с меньшими затратами электроэнергии. Это приводит к увеличению срока службы батареи, уменьшению нагрева и более плавному воспроизведению на медленных компьютерах.

Единственный улов? Аппаратное ускорение доступно только для определенных видеокодеков. В общем, когда вы копируете или загружаете видео, вы должны использовать H.264 (который довольно популярен в наши дни, поэтому его не должно быть трудно найти). Они часто имеют расширение .mp4. Аппаратное ускорение наиболее широко доступно для этого типа видео.

К сожалению, многие современные видеоплееры, включая VLC, не утруждают себя аппаратным ускорением по умолчанию, даже если они его поддерживают. Так что нужно включить его на себя.

Как включить аппаратное ускорение в VLC

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

Чтобы включить аппаратное ускорение в VLC, перейдите в Инструменты> Настройки.

Перейдите на вкладку «Input / Codecs», щелкните поле «Аппаратно-ускоренное декодирование» под Codecs и установите для него значение «Automatic».

В вики VLC перечислены видео кодеки, которые он может ускорить. В Windows H.264, MPEG-1, MPEG-2, WMV3 и VC-1 все аппаратно ускорены. На Mac только H.264 аппаратно ускоряется. Видео без аппаратного ускорения будет воспроизводиться нормально; VLC будет просто использовать ваш процессор, и вы не получите никакого улучшения заряда батареи.

Кино и ТВ — это тоже солидный видеоплеер

Если вы хотите сэкономить заряд батареи, вы всегда можете использовать приложение «Кино и ТВ», входящее в состав Windows 10. Несмотря на свое название, оно предназначено не только для воспроизведения фильмов и телевизионных эпизодов, которые вы платите за аренду или загрузку в Microsoft. Это проигрыватель видео по умолчанию в Windows 10, поэтому просто дважды щелкнув видео, вы откроете его в «Фильмах и ТВ», при условии, что вы не упустили возможность установить другой видеоплеер и установить его в качестве видеоплеера по умолчанию.

Хотя вы можете предположить, что в качестве нового приложения « Универсальная платформа Windows » Movies & TV будут работать медленнее и тяжелее, чем традиционные настольные приложения, такие как VLC, но вы ошибаетесь. Он предназначен для обеспечения надлежащего аппаратного ускорения воспроизведения для оптимального времени автономной работы на ноутбуках и планшетах, а VLC — нет.

Включить аппаратное ускорение в других проигрывателях видео

Если у вас есть другой предпочтительный видеоплеер, обязательно изучите его параметры — или выполните поиск в Интернете по названию видеоплеера и «аппаратное ускорение» — чтобы убедиться, что вы включили параметр аппаратного ускорения. Если видеоплеер не предлагает аппаратное ускорение, вам, вероятно, не следует использовать его, когда ваш ноутбук работает от батареи.

У YouTube на самом деле есть похожая проблема в Google Chrome и Mozilla Firefox. YouTube может предоставлять видео либо в стандартном видеоформате H.264, для которого многие аппаратные чипсеты могут обеспечить аппаратное ускорение, либо в собственных кодеках Google VP8 и VP9. YouTube по умолчанию передает видео VP8 и VP9 в Chrome и Firefox, но есть большая проблема с этим — аппаратное ускорение для VP8 и VP9 пока недоступно ни на одном оборудовании. Это означает, что YouTube разряжает батарею быстрее в Chrome и Firefox, чем в браузерах, которые поддерживают только H.264, таких как Microsoft Edge и Apple Safari. Чтобы YouTube использовал меньше времени автономной работы в Chrome или Firefox , вы можете установить расширение h264ify , которое заставит YouTube показывать в браузере видео H.264.

Ничего из этого на самом деле не имеет значения, если вы не используете ноутбук с питанием от батареи или очень старый, медленный компьютер, у которого недостаточно мощности процессора для плавного воспроизведения видео. Когда вы просто используете VLC или другой видеопроигрыватель на своем рабочем столе, единственным преимуществом аппаратного ускорения является снижение загрузки процессора. Это сэкономит немного энергии и позволит вашему компьютеру работать немного прохладнее, но это не имеет значения, если вы просто смотрите видео в VLC на мощном настольном ПК.

Вероятно, поэтому VLC не включил эту опцию по умолчанию. Это может вызвать проблемы на некоторых старых настольных ПК, обеспечивая при этом заметные преимущества только на ноутбуках и планшетах с батарейным питанием.

Аппаратное ускорение видео (англ.) позволяет выполнять операции кодирования и декодирования видео на стороне видеокарты, разгружая CPU и экономя энергию.

Существуют несколько реализаций этой технологии на Linux:

    (VA-API) — разработанная Intel спецификация и свободная библиотека, предоставляющая аппаратное ускорение кодирования и декодирования видео. (VDPAU) — разработанная NVIDIA свободная библиотека и API для переноса части процесса декодирования видео и его постобработки на сторону GPU. — проприетарные API аппаратного ускорения, используемые в таких поколениях GPU от NVIDIA, как Fermi, Kepler, Maxwell и Pascal.

Contents

Установка

Intel

Свободные драйверы Intel graphics поддерживают VA-API:

    Серия HD Graphics, начиная с Broadwell(

NVIDIA

Свободный драйвер Nouveau поддерживает как VA-API, так и VDPAU:

  • GeForce 8 series и новее (до GeForce GTX 750) поддерживаются libva-mesa-driver и mesa-vdpau . nouveau-fwAUR — пакет с микропрограммой, которая на сегодняшний день извлекается из бинарного драйвера NVIDIA.

Проприетарный драйвер NVIDIA поддерживает следующие технологии с помощью пакета nvidia-utils :

  • VDPAU на серии GeForce 8 и новее;
  • NVDECODE на Fermi и новее [1];
  • NVENCODE на Kepler и новее.

ATI/AMD

Свободные драйверы ATI и AMDGPU поддерживают как VA-API, так и VDPAU:

  • VA-API на Radeon HD 2000 и новее поддерживается libva-mesa-driver .
  • VDPAU на Radeon R300 и новее поддерживается mesa-vdpau .

Проприетарный драйвер AMDGPU PRO основывается на драйвере AMDGPU и поддерживает как VA-API, так и VDPAU.

Слои преобразований

Активация поддержки VA-API при её отсутствии в драйвере:

  • libva-vdpau-driver – бекенд VDPAU для VA-API.
  • libva-vdpau-driver-chromiumAUR – бекенд VDPAU для VA-API с патчем, позволяющим взаимодействовать с Chromium.
  • libva-vdpau-driver-vp9-gitAUR – экспериментальная поддержка VP9.

Активация поддержки VDPAU при её отсутствии в драйвере:

Проверка

Аппаратное ускорение, скорее всего, хорошо заработает по умолчанию. Проверить это можно описанными ниже способами.

Совет: mpv отлично подходит для проверки аппаратного ускорения на практике.

Проверка VA-API

Проверьте настройки VA-API, выполнив vainfo (предоставляется пакетом libva-utils ):

VAEntrypointVLD означает, что видеокарта способна декодировать данный формат, а VAEntrypointEncSlice означает, что данный формат можно кодировать.

В данном примере используется драйвер i965 :

Если при выполнении vainfo отображается следующая ошибка:

Проверка VDPAU

Установите пакет vdpauinfo , чтобы получить полный отчёт о конфигурации драйвера VDPAU и убедиться, что он загружен корректно:

Настройка

Названия драйверов по умолчанию угадываются системой, если остутствуют какие-либо другие настройки. Однако они часто не совпадают и не работают. Предполагаемые значения можно просмотреть, выполнив следующую команду:

В данном случае по умолчанию используется radeonsi для VA-API и VDPAU.

Примечание: Если используется GDM, выполните вместо этого следующую команду: journalctl -b | grep -iE 'vdpau | dri driver' .

Настройка VA-API

Драйвер VA-API можно переопределить с помощью переменной окружения LIBVA_DRIVER_NAME :

    :
    • Укажите i965 , если используется libva-intel-driver .
    • Укажите iHD , если используется intel-media-driver .
    • Укажите nouveau , если используется Nouveau.
    • Укажите vdpau , если используется NVIDIA.
    • Укажите radeonsi , если используется AMDGPU.
    • Укажите fglrx , если используется AMD Catalyst [archived page] .
    • Установленные драйверы находятся в /usr/lib/dri/ и используются как /usr/lib/dri/$ _drv_video.so .
    • Некоторые драйверы устанавливаются несколько раз под разными именами в целях совместимости. Их список можно увидеть, выполнив команду sha1sum /usr/lib/dri/* | sort .
    • LIBVA_DRIVERS_PATH может использоваться для переопределения расположения драйверов VA-API.
    • Начиная с версии 12.0.1, libva-mesa-driver предоставляет radeonsi вместо gallium .

    Настройка VDPAU

    Драйвер VDPAU можно переопределить с помощью переменной окружения VDPAU_DRIVER .

    Корректное название драйвера зависит от конфигурации:

    • Установленные драйверы находятся в /usr/lib/vdpau/ и используются как /usr/lib/vdpau/libvdpau_$ .so .
    • Некоторые драйверы устанавливаются несколько раз под разными именами в целях совместимости. Их список можно увидеть, выполнив команду sha1sum /usr/lib/vdpau/* .
    • В случае с конфигурацией с гибридной графикой (как с NVIDIA, так и с AMD), может потребоваться задать переменную окружения DRI_PRIME=1 . См. статью PRIME для получения более подробной информации.

    Настройка приложений

    Решение проблем

    Ошибка "Failed to open VDPAU backend"

    Как заставить VLC использовать меньше батареи, включив аппаратное ускорение

    Различные тесты, подобные этому в PCWorld, показывают приложение для Windows и видео для Windows 10, предлагающее более чем в два раза больше времени автономной работы VLC и других видеоплееров. Это связано с тем, что фильмы и телевидение используют аппаратное ускорение, и VLC тоже может быть вам нужно сначала включить его. Затем вы сможете наслаждаться расширенными функциями вашего любимого видеоплеера без удара батареи.

    Это также означает, что вы увидите новые ноутбуки и планшеты, рекламируемые с длительным временем автономной работы с видеоизображением, при воспроизведении видео в приложении Windows 7 для видео и телевидения. Это все об аппаратном ускорении. По умолчанию фильмы и телевидение используют аппаратное ускорение, но многие другие приложения этого не делают.

    Что такое аппаратное ускорение?

    Однако аппаратное ускорение декодирования намного более эффективно. С аппаратным ускорением CPU отдает работу декодирования графическому процессору (GPU), который предназначен для ускорения декодирования (и кодирования) определенных типов видео. В двух словах, графический процессор может выполнять определенные типы математики быстрее и с меньшим потреблением электроэнергии. Это приводит к увеличению времени автономной работы, меньшему нагреву и более плавному воспроизведению на медленных компьютерах.

    Единственный улов? Аппаратное ускорение доступно только для определенных видеокодеков. В общем, когда вы копируете или загружаете видео, вы должны использовать H.264 (который очень популярен в наши дни, поэтому его не сложно найти). Они часто имеют расширение .mp4. Аппаратное ускорение наиболее широко доступно для этого типа видео.

    К сожалению, многие современные видеоплееры - VLC включены - не потрудись использовать аппаратное ускорение по умолчанию, даже если они его поддерживают. Поэтому вам нужно включить его самостоятельно.

    Как включить аппаратное ускорение в VLC

    Вам обязательно нужно включить аппаратное ускорение, если вы используете VLC на ноутбуке или планшете. Единственная причина не в том, что это может привести к проблемам совместимости в некоторых системах, особенно старых компьютерах с ошибками аппаратных драйверов. Если вы столкнулись с проблемой воспроизведения видео в VLC, вы всегда можете отключить этот параметр позже.



    В вики VLC перечислены видеокодеки, которые он может ускорить. В Windows, H.264, MPEG-1, MPEG-2, WMV3 и VC-1 все аппаратные ускорены. На Mac только аппаратное ускорение H.264. Видео, которые не будут аппаратно ускорены, будет нормально воспроизводиться; VLC будет просто использовать ваш процессор, и вы не сможете улучшить время работы от батареи.

    Фильмы и телевидение - это сплошной видеопроигрыватель, хотя


    Включить аппаратное ускорение в других видеопроигрывателях

    У YouTube действительно есть аналогичная проблема в Google Chrome и Mozilla Firefox. YouTube может предоставлять видео в стандартном видеоформате H.264, который многие аппаратные чипсеты могут обеспечить аппаратное ускорение или собственные кодеки VP8 и VP9 от Google. YouTube по умолчанию использует видеоролики VP8 и VP9 для Chrome и Firefox, но есть большая проблема с этим: аппаратное ускорение для VP8 и VP9 пока недоступно на любом оборудовании. Это означает, что YouTube будет быстрее разряжать аккумулятор в Chrome и Firefox, чем в браузерах, поддерживающих только H.264, таких как Microsoft Edge и Apple Safari. Чтобы YouTube использовал меньшее время автономной работы в Chrome или Firefox, вы можете установить расширение h264ify, которое заставит YouTube обслуживать ваше видео H.264 вашего браузера.

    Ничто из этого не имеет особого значения, если вы не используете ноутбук с батарейным питанием или очень старый, медленный компьютер, который не имеет достаточной мощности процессора для плавного воспроизведения видео. Когда вы просто используете VLC или другой видеопроигрыватель на рабочем столе, единственное преимущество аппаратного ускорения - сокращение использования ЦП. Это сэкономит немного энергии и позволит вашему компьютеру работать немного круче, но неважно, смотрите ли вы только просмотр видео в VLC на мощном настольном ПК.

    Вероятно, поэтому VLC не включил эту опцию по умолчанию. Это может вызвать проблемы на некоторых старых настольных ПК, но при этом дает лишь заметную выгоду для ноутбуков и планшетов с батарейным питанием.

    Читайте также: