
Compré el dispositivo de captura Hauppauge USB-Live 2 porque varias reseñas recientes de Amazon sugieren que debería funcionar con kernels de Linux modernos.
Cuando lo conecto a mi Raspberry Pi 4 con la última versión de Raspbian Buster, parece que se reconoce correctamente:
- Aquí está la salida de dmesg:https://pastebin.com/kybfrpJH
- v4l2-ctl --todo muestra esto:https://pastebin.com/2237MNX1
Desafortunadamente, cuando intento ejecutar ffmpeg/ffplay para capturar video desde una fuente VHS en ejecución, se muestran 0 bits de datos de entrada (informe aquí:https://pastebin.com/TAurevCA). También intenté capturar un fotograma con "v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=frame.raw --stream-count=1" así como "vlc v4l2:// /dev/video0" y ninguno contiene datos
Confirmé con el soporte técnico de Hauppauge por correo electrónico que la unidad ha sido probada con el Rpi 4 y debería funcionar. Un par de correcciones que probé sin suerte:
- Muchos reinicios
- Mover el dispositivo a los distintos puertos USB 2 y USB 3
- Me aseguré de configurar vl42 en NTSC para que coincida con mi fuente
- Ejecutando ffmpeg con sudo en caso de que fuera un problema de permisos para /dev/video0 (también probé chmod -R 777 /dev/video0)
- Firmware reemplazado con la versión que encontré en este enlace del fabricante:https://www.hauppauge.de/pctv-faq/doku.php?id=en:linux:usb-live2-how-to(Creo que RPi ya tenía esto instalado porque el tamaño del archivo antiguo era exactamente el mismo que el del nuevo)
- Soporte técnico enviado por correo electrónico: indicaron que el dispositivo ha sido probado para funcionar en Rpi 4 y, por lo demás, no fueron útiles.
- Pedí otro dispositivo idéntico en Amazon para probarlo en caso de que fuera una unidad defectuosa; mismo resultado
- Sé que mi VCR/conexiones funcionan bien porque un dispositivo de captura similar funciona bien con exactamente la misma configuración.
¿Alguna idea sobre qué más probar aquí? También probé la unidad en mi Mac con Ubuntu 18.04.3 ejecutándose desde un USB activo y obtuve el mismo resultado, así que creo que tal vez me estoy perdiendo algo básico.
Además, en caso de que sea información útil para alguien más, aquí hay información sobre otros dispositivos de captura USB que probé con Raspberry Pi 4:
(1) Puedo confirmar que este dispositivo más económico funciona bastante bien con el convertidor de audio/vídeo USB 2.0 Pi 4 DIGITNOW: digitalice y edite vídeo desde cualquier fuente analógica, incluidos VCR, VHS y DVD. https://smile.amazon.com/gp/product/B06XJKSJZ8/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
El controlador se muestra como "uvcvideo" en lugar de cx231xx (la calidad es aceptable, así que estoy tratando de ver si puedo hacerlo mejor; este solo genera resolución completa en MJPEG, que ya está comprimido)
(2) NO malgastes tu dinero en este, la imagen salta y es completamente inutilizable: Tarjeta de captura de video UVC Usb2.0, compatible con Windows/Linux https://www.amazon.com/dp/B00RMYWGWC/ref=cm_sw_r_cp_api_i_P-RpEb9BRFMNR
Respuesta1
No sé si intentaste esto, pero para que mi Live 2 pudiera capturar con ffmpeg, tuve que:
v4l2-ctl -d /dev/video0 -s ntsc at every boot
Así que lo agregué crontab
con
@reboot v4l2-ctl -d /dev/video0 -s ntsc
Respuesta2
Edición 1: descubrí por qué estos dispositivos no funcionan correctamente. El problema es que si no inicializa el dispositivo de audio complementario, no devolverá cuadros de video. No es necesario leer todos los fotogramas de audio, pero sí inicializar y leer el primer fotograma; los demás se pueden ignorar. Es por eso que el comando mencoder propuesto funciona, porque también inicializa el audio.
Pude capturar usando mencoder, así que aquí hay una solución:
Pruebe 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
Esto creará un archivo llamado usblive2.avi en su carpeta de inicio.