Я использую Ubuntu 16.04 на ноутбуке ASUS N61JQ. Когда я использую видеовызов от viber или facebook (через хром), моя веб-камера подает инвертированное изображение. Мне интересно, как это исправить. Поскольку это два отдельных приложения (Viber и Chrome), я думаю, что это не относится к конкретным приложениям.
При поиске исправления в Интернете я нашел много случаев, дающих инструкции о том, как исправить это для skype. Я выполнил
sudo apt-add-repository ppa:libv4l/stable
sudo apt-get update
sudo apt-get upgrade
, который установил libv4l-0 libv4lconvert0 и повторно протестировал, но не исправил.
Я не следил за этими решениями (например, здесь), потому что viber и chrome не 32- разрядных приложений. Я действительно проверял, что viber действительно 64-бит с предложенным здесь методом.
Я включаю строки файлов, которые, как я ожидаю, должен измениться, если я должен был сделать что-то похожее на исправление skype:
$ cat /usr/share/applications/viber.desktop | grep Exec
Exec=/opt/viber/Viber
и
$ cat /usr/share/applications/google-chrome.desktop | grep Exec
Exec=/usr/bin/google-chrome-stable %U
Exec=/usr/bin/google-chrome-stable
Exec=/usr/bin/google-chrome-stable --incognito
Я не уверен, как изменить эти строки и где найти пакет libv4l для 64-битного, чтобы реализовать обходное решение, которое позволит работать с viber и chrome.
В моих поисках устраните основную проблему, которую я начал, ища настройки камеры / видео в настройках системы «Поиск вашего компьютера» Unity. Но я ничего не нашел. Я также запускаю:
$ ls /dev/video*
/dev/video1
, но я не знаю, что делать из этого результата. Также после запуска
sudo lshw -sanitize
я получаю где-то огромный вывод:
*-usb:0
description: Video
product: USB2.0 UVC 2M WebCam
vendor: USB2.0 UVC 2M WebCam
physical id: 2
bus info: usb@1:1.2
version: 2.02
serial: [REMOVED]
capabilities: usb-2.00
configuration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
Я попытался найти драйвер, но ничего не нашел. Например:
$ ll /lib/modules/4.4.0-28-generic/kernel/drivers | grep uvcvideo
ничего не возвращает. Я также запускаю:
$ lsmod | grep uvcvideo
uvcvideo 90112 0
videobuf2_vmalloc 16384 1 uvcvideo
videobuf2_v4l2 28672 1 uvcvideo
videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2
videodev 176128 4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
media 24576 2 uvcvideo,videodev
, который (согласно интернету) показывает статус драйверов. Невозможно это интерпретировать.
Там должен быть файл драйвера, который я мог бы поправить, но как его найти?
Что касается исправления перевернутого / перевернутого видео для веб-камеры ноутбука в браузерах Chrome / Chromium - несколько дней назад я обновил ноутбук ASUS P52F до Linux Mint 18 XFCE, который сейчас находится на одном уровне с Ubuntu 16.04.1. Я столкнулся с «перевернутым» веб-камерой WebRTC видео на видеовстречи и facebook, используя только браузер Chrome. Firefox отлично работает. Сыр также отображает видео должным образом.
После некоторого googling я нашел этот отчет об ошибке. В комментарии 22 вы можете видеть, что 2 года назад появился файл 0001-Use-libv4l2-for-Linux-V4L-grabber.patch, в котором исправлено поведение Chrome / Chromium. Более года спустя libv4l2 добавляется в Chromium, но не включен для Linux. Вы можете увидеть всю дискуссию в потоке отчета об ошибке. Короче говоря, похоже, что они не активно работают над исправлением этого почти год. Однако есть некоторые уродливые обходные пути ...
Вы можете добавить это сообщение об ошибке в Chrome. Это позволяет вам перевернуть видеоролик веб-камеры или любой другой элемент веб-страницы. Он будет переворачивать его только локально, поэтому люди, с которыми вы разговариваете через Chrome, также должны использовать один и тот же трюк. Это некрасиво, но он работает ... ну, вроде; ) Ведь переход на Firefox может быть лучшим и более удобным решением. Ура!
Установите пакет v4l-utils, содержащий утилиту v4l2-ctl:
sudo apt-get install v4l-utils
Затем отредактируйте свой .profile:
nano ~/.profile
И добавьте в конец: [ ! d2]
# Flip webcam video
v4l2-ctl -c vertical_flip=0
v4l2-ctl -c vertical_flip=1
(двойная команда преднамеренная)