Как использовать Handycam в качестве веб-камеры в Linux

2669
Lolitha Ratnayake

Могу ли я использовать видеокамеру как V4L2src в gstreamer? Просто я могу использовать видеокамеру в качестве веб-камеры в Linux? Если да, то какие модели спортированы? Заранее спасибо.

2
что такое "видеокамера"? вопрос немного похож на «могу ли я использовать жесткие диски» на моем ноутбуке, и ответ «конечно, вы можете», пока не заметите, что ваш жесткий диск представляет собой SCSI-диск, а на вашем ноутбуке есть только разъемы S-ATA, поэтому факт, что вы не можете использовать этот конкретный жесткий диск на этой конкретной машине ... umläute 12 лет назад 0

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

4
umläute

есть несколько различных API для сбора видео, что примечательно

  • v4l2 (это общий видео API на Linux; он охватывает почти все, кроме следующих двух)
  • iidc (это промышленный протокол "video over ieee1394", обычно не встречающийся в оборудовании потребительского уровня)
  • DV (это «A / V-сигнал поверх ieee1394», который вы обычно найдете в потребительских «камкордерах firewire»; скорее всего, это то, что вы подразумеваете под «видеокамерой»)

в зависимости от вашего вида вашей «видеокамеры», вы можете использовать один (или несколько, или ни одного) из них.

аналоговый выход

с незапамятных времен любая приличная видеокамера поставляется с анлогом (например, «композитный»). чтобы использовать его на любом компьютере, сначала нужно оцифровать сигнал, что обычно делается через фрейм-граббер на компьютере. PCI-карты bbtv (bt878) и карты на базе коннексанта очень хорошо поддерживаются в Linux (другие, вероятно, хорошо, но я никогда не использовал их), и, по моему опыту, это все еще путь, если вам нужна низкая задержка Но, к сожалению, эти карты становятся редкими. эти карты обычно покрываются API v4l2, поэтому v4l2srcбудут работать нормально.

v4l2src ! ... 

внешние грабберы аналоговые2usb и аналоговые2dv на рынке, см. ниже.

цифровой выход (USB)

вот где все веб-камеры вступают в игру, возможно, некоторые внешние аналоговые2usb устройства, возможно, некоторые «видеокамеры». Поддерживается ли ваше устройство, зависит от используемых чипсетов. если она будет поддерживаться, то они, как правило, используют v4l2-API, так что опять что - то, как это будет работать:

v4l2src ! ... 

цифровой выход (DV / HDV)

эти устройства не охвачены версией v4l2, но вместо этого есть отдельный API. DV-поток содержит как аудио, так и видео, поэтому для получения изображения вам нужно сначала захватить DV-поток, а затем разделить два (аудио и видео) потока на части (также называемые «demultiplex / demux them») и затем декодировать результирующий видео-поток. что-то вроде этого должно сделать:

dv1394src ! dvdemux ! dvdec ! ... 

если вы получаете HDV-поток (который действительно является потоком MPEG-TS по сравнению с ieee1394), существует отдельный hdv1394srcобъект:

 hdv1394src ! decodebin ! ... 

цифровой выход (IIDC)

промышленные FireWire-камеры (в основном используются для распознавания изображений и т. п .; на рынке не существует «видеокамер», использующих этот протокол, поэтому я добавляю его только для полноты картины), использующих протокол «IIDC».

чтобы использовать его с gstreamer, просто выполните:

dc1394src ! ... 

другие

большинство других протоколов, которые вы там обнаружите (например GigE), являются проприетарными, проколами промышленного уровня (и не предлагают аппаратное обеспечение "видеокамеры")

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