Skip to content

Камера PlayStation как веб-камера

Проект ещё развивается

На данный момент проверена только камера PlayStation 5. Камера PlayStation 4 должна работать аналогично, но пока не проверена.

Камеры PlayStation 4 и PlayStation 5 построены на сенсоре OmniVision OV580 и могут работать как обычные веб-камеры, но не сразу. При включении камера стартует в служебном режиме загрузчика (USB Boot, 05a9:0580) и ждёт, пока в неё по USB загрузят прошивку. До этого момента система не определяет её как камеру.

Прошивку нужно загружать заново при каждом включении камеры. В ALT этот процесс автоматизирован набором пакетов PS-Camera: после подключения камеры прошивка загружается сама, появляется /dev/video, и камера готова к работе — без ручных действий и прав root.

Внимание

Камеру следует подключать в порт USB 3.0 (SuperSpeed). Через USB 2.0 загрузка прошивки работает нестабильно и может зависнуть. Подробнее о подключении USB-устройств — в соответствующей статье.

Установка из внешнего репозитория

Отказ от ответственности

Это сторонний подключаемый репозиторий. BaseALT и ALT Gnome не несут ответственности за его содержимое и собранные в нём пакеты. Подключайте и используйте его на свой страх и риск.

Подключите репозиторий, указав нужные архитектуры:

shell
su -
apt-repo add rpm https://altlinux.space/api/packages/PS-Camera/alt/alt.repo x86_64 classic
apt-repo add rpm https://altlinux.space/api/packages/PS-Camera/alt/alt.repo noarch classic
apt-get update

Затем установите пакет:

shell
su -
apt-get install ps-camera
shell
epm -i ps-camera

Мета-пакет ps-camera подтягивает загрузчик прошивки, саму прошивку и модуль настройки. После установки достаточно подключить камеру в порт USB 3.0 и открыть любое приложение с поддержкой камеры, например Snapshot или Cheese.

Настройка через Tuner

Вместе с пакетами устанавливается модуль для Tuner, который добавляет страницу Камера PlayStation с настройками изображения, баланса белого и экспозиции.

Страница «Камера PlayStation» в Tuner

Каждая камера запоминается отдельно по USB-порту, поэтому при использовании нескольких камер у каждой сохраняются свои настройки. Кнопка предпросмотра открывает камеру в установленном просмотрщике.

Ручная загрузка прошивки

Прошивку можно загрузить и вручную — например, чтобы разобраться в процессе или при отладке.

Убедитесь, что камера определяется в режиме загрузчика:

shell
lsusb | grep 05a9
# ... ID 05a9:0580 OmniVision Technologies, Inc. USB Boot

Загрузите прошивку (требуются права root):

shell
su -
ps-camera-firmware-loader /usr/lib/firmware/pscamera/ps5.bin

Камера перезапустится уже как 05a9:058c и появится в /dev/video*:

shell
v4l2-ctl --list-devices

То же самое выполняет автоматика: правило udev отслеживает появление камеры в режиме 0580, служба systemd загружает прошивку, после чего камера переподключается как UVC-устройство и ядро подключает к ней драйвер uvcvideo.

Информация

Загрузчик ps-camera-firmware-loader — это перенос на C проекта PlayStation-Camera-Firmware-Loader (Raleigh Littles), основанного на OrbisEyeCam (psxdev). Исходный код сборки доступен в репозитории проекта.

Возможные проблемы

Прошивка загружается, но в Tuner камера не отображается. Список камер формирует фоновая служба пользователя. Как правило, она запускается автоматически; если этого не произошло, запустите её вручную:

shell
systemctl --user start pscam-settings.service

Чёрное изображение. Иногда прошивка стартует с некорректной автоэкспозицией. Переключите режим экспозиции на странице камеры в Tuner.

Загрузка прошивки зависает. Чаще всего причина в подключении по USB 2.0 — подключите камеру в порт USB 3.0.

Планы

  • Камера PlayStation 5
  • Проверка камеры PlayStation 4 (предположительно работает без изменений)

Опубликовано под лицензией GPL-3.0+. Содержание доступно по лицензии CC BY-SA 4.0, если не указано иное.