Запуск приложения веб-камеры в Linux без отображения

418
GreenPenguin

У меня есть приложение веб-камеры в Linux. Когда он запускается, он инициализирует веб-камеру, и изображение отображается в реальном времени в новом окне внутри startx. Некоторые вычисления также будут выполнены, и результат будет отображен в окне. В окне также есть несколько кнопок, чтобы пользователь мог настроить параметры.

Теперь я хотел бы, чтобы программа запускалась автоматически (следовательно, запускала веб-камеру) каждый раз при загрузке Linux. Проблема в том, что, если я помещаю программу в сценарии, такие как /etc/rc.local, и запускаю в качестве фона, программа не может работать, так как X-дисплей не существует. Кроме того, я бы хотел, чтобы пользователи могли видеть живое изображение и обрабатывать результаты по запросу. Теперь я придумываю несколько возможных решений:

(1) Используйте какой-либо метод (например, VNCserver), чтобы запустить X-сервер без его отображения на экране, а затем перенаправить отображение на сервер и запустить программу. Когда пользователь хочет увидеть изображение в реальном времени и обработанные результаты, он запускает клиент VNC, чтобы просмотреть его.

(2) Используйте какой-либо метод, чтобы перенаправить дисплей на фиктивный X-сервер, чтобы программа могла запускаться без ошибок. Но тогда должен быть какой-то метод для пользователя, чтобы вызвать программу, унаследовать информацию о выполняющемся процессе, чтобы видеть живое изображение и обработанные результаты по требованию.

(3) Измените программу так, чтобы, если дисплей не поддерживает X windows, часть дисплея пропускается. Как и (2), должен быть какой-то метод для пользователя, чтобы вызывать программу, наследовать информацию о выполняющемся процессе, чтобы видеть живое изображение и обработанные результаты по требованию.

(4) Измените программу и разделите ее на две программы, чтобы одна из них автоматически выполняла только инициализацию веб-камеры, получала данные изображения и выполняла вычисления, а другая программа получает данные изображения и обрабатывает результаты (через общую память IPC). например), и при вызове пользователем он отображает результат в окне в X.

Хотя я считаю, что (1) и (4) осуществимы, как насчет (2) и (3)? И среди возможных решений, какое из них будет лучшим?

0

1 ответ на вопрос

0
Hans Deragon

В соответствии с веб-камерой HOWTO доступно несколько решений . Вот несколько, которые могли бы записывать фотографии / видео. С помощью сценариев вы можете выполнить все, что вы хотите. На веб-сайте ниже приведен список инструментов, которые могут удовлетворить ваши потребности.

  • стример
  • CAME
  • движение
  • Вебкамера
  • В СВОЕМ УМЕ

Похожие вопросы