Аппаратный кодек не поддерживается
Обновлено: 21.11.2024
Jellyfin поддерживает аппаратное ускорение (HWA) кодирования/декодирования видео с помощью FFMpeg. FFMpeg и Jellyfin могут поддерживать несколько реализаций аппаратного ускорения, таких как Intel Quicksync (QSV), AMD AMF, nVidia NVENC/NVDEC, OpenMax OMX и MediaCodec, через API ускорения видео.
VA-API — это API ускорения видео, который использует libva для взаимодействия с локальными драйверами для предоставления HWA. QSV использует модифицированную (разветвленную) версию VA-API и связывает ее с libmfx и их проприетарными драйверами (список поддерживаемых процессоров для QSV).
ОС | Рекомендуемое аппаратное ускорение | |||||
---|---|---|---|---|---|---|
Linux | < td>QSV, NVENC, AMF, VA-API||||||
Windows | QSV, NVENC, AMF | |||||
VideoToolbox | ||||||
RPi | V4L2, OMX (устарело) |
Поставщик | Поддерживаемое аппаратное ускорение |
---|---|
NVIDIA | < td>NVENC|
AMD | AMF, VA-API |
Intel | < td>QSV, VA-API|
Apple | VideoToolbox |
RPi | < td>V4L2, OMX (устарело)
Включение аппаратного ускорения
Параметры аппаратного ускорения можно найти на панели администратора в разделе «Транскодирование» на вкладке «Воспроизведение». Выберите допустимый параметр аппаратного ускорения в раскрывающемся меню, укажите устройство, если применимо, и установите флажок Включить аппаратное кодирование, чтобы включить как кодирование, так и декодирование, если ваше оборудование поддерживает это.
Аппаратное ускорение доступно сразу для воспроизведения мультимедиа. Перезагрузка сервера не требуется.
В Linux вы можете проверить доступный графический процессор, используя:
Видео H.264/AVC 10 бит
Аппаратное декодирование 10-битного H.264, также известного как профильное видео High10, не поддерживается ни одним графическим процессором Intel, AMD или NVIDIA.
Пожалуйста, подумайте об обновлении этих видео до 10-битного профиля HEVC, также известного как Main10, если вы хотите снизить нагрузку на ЦП во время транскодирования.
iGPU Intel Gen9 и Gen11+
Прошивка Intel Guc/Huc должна быть включена для дополнительного кодирования с низким энергопотреблением (до поколения 11 поддерживается только кодирование с низким энергопотреблением H.264).
Предупреждение
Для чипов Jasper Lake и Elkhart Lake (например, N5095, N6005 и J6412) необходимо включить кодирование с низким энергопотреблением. Поддержка прошивки linux не включена в Ubuntu 20.04.3 LTS. Любая версия Ubuntu 21.10 включает необходимые драйверы.
Поддерживаемые методы ускорения
Важно
В Jellyfin 10.8 доступна полная фильтрация с аппаратным ускорением (масштабирование, деинтерлейсинг, тональное преобразование и прожигание субтитров) на оборудовании Intel, AMD и NVIDIA.
Требуется jellyfin-ffmpeg версии 4.4.1-2 или выше, использование более старой или оригинальной версии FFmpeg может привести к отключению некоторых улучшений аппаратной фильтрации.
NVIDIA NVENC
Минимальная требуемая версия драйвера начиная с Jellyfin 10.8:
Не все карты были протестированы.
Если вам нужно более трех параллельных потоков транскодирования на потребительской (не Quadro) карте NVIDIA, вы можете использовать это исправление для снятия ограничения. Патч рекомендуется для Linux и Windows, но в будущем он может выйти из строя, поэтому перед его применением проверьте версии совместимых драйверов.
В Linux используйте nvidia-smi для проверки версии драйвера и карты графического процессора.
Полезные ссылки:
VA-API
Только Intel iGPU и AMD GPU.
Список поддерживаемых кодеков для VA-API можно найти на вики Archlinux.
Предупреждение
Начиная с Jellyfin 10.8, официальный образ Docker использует Debian 11, который имеет совместимую версию Mesa для декодирования HEVC AMD GPU.
Более ранние образы не предоставляют совместимую версию Mesa.
АМД АМФ
AMF доступен в Windows и Linux.
Предупреждение
Начиная с Jellyfin 10.8, полная аппаратная фильтрация на основе OpenCL в AMF поддерживается в Windows 10 и более поздних версиях.
AMD не реализовала аппаратный декодер и масштабатор на базе Vulkan в ffmpeg, поэтому скорость декодирования в Linux может отличаться от ожидаемой.
При использовании AMF в Linux требуется драйвер с закрытым исходным кодом amdgpu-pro.
Большинство процессоров Zen не имеют встроенной графики. Вам понадобится выделенный графический процессор (dGPU) или процессор Zen со встроенной графикой для аппаратного ускорения. Если ваш ЦП Zen имеет суффикс G или GE в названии модели, у вас есть встроенная графика.
Быстрая синхронизация Intel
Intel QuickSync (QSV) доступен для Linux и в виде гибридного решения DXVA2/D3D11VA для декодирования и библиотеки libmfx для кодирования в Windows.
Важно
Чтобы использовать QSV в Windows, не устанавливайте Jellyfin в качестве системной службы.
Важно
Чтобы использовать QSV в Linux с новейшими iGPU Intel, для полного аппаратного ускорения требуется несвободный драйвер носителя Intel. Если вы используете jellyfin-ffmpeg версии 4.4.1-2 или выше он включен, и вам не нужно устанавливать его отдельно.
Полезные ссылки:
Известные проблемы:
Если ваш сервер Jellyfin не поддерживает аппаратное ускорение, но у вас есть другой компьютер, который его поддерживает, вы можете использовать rffmpeg для делегирования транскодирования другому компьютеру. В настоящее время только для Linux и требует SSH между машинами, а также общего хранилища как для мультимедиа, так и для каталога данных Jellyfin.
Общие настройки
Каждый тип аппаратного ускорения, а также каждый тип установки Jellyfin имеют различные предпосылки для включения аппаратного ускорения. Всегда лучше обращаться к документации FFMpeg по выбранному вами типу ускорения для получения последней информации.
Аппаратное ускорение в Docker (Linux)
Это общие инструкции, более подробные инструкции можно найти в следующих разделах!
Чтобы использовать аппаратное ускорение в Docker, устройства должны быть переданы в контейнер. Чтобы узнать, какие видеоустройства доступны, вы можете запустить sudo lshw -c video или vainfo на своем компьютере. VA-API может потребовать, чтобы группа рендеринга была добавлена в разрешения докера. Идентификатор группы рендеринга можно найти в /etc/group, например render:x:122: .
Вы можете использовать docker run для запуска сервера с необходимыми разрешениями и устройствами. Пример команды показан ниже.
Кроме того, вы можете использовать docker-compose с файлом конфигурации, чтобы вам не приходилось запускать длинную команду каждый раз при перезапуске сервера.
Аппаратное ускорение NVIDIA в Docker (Linux)
Чтобы добиться аппаратного ускорения с помощью Docker, необходимо выполнить несколько шагов.
- GNU/Linux x86_64 с версией ядра > 3.10
- Докер >= 19.03
- Графический процессор NVIDIA с архитектурой > Fermi (2.1)
- Необходимо установить драйверы NVIDIA >= 361.93
Следуйте инструкциям по ссылке выше, чтобы установить NVIDIA Container Toolkit для вашего дистрибутива Linux.
Запустите контейнер, добавив этот параметр:
Полная команда запуска будет выглядеть следующим образом:
Или с помощью docker-compose >1.28 добавьте раздел развертывания в свой сервис Jellyfin:
При работе со следующей опцией необходимо выполнить некоторые специальные действия:
Возможно, вам потребуется добавить этого пользователя в группу видео на вашем хост-компьютере:
После запуска контейнера вы можете снова подтвердить доступ к ресурсам хоста:
Если вы получили информацию о драйвере, все в порядке, но если вы получили сообщение об ошибке, например, не удалось найти библиотеку libnvidia-ml.so в вашей системе, вам нужно выполнить следующую команду:
После этого убедитесь, что драйвер NVIDIA загружается правильно.
В официальном образе Jellyfin Docker уже заданы необходимые переменные среды, чтобы разрешить доступ к графическим процессорам через среду выполнения контейнера NVIDIA. Если вы создаете свой собственный образ, не забудьте включить NVIDIA_DRIVER_CAPABILITIES=all и NVIDIA_VISIBLE_DEVICES=all в среду вашего контейнера.
Аппаратное ускорение VA-API в Debian/Ubuntu
Настройка VA-API в Debian/Ubuntu требует дополнительной настройки, чтобы обеспечить правильные разрешения.
Настройте VA-API для своей системы, следуя документации вашей ОС и/или поставщика. Убедитесь, что устройство рендеринга теперь присутствует в /dev/dri , и обратите внимание на разрешения и группу, доступные для записи в него, в данном случае render :
В некоторых версиях группа может быть видео или вводом вместо рендеринга.
Убедитесь, что установлен jellyfin-ffmpeg версии 4.4.1-2 или выше.
Проверьте вывод /usr/lib/jellyfin-ffmpeg/vainfo .
Добавьте пользователя службы Jellyfin в указанную выше группу, чтобы разрешить процессу Jellyfin FFMpeg доступ к устройству, и перезапустите Jellyfin.
Настройте ускорение VA-API на странице транскодирования панели администратора. Введите указанное выше устройство /dev/dri/renderD128 в качестве значения устройства VA API.
Посмотрите фильм и убедитесь, что перекодирование выполняется, просмотрев журналы ffmpeg-transcode-*.txt в папке /var/log/jellyfin и используя radeontop (только AMD) или аналогичные инструменты.
Аппаратное ускорение Intel QuickSync (QSV) в Debian/Ubuntu
QSV основан на устройстве VA-API в Linux, поэтому сначала подтвердите, завершили ли вы настройку VA-API.
Убедитесь, что установлен jellyfin-ffmpeg версии 4.4.1-2 или выше (он поставляет текущую версию intel-media-driver (iHD), которая требуется для QSV).
Убедитесь, что драйвер iHD правильно загружен и распознает ваш iGPU.
Настройте ускорение QSV на странице Transcoding панели администратора.
Посмотрите фильм и убедитесь, что перекодирование происходит, просмотрев журналы ffmpeg-transcode-*.txt в каталоге /var/log/jellyfin и используя intel_gpu_top (можно установить с пакетом intel-gpu-tools). р>
Аппаратное ускорение VA-API и QSV в контейнерах LXC или LXD
Предупреждение
Это было протестировано с LXC 3.0 и может работать или не работать со старыми версиями.
Выполните описанные выше шаги, чтобы добавить пользователя jellyfin в группу видео или рендеринга, в зависимости от ваших обстоятельств.
Установите необходимые драйверы в ОС хоста
Добавьте свой графический процессор в контейнер.
Убедитесь, что в контейнере есть необходимые устройства:
Настройте Jellyfin для использования ускорения видео и направьте его на нужное устройство, если параметр по умолчанию неверен.
Попробуйте воспроизвести видео, которое требует перекодирования, и запустите следующее, вы должны получить результат.
Вы также можете попробовать воспроизвести видео, требующее перекодирования, и если оно воспроизводится, все в порядке.
Аппаратное ускорение VA-API и QSV на LXC на Proxmox
Важно
Jellyfin должен работать в привилегированном контейнере LXC. Вы можете преобразовать существующий непривилегированный контейнер в привилегированный, сделав резервную копию и восстановив его как привилегированный.
Установите необходимые драйверы на хосте Proxmox
Добавьте свой графический процессор в контейнер, отредактировав /etc/pve/lxc/.conf (вам может потребоваться изменить GID в приведенных ниже примерах, чтобы они соответствовали используемым на вашем хосте).
Предупреждение
Это было протестировано на Proxmox VE 7.1 — в предыдущих версиях вам может потребоваться изменить cgroup2 на cgroup .
Завершите работу и запустите контейнер.
Установите необходимые драйверы в свой контейнер.
Добавьте пользователя jellyfin в группы video , render и/или input в зависимости от того, кому принадлежит устройство внутри контейнера.
Настройте Jellyfin для использования аппаратного ускорения и направьте его на нужное устройство, если параметр по умолчанию неверен.
Попробуйте воспроизвести видео, которое требует перекодирования, и запустите следующее, вы должны получить результат.
Вы также можете попробовать воспроизвести видео, требующее перекодирования, и если оно воспроизводится, все в порядке.
Кодирование AMD AMF в Ubuntu 18.04 или 20.04 LTS
Установите графический драйвер с закрытым исходным кодом amdgpu-pro, следуя инструкциям по установке.
Затем установите amf-amdgpu-pro .
Проверьте, содержит ли jellyfin-ffmpeg кодировщик h264_amf:
Если это недоступно, обновите jellyfin-ffmpeg до последней версии и повторите попытку.
Выберите ускорение видео AMD AMF в Jellyfin и установите флажок «Включить аппаратное кодирование».
Посмотрите фильм, а затем убедитесь, что кодировщик h264_amf работает, просмотрев журналы транскодирования ffmpeg-transcode-*.txt в /var/log/jellyfin и используя radeontop или аналогичные инструменты.
Кодировка AMD AMF в Arch Linux
AMD не предоставляет официальную поддержку драйвера amdgpu-pro для Arch Linux, но, к счастью, в пользовательском репозитории archlinux имеется сторонний упакованный установщик amdgpu-pro.
Войдите в эту папку, создайте установочный пакет и установите его.
Кодирование OpenMAX OMX на Raspberry Pi 3 и 4
Предупреждение
Поскольку аппаратное ускорение Jellyfin 10.8 на Raspbetty Pi через OpenMAX OMX устарело и больше не разрабатывается, поскольку Raspberry Pi в настоящее время переходит на аппаратное ускорение на основе V4L2.
Добавьте пользователя службы Jellyfin в группу видео, чтобы разрешить процессу Jellyfin FFMpeg доступ к кодировщику, и перезапустите Jellyfin.
Если вы используете Raspberry Pi 4, вам может потребоваться запустить sudo rpi-update для обновления ядра и прошивки.
Выберите OpenMAX OMX в качестве аппаратного ускорения на вкладке Transcoding панели управления сервером.
Изменить объем памяти, выделяемой графическому процессору. Графический процессор не может одновременно выполнять ускоренное декодирование и кодирование.
Для RPi4 добавьте строку gpu_mem=320 Подробнее здесь
Для RPi3 добавьте строку gpu_mem=256
Вы можете установить любое значение, но для 4K HEVC рекомендуется 320.
Проверьте разделение памяти CPU и GPU:
Контролировать температуру и тактовую частоту процессора:
Предупреждение
В настоящее время RPi4 не поддерживает декодирование HWA HEVC, поддерживается только кодирование и декодирование H.264. Требуется активное охлаждение, пассивного охлаждения недостаточно для транскодирования. HWA работает только на ОС Raspbian. Для докера работает только образ linuxserver.
Дополнительные советы см. здесь.
Важно
Что касается этой проблемы, аппаратное ускорение еще не поддерживается в 64-разрядной ОС Raspberry Pi (и, вероятно, в производных сборках, например DietPi), поскольку некоторые библиотеки в 32-разрядной сборке по-прежнему отсутствуют в 64-разрядной сборке.
Отображение тонов OpenCL / CUDA / Intel VPP
Аппаратное тональное отображение с помощью NVIDIA NVENC, AMD AMF, Intel QSV и VA-API выполняется через OpenCL или CUDA.
Тональная компрессия VPP на основе оборудования Intel поддерживается в Intel QSV и VA-API в Linux. VPP предпочтительнее, когда на Intel отмечены оба варианта тонального отображения.
ОС/платформа | NVIDIA NVENC | AMD AMF | Intel QSV | Intel VA-API | AMD VA-API | Программное обеспечение |
---|---|---|---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | WIP |
Windows | ✔️ | ✔️ | ✔️ | Н/Д | Н/ A | WIP |
Docker | ✔️ | непроверенный | ✔️ td> | ✔️ | не проверено | WIP |
Для тональной компрессии в Windows с Intel QSV и AMD AMF требуется Windows 10 или более поздняя версия.
Важно
Перед настройкой тональной компрессии с помощью этих инструкций убедитесь, что аппаратное ускорение правильно настроено.
В Windows: установите последние версии драйверов NVIDIA, AMD или Intel.
В Linux или Docker:
-
Для карт NVIDIA дополнительная настройка не требуется.
Для карт AMD установите amdgpu-pro с аргументами opencl (дополнительные сведения см. в разделе Настройка кодирования AMD AMF в Ubuntu 18.04 или 20.04 LTS):
Для Intel iGPU у вас есть два типа методов отображения тонов: OpenCL и VPP. Последний не поддерживает параметры тонкой настройки.
OpenCL: следуйте инструкциям intel-compute-runtime. Если вы используете официальный образ Docker или образ от linuxserver, этот шаг можно пропустить.
VPP: убедитесь, что установлен jellyfin-ffmpeg 4.4.1-2 или более поздней версии. Предыдущие версии не поставляли драйвер intel-media-driver, поэтому его требовалось устанавливать вручную.
- При работе в докере для распознавания устройства OpenCL требуется флаг привилегий. Вы можете сделать это, добавив --привилегированный к вашей команде docker или привилегированный: true к вашему файлу компоновки docker.
Предупреждение
Отображение тонов в Intel VA-API и QSV требует iGPU с поддержкой 10-битного декодирования, например i3-7100 или J4105.
Важно
Не используйте пакет intel-opencl-icd из репозитория вашего дистрибутива, так как они не были собраны с включенным параметром RELEASE_WITH_REGKEYS, который требуется для флагов взаимодействия пикселей P010.
Отладка: проверьте состояние устройства OpenCL. Если все пойдет хорошо, вы увидите соответствующее имя поставщика.
Использовать clinfo . Перед использованием установите clinfo. sudo apt install -y clinfo в Debian/Ubuntu или sudo pacman -Sy clinfo в Arch. Затем sudo clinfo .
Используйте jellyfin-ffmpeg : /usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device opencl
Проверка перекодирования
Чтобы убедиться, что вы используете правильные библиотеки, запустите эту команду для журнала транскодирования. Его можно найти на панели администратора > Журналы и /var/log/jellyfin, если он установлен через репозиторий apt.
Это дало следующие результаты.
MX Player Pro — это старое и проверенное приложение. Для него постоянно выходят обновления и отдельные кодеки, которые необходимо устанавливать из Play Market. MX Player имеет огромное количество настроек и функций, таких как аппаратное и программное декодирование, многоядерное декодирование (для лучшей производительности), масштабирование видео пальцами, умная блокировка экрана, а также поддержка различных форматов субтитров и возможность выбора аудиопоток.
Оптимальным выбором декодера MX Player для большинства устройств Android является аппаратный декодер. Включается так:
- Перейти к настройкам приложения.
- Откройте раздел "Декодер".
- Выберите «Аппаратный декодер» и нажмите «Установить аппаратный декодер в качестве аппаратного по умолчанию для локальных файлов».
Вы также можете переключить декодер во время воспроизведения видео, нажав соответствующую кнопку в верхней части экрана и выбрав нужный декодер в появившемся окне.
Если вам все же необходимо установить дополнительные кодеки, прокрутите меню настроек декодера до конца и обратите внимание на рекомендуемую версию кодека. Например, ARMv7 НЕОН. Далее введите название кодека в Play Market и установите, затем перезапустите приложение.
Также существует бесплатная версия MX Player. Он содержит рекламу, но реклама не показывается во время воспроизведения видео.
MX-плеер
Еще один легкий и простой в использовании мультимедийный проигрыватель для Android. Как и VLC, MX Player поддерживает несколько типов файлов (.avi, mpeg, mp4, wmv, divx, xvid и другие), а также различные форматы субтитров, включая .txt.sub.srt.idx. В этом приложении есть элементы управления жестами, такие как пролистывание снизу для затемнения, прокрутка назад и вперед для перемещения текста субтитров и многое другое. Небольшой недостаток в том, что интерфейс приложения довольно прост, но для некоторых это может быть плюсом. В бесплатной версии MX Player также есть рекламные блоки, но если вы можете с этим смириться, это отличный проигрыватель, поддерживающий большинство известных вам форматов видеофайлов. Если нет, то версия без рекламы доступна за 5,99.
MX Player имеет минималистичный интерфейс и поддержку нескольких субтитров.
Какой ваш любимый видеоплеер? Дайте нам знать в разделе Комментарии и отзывы владельцев.
Как воспроизвести «неподдерживаемые медиафайлы» на смартфоне?
Как упоминалось выше, одна из наиболее вероятных причин, по которой вы видите сообщение "не удается открыть файл", "неподдерживаемый аудиокодек" или "неподдерживаемая ошибка видеофайла", заключается в том, что текущий медиаплеер не поддерживает кодек вашего видеофайла. Самое простое решение — переключиться с видеоплеера по умолчанию на новый. Вот два наиболее универсальных проигрывателя для Android, которые мы рекомендуем:
Что такое контейнер
Контейнер означает понятие «формат файла». Он не подлежит хранению, а используется для упаковки, транспортировки и отображения данных, закодированных с помощью определенного кодека.
Медиаконтейнер определяет размер и структуру данных, но не используемый алгоритм кодирования. Он же является частью файла, определяющего тип объекта, то есть, например, в файле film.mp4 контейнером будет MP4. Кроме того, в случае, когда файл представляет собой фильм, в медиаконтейнере хранится не только аудио- и видеопоток, но и теги, обеспечивающие синхронизацию аудио и видео.
Итак, благодаря хранению данных контейнером и информации о том, что именно будет храниться в файле, программы идентифицируют и считывают поток, но если информации недостаточно или программа не в состоянии декодировать данные записанный внутри медиаконтейнера, файл не может быть воспроизведен.
Что делать, если в MX Player нет звука?
Если при воспроизведении видео вы видите сообщение «Этот аудиоформат (AC3) не поддерживается», вам необходимо загрузить необходимый кодек с сайта разработчиков. Дело в том, что MX Player лишился лицензии на форматы AC3 и DTS, и теперь не может размещать соответствующие кодеки в Play Market. Посмотрите в настройках приложения, какой кодек вам нужен, скачайте с сайта и укажите, после чего перезапустите приложение.
Как избавиться от сообщения об ошибке «Неподдерживаемый аудиокодек»
Нет ничего более неприятного, чем попытка воспроизвести видео на телефоне Android, а вместо этого на экране появляется сообщение "Не удается открыть файл" или "Неподдерживаемый аудиокодек".
Как исправить ошибку неподдерживаемого видео? Читайте дальше, и мы найдем для вас решение!
Прежде чем мы углубимся в детали, стоит объяснить, почему и как возникает эта проблема. Два ключевых аспекта. кодеки и контейнеры.
- Что такое кодек?
- Что такое контейнер?
- Почему видео не воспроизводится?
- Как воспроизвести «неподдерживаемый медиафайл» на смартфоне?
- VLC для Android
- MX-плеер
Android не воспроизводит видео
Android не воспроизводит видео. Давайте рассмотрим довольно распространенную проблему: что делать, если видео не воспроизводится на Android? Некоторые устройства Android по умолчанию поддерживают самые популярные форматы видео, в том числе Flash. Но иногда для воспроизведения видео требуется установка дополнительных плагинов и медиаплееров.
Медиаплеер для Android: VLC для Android
VLC — один из самых «всеядных» плееров, он популярен благодаря простоте работы и поддержке практически всех форматов видео и аудио, субтитров и возможности воспроизведения потокового видео. Никаких отдельных кодеков устанавливать не нужно, все уже встроено в саму программу. Есть интересная функция. воспроизведение в окне. Сам плеер сворачивается, а видео воспроизводится на рабочем столе в отдельном окне. Приложение бесплатное и не содержит рекламы. Это достойная замена стандартному плееру, если не воспроизводится видео на Android.
Что такое кодек?
Кодек на самом деле является аббревиатурой от фразы "кодировать-декодировать". Название говорит само за себя: это метод кодирования и декодирования данных, в частности сжатых данных. Кодеки имеют дело (в данном случае видеоданные) и либо сжимаются, чтобы их можно было отправить или сохранить, либо распаковываются, чтобы их можно было просмотреть на дисплее устройства.
Однако кодеки отличаются от таких понятий, как «контейнер» и «формат файла». Например, AVI часто ошибочно принимают за кодек, хотя в данном случае это просто тип видеофайла.
Что такое контейнер?
Контейнер – это формат файла. Он занимается упаковкой, транспортировкой и воспроизведением, а кодек подготавливает файл ко всем этим действиям. Контейнеры также имеют дело с синхронизацией аудио и видео. Контейнер является частью файла, который определяет тип файла. Другими словами. если у вас есть файл matrix.MP4, то контейнер MP4.
Устранение проблем с неподдерживаемым аудио-видео кодеком на устройстве Android
Почему мое видео не воспроизводится?
В большинстве случаев причиной появления сообщения об ошибке при попытке воспроизвести видеофайл на устройстве Android является то, что кодек вашего медиафайла отличается от кодека видеопроигрывателя или проигрыватель не поддерживает кодек. Возможно, вы решили, что ваш медиаплеер самовольно решает, что проигрывать, а что нет, но на самом деле файлы в одном контейнере содержат разные кодеки.
Почему видео не воспроизводится?
В большинстве случаев причиной появления сообщения об ошибке при попытке воспроизвести видеофайл на устройстве Android является то, что кодек медиафайла не поддерживается вашим медиаплеером. Другая возможная причина — не поддерживается аудиокодек. Вы можете подумать, что ваш медиаплеер произвольно выбирает воспроизведение и не воспроизведение файлов одного типа, но контейнер может содержать несколько кодеков, которые ваш телефон может не поддерживать.
MX-плеер
Еще один легкий и простой в использовании мультимедийный проигрыватель для Android. Как и VLC, MX Player поддерживает несколько типов файлов (.avi, mpeg, mp4, wmv, divx, xvid и другие), а также различные форматы субтитров, включая .txt.sub.srt.idx. В этом приложении есть элементы управления жестами, такие как пролистывание снизу для затемнения, прокрутка назад и вперед для перемещения текста субтитров и многое другое. Небольшой недостаток в том, что интерфейс приложения довольно прост, но для некоторых это может быть плюсом. В бесплатной версии MX Player также есть рекламные блоки, но если вы можете с этим смириться, это отличный проигрыватель, поддерживающий большинство известных вам форматов видеофайлов. Если нет, то версия без рекламы доступна за 5,99.
MX Player имеет минималистичный интерфейс и поддерживает несколько субтитров.
Какой ваш любимый видеоплеер? Дайте нам знать в разделе Комментарии и отзывы владельцев.
Нет ничего более неприятного, чем загрузить видео- или аудиофайл на телефон, запустить его в проигрывателе Android и получить сообщение об ошибке «невозможно открыть файл» или «неподдерживаемый аудиокодек» при попытке его воспроизведения. Так как же решить ошибку неподдерживаемого аудио-видеофайла на Android? Читайте дальше, мы расскажем вам наше решение!
Прежде чем мы углубимся в детали, стоит объяснить, почему и как возникает эта ошибка. Когда, казалось бы, один и тот же формат видеофайла не поддерживается, а другой воспроизводится отлично! Для этого нужно понимать, что такое кодек и контейнеры.
Фильм не открывается, звук есть, а видео нет, и есть другие проблемы с отображением видео (скачанных фильмов) на Android-смартфонах и планшетах
Еще одна проблема, с которой рискует столкнуться новый владелец Android-устройства, — это невозможность воспроизведения видео в некоторых форматах. AVI (с некоторыми кодеками), MKV, FLV, MP4 (особенно с кодеком H.265) и другие. Речь идет именно о фильмах, скачанных откуда-то на устройство. Здесь все довольно просто. Как и на обычном компьютере, планшеты и телефоны Android используют соответствующие кодеки для воспроизведения медиаконтента. При их отсутствии может не воспроизводиться аудио и видео, а может воспроизводиться только один из общего потока: например, звук есть, а видео нет, или наоборот.
Самый простой и быстрый способ заставить ваш Android воспроизводить все фильмы — скачать и установить сторонний плеер с широким набором кодеков и вариантов воспроизведения (в частности, с возможностью включения и отключения аппаратного ускорения). Могу порекомендовать двух таких плееров. VLC и MX Player, которые можно бесплатно загрузить в Play Store.
После установки проигрывателя просто попробуйте воспроизвести любое видео, с отображением которого у вас возникли проблемы. Если все равно не воспроизводится, зайдите в настройки VLC и в разделе «Аппаратное ускорение» попробуйте включить или отключить аппаратное декодирование видео, а затем перезапустите воспроизведение.
MX Player — еще один популярный плеер, один из самых всеядных и удобных для этой мобильной операционной системы. Чтобы все работало наилучшим образом, выполните следующие действия:
Нет видео (черный экран), но есть звук на Android
Если без видимой причины ваше видео перестало воспроизводиться онлайн, в галерее (снято на этот же телефон), ютубе, в медиаплеерах, но звук есть, а изображения нет, при этом раньше все работало исправно, возможные причины здесь могут быть (каждый пункт будет рассмотрен более подробно ниже):
- Модификации отображения на экране (теплые цвета вечером, цветокоррекция и т. п.).
- Наложения.
Во-первых, если вы недавно:
- Установлены приложения с функциями изменения цветовой температуры (F.lux, Twilight и другие).
- Для этого включены встроенные функции: например, функция Live Display в CyanogenMod (находится в настройках дисплея), Color Correction, Invert Colors или High Contrast Color (в Settings. Accessibility), Night Mode.
Попробуйте отключить эти функции или удалить приложение и посмотреть, начнет ли показываться видео.
Аналогично с оверлеями: те приложения, которые используют оверлеи в Android 6, 7 и 8, могут вызывать описанные проблемы с отображением видео (видео на черном экране). К таким приложениям относятся некоторые блокировщики приложений, такие как CM Locker, некоторые приложения для оформления (добавление элементов управления поверх основного интерфейса Android) или родительский контроль. В Android 10 и 9 такой причины не встречал, но не исключено. Если у вас установлены такие приложения, попробуйте удалить их. Узнайте больше о том, какими приложениями они могут быть: Обнаружены оверлеи Android.
Если вы не знаете, были ли они установлены, есть простой способ проверить: загрузите Android-устройство в безопасном режиме (при этом временно отключаются все сторонние приложения) и, если в этом случае видео показывается без проблем , дело явно в каких-то сторонних приложениях и задачах. чтобы идентифицировать его и отключить или удалить.
Не показывает видео на Android, что делать?
Довольно распространенная проблема пользователей планшетов и телефонов на Google Android — невозможность смотреть видео онлайн, а также фильмы, загруженные на их телефоны. Иногда проблема может иметь другой вид, снято на тот же телефон, не отображается в Галерее или, например, звук есть, но вместо видео только черный экран.
Некоторые устройства могут воспроизводить большинство видеоформатов, включая flash по умолчанию, для некоторых других требуется установка подключаемых модулей или отдельных проигрывателей. Иногда, чтобы исправить ситуацию, нужно выявить стороннее приложение, мешающее воспроизведению. Все возможные случаи я постараюсь рассмотреть в данной инструкции (если не подходят первые способы, рекомендую обратить внимание на все остальные, вполне вероятно, что они смогут помочь).
Дополнительные причины, по которым Android не показывает видео, и способы их устранения
В заключение несколько редких, но иногда встречающихся вариантов причин того, что видео не воспроизводится, если описанные выше способы не помогли.
Не воспроизводит онлайн-видео на Android
Первый из распространенных вариантов — это проблемы с воспроизведением онлайн-видео в браузере на Android. Большинство рекомендаций на эту тему сводятся к действиям с Flash Player, однако он почти никогда не используется для фильмов или других видео, вместо этого это HTML 5 видео, а потому проблема и решение обычно другие:
Если ни один из этих способов не решил проблему, а видео по-прежнему не появляется, описанные ниже способы также могут оказаться полезными и сработать.
Мой телефон не открывает видео в Галерее или Google Фото
- Перейдите в настройки. Приложения (или Настройки. Приложения и уведомления. Показать все приложения), откройте меню вверху справа и сбросьте настройки приложений, затем попробуйте снова запустить видео из Галереи, и если появится запрос о том, какой программой открыть видео , выберите какой.это видеоплеер (например, встроенное приложение Видео на Samsung Galaxy, упомянутый плеер VLC и т.п.).
- При воспроизведении видео в Галерее попробуйте нажать кнопку меню (точки вверху справа) и проверить, есть ли пункт для выбора приложения для воспроизведения. Если да, то попробуйте выбрать в качестве него другого игрока. То же самое можно сказать и о приложении Google
Недостаточно памяти
Приложения часто не устанавливаются из-за нехватки места на диске. В частности, когда свободно 500-1000 МБ, а скачиваемое приложение занимает, например, 200 МБ.
Приложение не поддерживается версией системы
Одним из важных требований в процессе установки приложения является версия операционной системы. Если разработчик реализовал поддержку только Android 6, то программа будет установлена и на последующих версиях. 7, 8, 9. При этом на более ранних версиях. 5.1, 5.0, 4.4 и т. д. приложение не будет установлено.
Приложения не установлены на Android
Раздел: Для начинающих Дата: 13.09.2018 Автор: Александр Моисеенко. Комментарии и мнения владельцев: 0
Ошибки установки приложений часто встречаются среди пользователей Android. Поэтому в статье мы собрали часто встречающиеся проблемы и решения.
3 способа исправить проблемы с неподдерживаемыми аудио-видео кодеками на Android
Проблемы с Google Play или службами Google
Решение проблемы
- Если приложение не может быть установлено из Google Play, попробуйте загрузить программу из другого источника. Иногда разработчики завышают требования к установке приложений.
- Обновите версию операционной системы.
- Попросите разработчика включить вашу версию системы в список поддерживаемых версий. Если программа бесплатная, попросите сборку, в которой поддерживается ваша версия ОС.
Существующая программа мешает
Ошибка установки часто возникает при попытке установить существующее приложение.более того, это происходит как при скачивании приложений из Google Play, так и при установке из неизвестных источников.
В этой статье представлена информация Adobe Insight об движке Mercury Playback Engine (ускорение GPU) и аппаратном декодировании/кодировании (Intel® Quick Sync) в Adobe Premiere Pro и Adobe Media Encoder.
Adobe Premiere Pro и Adobe Media Encoder могут использовать преимущества доступных графических процессоров в вашей системе для распределения вычислительной нагрузки между ЦП и графическим процессором для повышения производительности. В настоящее время большая часть обработки выполняется ЦП, а ГП помогает в обработке определенных задач и функций.
Визуализатор Mercury Playback Engine (GPU Accelerated) используется для рендеринга эффектов и функций с ускорением GPU.
Вот список эффектов с ускорением на графическом процессоре в Adobe Premiere Pro. Чтобы идентифицировать эффекты ускорения графического процессора, перейдите на панель «Эффекты» и найдите значок «Ускоренные эффекты».
Значок эффектов GPU-ускорения
Помимо обработки этих эффектов, Mercury Playback Engine (GPU Accelerated) используется для обработки изображений, изменения размеров, преобразования цветового пространства, перекрашивания и многого другого. Он также используется для воспроизведения/прокрутки временной шкалы и полноэкранного воспроизведения с помощью Mercury Transmit.
Вот список рекомендуемых видеокарт для Adobe Premiere Pro.
Рекомендуется иметь графические процессоры с 4 ГБ видеопамяти, но это может варьироваться в зависимости от типа работы, которую вы выполняете в Adobe Premiere Pro.
Общее руководство по требованиям к VRAM:
- 1080p — 4 ГБ видеопамяти
- 4 КБ — 6 ГБ видеопамяти.
- 6 КБ или больше — 8 ГБ видеопамяти или больше
Для виртуальной реальности хорошей отправной точкой будет 6 ГБ видеопамяти. Если вы работаете со стереоскопическими кадрами с более высоким разрешением (например, 8K x 8K), вам может потребоваться больше видеопамяти. При использовании графических процессоров NVIDIA убедитесь, что у вас установлена последняя версия драйвера, и он поддерживает CUDA 9.2.
Важно помнить, что покупка старой видеокарты означает, что поддержка драйверов прекратится раньше, чем новая карта.
- Для Adobe Premiere Pro выберите «Файл» > «Настройки проекта» > «Основные» > «Визуализация и воспроизведение видео» и установите для средства визуализации значение «ГП-ускорение Mercury Playback Engine (OpenCL/CUDA/Metal)».
Установите средство визуализации в Adobe Premiere Pro
- Для Adobe Media Encoder выберите «Настройки» > «Основные» и установите для модуля рендеринга значение «Ускорение графического процессора Mercury Playback Engine (OpenCL/CUDA/Metal)» в разделе «Визуализация видео».
Установите средство визуализации в Adobe Media Encoder
В Adobe Media Encoder вы также можете установить средство визуализации в правом нижнем углу панели «Очередь».
Если ускорение GPU Mercury Playback Engine недоступно после обновления или переустановки Adobe Premiere Pro, выполните чистую установку драйверов GPU, чтобы решить проблему.
- Чистая установка драйверов NVIDIA.
- Чистая установка драйверов AMD®.
Adobe Premiere Pro использует один графический процессор во время воспроизведения и несколько графических процессоров для других задач, таких как рендеринг с входа на выход и для экспорта. CrossFire можно настроить для представления нескольких графических процессоров как одного логического графического процессора, и в этом случае Adobe Premiere Pro рассматривает его как один графический процессор.
В случае использования конфигурации с несколькими графическими процессорами (не SLI или не CrossFire) рекомендуется отключить функцию автоматического переключения графического/графического процессора на основе системы или драйвера.
Обработчик Mercury Playback Engine, работающий на выделенном графическом процессоре, не используется для обработки всего, что связано с графическим процессором. Встроенный графический процессор можно использовать для определенных задач, таких как кодирование/декодирование определенных кодеков и действия пользовательского интерфейса (UI), которые могут отображаться при мониторинге использования графического процессора.
Использование графического процессора зависит от нескольких факторов. Использование графического процессора при редактировании или рендеринге может быть или не быть максимальным в зависимости от количества используемых эффектов/функций с ускорением графического процессора и вычислительных возможностей графического процессора. Таким образом, мощный графический процессор, такой как NVIDIA RTX 2080, может работать быстрее, чем NVIDIA GTX 1060, но может демонстрировать более низкое использование, поскольку он более мощный и может требовать меньшего процента аппаратных ресурсов для обработки той же информации по сравнению с NVIDIA GTX 1060 или другим средним процессором. -диапазон графических процессоров.В случае использования нескольких эффектов с ускорением графического процессора загрузка графического процессора может быть невысокой и может увеличиваться при использовании большего количества эффектов с ускорением графического процессора.
Это относится только к эффектам виртуальной реальности. Это сообщение появляется, когда у графического процессора недостаточно видеопамяти для обработки эффекта.
Intel® Quick Sync — это технология Intel®, которая использует специальные возможности обработки мультимедиа графической технологии Intel® для быстрого декодирования/кодирования, позволяя процессору выполнять другие задачи и повышать производительность. В настоящее время поддерживается только кодирование кодеков h.264 и HEVC (h.265). Эта функция доступна, только если используется процессор Intel® с поддержкой Intel® Quick Sync.
Вот системные требования для кодирования с аппаратным ускорением.
Включение/отключение аппаратного кодирования зависит от типа используемого ЦП Intel®. Если поддерживаемый ЦП не используется или функция Intel® Quick Sync отключена в BIOS, этот параметр может быть недоступен.
Чтобы включить этот параметр, выберите H.264/HEVC в раскрывающемся списке «Формат» в разделе «Настройки экспорта». Затем на вкладке «Видео» перейдите в «Настройки кодирования» и установите «Производительность» на «Аппаратное кодирование». Установка для него значения Программное кодирование отключит аппаратное кодирование, и Adobe Premiere Pro не будет использовать Intel® Quick Sync для кодирования мультимедиа (это может увеличить время рендеринга).
Аппаратное ускорение видео позволяет видеокарте декодировать/кодировать видео, тем самым разгружая ЦП и экономя электроэнергию.
Есть несколько способов добиться этого в Linux:
-
(VA-API) — это спецификация и библиотека с открытым исходным кодом, обеспечивающая аппаратное ускорение кодирования и декодирования видео, разработанная Intel. (VDPAU) — это библиотека с открытым исходным кодом и API для переноса части процесса декодирования видео и постобработки видео на аппаратное обеспечение графического процессора, разработанное NVIDIA. - Собственные API-интерфейсы NVIDIA для аппаратного ускорения видео, используемые графическими процессорами NVIDIA, начиная с Fermi.
Содержание
Установка
Интел
Графические драйверы Intel с открытым исходным кодом поддерживают VA-API:
Нвидиа
Драйвер Nouveau с открытым исходным кодом поддерживает как VA-API, так и VDPAU:
- Серия GeForce 8 и более новые графические процессоры вплоть до 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.
Слои перевода
- libva-vdpau-driver — серверная часть на основе VDPAU для VA-API.
- libvdpau-va-gl — драйвер VDPAU с серверной частью OpenGL/VAAPI. Только H.264.
- nvidia-vaapi-driver — серверная часть на основе CUDA NVDECODE для VA-API.
Подтверждение
Ваша система может работать без дополнительной настройки без дополнительной настройки. Поэтому рекомендуется начать с этого раздела, чтобы убедиться, что это так.
-
с поддержкой командной строки отлично подходит для тестирования аппаратного ускорения. Посмотрите журнал mpv --hwdec=auto video_filename и см. hwdec для получения дополнительной информации.
- Для графического процессора Intel используйте intel-gpu-tools и запустите intel_gpu_top от имени пользователя root, чтобы отслеживать активность графического процессора, например, во время воспроизведения видео. Полоса видео выше 0 % указывает на использование видеодекодера/кодировщика графического процессора.
- Для AMD GPU используйте radeontop для мониторинга активности GPU. В отличие от intel-gpu-tools , в настоящее время нет возможности увидеть использование декодирования/кодирования на radeontop[2].
- Для любого графического процессора вы можете сравнить загрузку ЦП с помощью такого инструмента, как htop . В частности, для видео с более высоким разрешением (4k+) загрузка ЦП при включенном VA-API и работе на ноутбуках и других устройствах с относительно низким энергопотреблением должна быть значительно ниже.
Проверка VA-API
Проверьте настройки VA-API, запустив vainfo , предоставляемую libva-utils :
VAEntrypointVLD означает, что ваша карта способна декодировать этот формат, VAEntrypointEncSlice означает, что вы можете кодировать в этот формат.
В этом примере используется драйвер i965, как видно из этой строки:
Если при запуске vainfo отображается следующая ошибка:
Проверка VDPAU
Установите vdpauinfo, чтобы проверить правильность загрузки драйвера VDPAU и получить полный отчет о конфигурации:
Конфигурация
Имена драйверов по умолчанию, используемые при отсутствии другой конфигурации, угадываются системой.Однако они часто взломаны вместе и могут не работать. Вы можете увидеть предполагаемые значения, запустив:
В этом случае radeonsi используется по умолчанию как для VA-API, так и для VDPAU.
Однако это не соответствует конфигурации. Приведенные выше значения не изменятся, даже если вы их переопределите.
Настройка VA-API
Драйвер для VA-API можно переопределить с помощью переменной среды LIBVA_DRIVER_NAME:
-
:
- Для libva-intel-driver используйте i965 .
- Для intel-media-driver используйте iHD .
- Для модерна используйте nouveau .
- Для NVIDIA VDPAU используйте vdpau .
- Для NVIDIA NVDECODE используйте nvidia .
- Для драйвера AMDGPU используйте radeonsi .
- Вы можете найти установленные драйверы в /usr/lib/dri/. Они используются как /usr/lib/dri/$ _drv_video.so .
- Некоторые драйверы устанавливаются несколько раз под разными именами из соображений совместимости. Вы можете увидеть, какой, запустив sha1sum /usr/lib/dri/* | сортировать .
- LIBVA_DRIVERS_PATH можно использовать для переопределения расположения драйверов VA-API.
- Начиная с версии 12.0.1 libva-mesa-driver предоставляет radeonsi вместо gallium.
- Вы можете найти установленные драйверы в /usr/lib/vdpau/. Они используются как /usr/lib/vdpau/libvdpau_$ .so .
- Некоторые драйверы устанавливаются несколько раз под разными именами из соображений совместимости. Вы можете узнать, какой именно, запустив sha1sum /usr/lib/vdpau/* .
- Для гибридных систем (как NVIDIA, так и AMD) может потребоваться установка переменной среды DRI_PRIME. Дополнительную информацию см. в разделе PRIME.
- Прозрачный дисплей, как это работает
- Обзор игровых ноутбуков до 60 000 рублей
- Ноутбук Honor MagicBook не включается
- Memory Stick pro duo, как подключиться к компьютеру
- Привод выскочил из внутреннего ШРУСа что делать
Настройка VDPAU
Драйвер для VDPAU можно переопределить с помощью переменной среды VDPAU_DRIVER.
Правильное имя драйвера зависит от вашей настройки:
Настройка приложений
Устранение неполадок
Не удалось открыть серверную часть VDPAU
Ошибка инициализации VAAPI
Обнаружена ошибка типа libva: /usr/lib/dri/i965_drv_video.so ошибка инициализации. Это может произойти из-за неправильного обнаружения Wayland. Одним из решений является сброс $DISPLAY, чтобы mpv, MPlayer, VLC и т. д. не предполагали, что это X11. Еще одно решение для mpv — добавить параметр --gpu-context=wayland .
Повреждение или искажение декодирования видео с помощью драйвера AMDGPU
При повреждении или искажении декодирования видео с помощью драйвера AMDGPU установите allow_rgb10_configs=false в качестве переменной среды или driconf . [3]
Читайте также: