Как захватить видео-поток с камеры из нескольких программ?

Как в линуксе разрешить нескольким прогаммам использовать камеру одновременно? Или это в принципе невозможно?
Использую Gstreamer, компонент V4L. Первая программа запускается, а вторая вываливается с ошибкой "system error: Устройство или ресурс занято":

$ gst-launch v4l2src ! xvimagesink Установка конвейера в состояние PAUSED... ОШИБКА: Конвейер не хочет становиться на паузу. ПРЕДУПРЕЖДЕНИЕ: от элемента /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Устройство видео-захвата не приняло новый параметр кадровой частоты. Дополнительная отладочная информация: v4l2src_calls.c(262): gst_v4l2src_set_capture (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: system error: Устройство или ресурс занято ОШИБКА: из элемента /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not get buffers from device '/dev/video0'. Дополнительная отладочная информация: gstv4l2bufferpool.c(406): gst_v4l2_buffer_pool_new (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: error requesting 2 buffers: Устройство или ресурс занято Установка конвейера в состояние NULL... Освобождение конвейера...

Посмотел параметры компонента v4l2src, но так и не понял, как преодолеть проблему?
  • Вопрос задан
  • 4325 просмотров
Пригласить эксперта
Ответы на вопрос 1
stavinsky
@stavinsky
Почему бы не конвертить это видео в какой-нибудь сетевой потоковый формат типа RTMP и снимать уже сколько хочешь и чем хочешь?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы