Запуск приложения веб-камеры в Linux без отображения
У меня есть приложение веб-камеры в Linux. Когда он запускается, он инициализирует веб-камеру, и изображение отображается в реальном времени в новом окне внутри startx. Некоторые вычисления также будут выполнены, и результат будет отображен в окне. В окне также есть несколько кнопок, чтобы пользователь мог настроить параметры.
Теперь я хотел бы, чтобы программа запускалась автоматически (следовательно, запускала веб-камеру) каждый раз при загрузке Linux. Проблема заключается в том, что, если я помещаю программу в сценарии, такие как /etc/rc.local, и запускаю в качестве фона, программа не может работать, так как X-дисплей не существует. Кроме того, я бы хотел, чтобы пользователи могли видеть живое изображение и обрабатывать результаты по запросу. Теперь я придумаю несколько возможных решений:
(1) Используйте какой-либо метод (например, VNCserver), чтобы запустить X-сервер без его отображения на экране, а затем перенаправить отображение на сервер и запустить программу. Когда пользователь хочет увидеть изображение в реальном времени и обработанные результаты, он запускает клиент VNC, чтобы просмотреть его.
(2) Используйте какой-либо метод, чтобы перенаправить дисплей на фиктивный X-сервер, чтобы программа могла запускаться без ошибок. Но тогда должен быть какой-то метод для пользователя, чтобы вызвать программу, унаследовать информацию о выполняющемся процессе, чтобы видеть живое изображение и обработанные результаты по требованию.
(3) Измените программу так, чтобы, если дисплей не поддерживает X windows, часть дисплея пропускается. Как и (2), должен быть какой-то метод для пользователя, чтобы вызывать программу, наследовать информацию о выполняющемся процессе, чтобы видеть живое изображение и обработанные результаты по требованию.
(4) Измените программу и разделите ее на две программы, чтобы одна из них автоматически выполняла только инициализацию веб-камеры, получала данные изображения и выполняла вычисления, а другая программа получает данные изображения и обрабатывает результаты (через общую память IPC). например), и при вызове пользователем он отображает результат в окне в X.
Хотя я считаю, что (1) и (4) осуществимы, как насчет (2) и (3)? И среди возможных решений, какое из них будет лучшим?
1 ответ
Согласно веб-камере HOWTO, доступно несколько решений. Вот несколько, которые могли бы записывать фотографии / видео. С помощью сценариев вы можете выполнить все, что вы хотите. На веб-сайте ниже приведен список инструментов, которые могут удовлетворить ваши потребности.
- стример
- CAME
- движение
- Вебкамера
- В СВОЕМ УМЕ