Canon DSLR Video loop back с использованием v4l2loopback и EDSDK Liveview?

Я хочу использовать свою зеркальную камеру в качестве видеовхода, скажем, для Skype / Google Talk под Linux и Android.

Можно ли создать петлю видео с помощью v4l2loopback и Canon EDSDK? как я могу передать буфер просмотра в реальном времени с камеры обратно на видео петлю?

Спасибо


person Amit    schedule 05.09.2012    source источник
comment
Я знаю, что вы упомянули Linux (и что это вопрос четырехлетней давности), но я только что прошел собеседование по Skype несколько дней назад, используя свою цифровую зеркальную камеру Canon в качестве веб-камеры. Этот продукт (50 долларов США) работает в Windows, устанавливает драйвер виртуальной веб-камеры и передает кадры просмотра в реальном времени на веб-камеру, предположительно с использованием EDSDK: sparkosoft .com / sparkocam   -  person Adam    schedule 27.06.2016
comment
Он также имеет некоторую поддержку оверлеев для демонстрации экрана, наложения текста / изображения и т. Д.   -  person Adam    schedule 27.06.2016


Ответы (4)


вам понадобится приложение-производитель, которое записывает кадры в устройство обратной связи (и которое ранее получало эти кадры через canon esdk)

v4l2loopback уже поставляется с несколькими простыми примерами производителей, и вы можете взглянуть на другие приложения, которые уже имеют встроенную поддержку вывода v4l2loopback, например Gem, живет , gmerlin и gstreamer

person umläute    schedule 27.09.2012
comment
Мне удалось использовать libgphoto2 в Linux с v4l2loopback для создания виртуальной камеры из моей DSLR, поэтому уточните мой вопрос, если я создам устройство v4l2loopback на Android, другие приложения (Skype, Gtalk) видят его как камеру или есть что-то что еще предстоит сделать? На данный момент у меня HTC One-X без рута, так что ... я не могу его проверить ... - person Amit; 03.10.2012
comment
теоретически да; на практике я никогда не проверял, работает ли v4l2loopback на android - person umläute; 03.10.2012

По состоянию на октябрь 2017 года GStreamer был обновлен до версии 1.0, и v4l2loopback также получил некоторые обновления.

Таким образом, старая команда, отправленная @Reinaert Albrecht, больше не работает, а теперь работает новая команда:

gphoto2 --stdout --capture-movie | gst-launch-1.0 fdsrc fd=0 ! decodebin name=dec ! queue ! videoconvert ! tee ! v4l2sink device=/dev/video0
  • decodebin2 был заменен на decodebin
  • ffmpegcolorspace был заменен на videoconvert
  • фильтр tee был добавлен для учета ошибки в драйвере v4l2loopback (см .: https://github.com/umlaeute/v4l2loopback/issues/83)
person Florian Segginger    schedule 03.10.2017
comment
В 2020 году это, похоже, не сработает с: ERROR: from element /GstPipeline:pipeline0/GstFdSrc:fdsrc0: Internal data stream error. Additional debug info: gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstFdSrc:fdsrc0: - person partofthething; 22.03.2020
comment
Здравствуйте, вот что могло исправить - modprobe v4l2loopback max_buffers=2. См. Также github.com/umlaeute/v4l2loopback/issues/. - person Vlad Dinulescu; 19.04.2020

Насколько я понимаю, EDSDK от Canon по-прежнему доступен только по запросу для платформы Windows и OSX (C и Objective-C). В Linux вы можете попробовать установить SDK под Wine или прибегнуть к gPhoto более общего назначения. Теперь изображения «LiveView» или «EvF» представляют собой отдельные файлы в формате JPG. В качестве альтернативы вы можете захотеть захватить это через выходной порт HDMI (который будет полностью разрешен на EOS 5D Mark III весной 2013 года).

person gdh    schedule 23.11.2012
comment
Чтобы вернуться к использованию HDMI для просмотра в реальном времени, в настоящее время он имеет низкое разрешение (придерживается разрешения видоискателя) и включает информацию HUD (например, сетку, информацию об экспозиции). Нет чистого сигнала, который я мог найти (EOS 5d Mark II) - person gdh; 23.11.2012
comment
Думаю, для Skype / GTalk это не имеет особого значения, поскольку их разрешения в любом случае не так высоки. Конечно, результат после перекодирования немного лучше при более высоком базовом разрешении. - person david; 23.11.2012
comment
По состоянию на апрель 2013 года на Canon EOS 5dMKIII есть чистый выход HDMI, см. Ссылку - person gdh; 17.05.2013

Вы можете легко сделать это с помощью следующих команд:

modprobe v4l2loopback

А затем выдайте это:

gphoto2 --stdout --capture-movie | gst-launch-0.10 fdsrc ! decodebin2 name=dec ! queue ! ffmpegcolorspace ! v4l2sink device=/dev/video0

Измените видеоустройство соответствующим образом.

person Reinaert Albrecht    schedule 24.08.2015