Перевернутое изображение web-камеры

Опубликовано: 8 февраля 2017 в 11:38

Столкнулся с такой проблемой, на некоторых ноутбуках ASUS, в частности серия K, изображение с камер было вверх ногами, во время поиска решения проблемы, оказалось что такие проблемы возникают и у пользователей Lenovo.

Первый такой «сюрприз» был обнаружен на ноутбуке с установленной MS Windows 7, там проблема решилась повторной установкой более свежего драйвера web-камеры. Позже на ноутбук ASUS той же серии, но уже другой модели, установили lubuntu-16.04.1 LTS(ядро  4.4.0-62-generic), и к нашему великому удивлению изображение было вверх ногами 🙂

Во время поиска решения проблемы, выяснили, что начиная с ядра версии 2.6.27 драйверы веб-камер стали включать в ядро, но не в полном объеме, часть функционала находится в библиотеки libv4l, в ней собран функционал отвечающий за преобразование разных форматов представления изображений для разных камер, к одному единому формату.

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

Способ 1 — Переворачиваем камеру в приложениях при помощи библиотеки libv4l

Для примера, переворачивать камеру будем в приложении MPlayer и Skype.

Подключаем репозиторий с актуальной версией библиотеки и обновляемся:

Сразу оговорюсь, у нас библиотека libv4l в реализации x86_64, не заработала. При проверки путей получили ошибки.

Ошибка следующего вида:

Проблема решилась переустановкой libv4l версией для i386.

После чего проверяем пути:

Теперь изображение с камеры должно отображаться как положено.

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

Для примера будем править ярлык Skype. Для этого нам нужно открыть ярлык в текстовом редакторе и поправить параметр Exec, расположение ярлыка можно узнать через свойства, кликнув правой кнопкой мыши по ярлыку и посмотреть на какой файл ссылается ярлык.

Расположение ярлыка запуска Skype

Расположение ярлыка запуска Skype

Теперь непосредственно редактируем сам ярлык запуска:

В данном листинге мы закомментировали стандартный параметр Exec,  прописали новый. Таким образом через переменную окружению LD_PRELOAD мы указываем, что библиотеку libv4l нужно загрузить до запуска нашего приложения.

Таким образом, мы получили правильно работающую камеру в приложении Skype на ноутбуке ASUS серии K.

Способ 2 — Переворачиваем камеру через правку параметров модуля ядра

Для начала, выясним производителя камеры, в моем случае — это Syntek.

Драйвер для web-камер Syntek в системе обозначается как stkwebcam. Теперь посмотрим информацию о нем:

Тут нас интересует параметр vflip — вертикальное отражение. Для справки, hflip — горизонтальное отражение. Изменить параметры модуля можно через утилиту modprobe. Для начала нам необходимо отключить модуль stkwebcam, а потом включить с нужными нам параметрами.

Для того чтоб добавить применение параметров при запуске ОС, необходимо выполнить следующие действия:

К сожалению данный способ мне не помог. Так же замечу, что на нетбуке ASUS EEE PC X101H с камерой все нормально.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

(Required)