Como usar uma handycam como uma Web Cam no linux

2

Posso usar uma filmadora como V4L2src no gstreamer? Simplesmente posso usar uma filmadora como webcam no Linux? Em caso afirmativo, quais modelos são esportivos? Agradecemos antecipadamente.

    
por Lolitha Ratnayake 21.10.2012 / 17:46

1 resposta

4

existem algumas APIs diferentes de aquisição de vídeo, notavelmente

  • v4l2 (essa é a API geral de vídeo no linux; ela cobre quase tudo menos os dois seguintes)
  • iidc (esse é o protocolo industrial "video over ieee1394", geralmente não encontrado em hardware de nível de consumidor)
  • dv (esse é o "sinal A / V sobre ieee1394" que você normalmente encontra em "filmadoras firewire" de consumo); muito provavelmente isso é o que você quer dizer com "filmadora"

dependendo do sabor da sua "filmadora", você pode usar um (ou alguns, ou nenhum) desses.

saída analógica

desde idades, qualquer filmadora decente vem com um anlog out (por exemplo, "composto"). Para usar isso em qualquer computador, você precisa digitalizar o sinal primeiro, o que geralmente é feito através de um cartão de framegrabber no computador. bttv (bt878) e PCI (e) -cards baseados em connexant grabber são muito bons suportados no linux (outros provavelmente estão bem, mas eu nunca os usei), e na minha experiência este ainda é o caminho a percorrer se você precisa de baixa latência , mas infelizmente esses cartões estão ficando escassos. esses cartões são geralmente cobertos pela API v4l2, então v4l2src funcionará bem.

v4l2src ! ...

analógicos externos2usb e analógicos2dv estão no mercado, veja abaixo.

saída digital (USB)

é aí que entram todas as webcams, provavelmente alguns dispositivos analógicos externos, talvez algumas "filmadoras". se o seu dispositivo é suportado depende dos chipsets em uso. se for suportado, eles geralmente usarão a API v4l2, então algo assim irá funcionar:

v4l2src ! ...

saída digital (DV / HDV)

esses dispositivos não são cobertos pela v4l2, mas há uma API separada. um DV-stream contém áudio e vídeo, então, para obter uma imagem, você deve primeiro pegar o DV-stream e dividir os dois (áudio e vídeo) separados (também conhecidos como "demultiplex / demux them") e decodificar o vídeo. fluxo de vídeo resultante. algo assim deveria fazer:

dv1394src ! dvdemux ! dvdec ! ...

se você estiver recebendo um fluxo HDV (que é realmente um fluxo MPEG-TS sobre ieee1394), há um objeto separte hdv1394src :

 hdv1394src ! decodebin ! ...

saída digital (IIDC)

câmeras firewire industriais (usadas principalmente para reconhecimento de imagem e similares; não há "camcorder" no mercado usando esse protocolo, então eu só adiciono por causa da integridade) usei um protocolo chamado "IIDC".

para usá-lo com o gstreamer, simplesmente faça:

dc1394src ! ...

outros

a maioria dos outros protocolos que você encontrará por aí (por exemplo, GigE ) são procols proprietários de nível industrial (e não oferecem hardware "filmadora")

    
por 22.10.2012 / 10:49