
Comprei o dispositivo de captura Hauppauge USB-Live 2 porque várias análises recentes da Amazon sugerem que ele deve funcionar com kernels Linux modernos.
Quando eu o conecto ao meu Raspberry Pi 4 executando a versão mais recente do Raspbian Buster, ele parece ser reconhecido com sucesso:
- Aqui está a saída do dmesg:https://pastebin.com/kybfrpJH
- v4l2-ctl --all mostra isso:https://pastebin.com/2237MNX1
Infelizmente, quando tento executar ffmpeg / ffplay para capturar vídeo de uma fonte VHS em execução, ele mostra 0 bits de dados de entrada chegando (relatório aqui:https://pastebin.com/TAurevCA). Também tentei capturar um quadro com "v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=frame.raw --stream-count=1" bem como "vlc v4l2:// /dev/video0" e nenhum contém dados
Confirmei com o suporte técnico da Hauppauge por e-mail que a unidade foi testada com o Rpi 4 e deve funcionar. Algumas das correções que tentei sem sorte:
- Muitas reinicializações
- Movendo o dispositivo para as várias portas USB 2 e USB 3
- Certifiquei-me de definir vl42 para NTSC para corresponder à minha fonte
- Executando ffmpeg com sudo caso fosse um problema de permissão para /dev/video0 (também tentei chmod -R 777 /dev/video0)
- Firmware substituído pela versão que encontrei neste link do fabricante -https://www.hauppauge.de/pctv-faq/doku.php?id=en:linux:usb-live2-how-to(Acredito que o RPi já tenha instalado porque o tamanho do arquivo antigo era exatamente igual ao do novo)
- Suporte técnico enviado por e-mail - eles indicaram que o dispositivo foi testado para funcionar no Rpi 4 e, de outra forma, não foi útil
- Encomendei outro dispositivo idêntico da Amazon para testar caso fosse uma unidade com defeito - mesmo resultado
- Eu sei que meu videocassete/conexões funcionam bem porque um dispositivo de captura semelhante funciona bem com exatamente a mesma configuração
Alguma ideia sobre o que mais tentar aqui? Também experimentei a unidade no meu Mac com Ubuntu 18.04.3 rodando em um USB ativo e o mesmo resultado, então estou pensando que talvez esteja faltando algo básico.
Além disso, caso seja uma informação útil para alguém, aqui estão algumas informações sobre outros dispositivos de captura USB que experimentei com o Raspberry Pi 4:
(1) Posso confirmar que este dispositivo mais barato funciona muito bem no conversor de áudio/vídeo Pi 4 DIGITNOW USB 2.0 - digitalize e edite vídeo de qualquer fonte analógica, incluindo videocassete, VHS, DVD https://smile.amazon.com/gp/product/B06XJKSJZ8/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
O driver é exibido como "uvcvideo" em vez de cx231xx (a qualidade é aceitável, então estou tentando ver se consigo fazer melhor - este só gera resolução total em MJPEG que já está compactado)
(2) NÃO desperdice seu dinheiro com este, a imagem salta e fica completamente inutilizável: Placa de captura de vídeo UVC Usb2.0, compatível com Windows/Linux https://www.amazon.com/dp/B00RMYWGWC/ref=cm_sw_r_cp_api_i_P-RpEb9BRFMNR
Responder1
Não sei se você tentou isso, mas para capturar meu Live 2 com ffmpeg, tive que:
v4l2-ctl -d /dev/video0 -s ntsc at every boot
Então eu adicionei crontab
com
@reboot v4l2-ctl -d /dev/video0 -s ntsc
Responder2
Edição 1: descobri porque esses dispositivos não funcionam corretamente. O problema é que se você não inicializar o dispositivo de áudio complementar, ele não retornará quadros de vídeo. Você não precisa ler todos os quadros de áudio, mas precisa inicializar e ler o primeiro quadro, outros podem ser ignorados. É por isso que o comando mencoder proposto funciona, porque inicializa o áudio também.
Consegui capturar usando o mencoder, então aqui está uma solução:
Experimente este comando:
mencoder \
-v -noskip \
tv:///0 \
-tv norm=NTSC\
:device=/dev/video0\
:driver=v4l2\
:outfmt=i420\
:width=720:height=480\
:fps=29.97\
:alsa\
:adevice=hw.0,0\
:amode=1\
:buffersize=200 \
-ffourcc divx \
-oac mp3lame \
-lameopts cbr:preset=128 \
-ovc lavc \
-lavcopts vcodec=mpeg4\
:vbitrate=1400\
:threads=2\
:autoaspect \
-vf dsize=4/3 \
-vf-add scale \
-vf-add kerndeint=10:0:0:1:1 \
-vf-add softskip,harddup \
-endpos 02:10:00 \
-o ~/usblive2.avi
Isso criará um arquivo chamado usblive2.avi em sua pasta pessoal.