Sobre el proyecto
op-cap es un conjunto de herramientas Linux para estabilizar tarjetas de captura USB de alto rendimiento utilizadas con OBS. Aborda los modos de fallo comunes de los dispositivos de captura HDMI económicos: desconexiones aleatorias, bloqueos del controlador, corrupción de búfer y caídas de OBS.
Enfoque principal: FFmpeg lee el dispositivo de captura físico y escribe en un dispositivo virtual v4l2loopback (por defecto /dev/video10, etiquetado USB_Capture_Loop). OBS lee entonces de ese bucle estable en lugar del hardware, de modo que un bloqueo del hardware solo mata el flujo de FFmpeg, que un servicio de monitoreo reinicia automáticamente.
Características descritas en el README:
- Recuperación automática de caídas: OBS se relanza ante un fallo del dispositivo USB, sin límite por defecto.
- Reanudación de la transmisión: se monitorean los registros para detectar una transmisión activa y reiniciarla tras una caída.
- Reconexión automática: se vigila el dispositivo y se reinicia el flujo al desconectarse.
- Reinicio USB y reenlace del controlador para recuperar dispositivos bloqueados sin reiniciar el sistema.
- Ajustes de rendimiento: desactiva la suspensión automática USB y ajusta la configuración de energía, con guía de reglas udev para persistencia.
- Modos de manejo HDR (automático, forzar HDR + tonemap, paso directo HDR, forzar SDR).
- Superposición/marca de agua opcional desde URL o archivo, además de filtros delogo y recorte para eliminar logotipos en pantalla.
- Detección automática de formato de resolución y frecuencia de imágenes durante la instalación.
- Optimización gráfica Wayland para controladores Nvidia, AMD e Intel, abordando problemas de sincronización explícita y PipeWire.
La instalación se realiza mediante make build / make install, que selecciona interactivamente el dispositivo de captura e instala servicios systemd (usb-capture-ffmpeg.service, usb-capture-monitor.service). Los alias de host sobs y cobs lanzan OBS con recuperación de caídas, ya sea sin enlazar o tras elegir un dispositivo /dev/video*.
Un menú de mantenimiento interactivo (scripts/maintenance.sh) expone nueve herramientas de recuperación: detect_device, disable_overlay, hard_reset, optimise_device, pick_delogo, repair, simulate_disconnect, uhubctl_reset y usb_reset. Scripts adicionales cubren validación de captura (diagnóstico de corrupción y tiempo de espera con resolución de respaldo), optimización de dispositivos, optimización de controladores, reconexión automática, análisis de formato y una hoja de referencia rápida.
La configuración reside en /etc/default/usb-capture, que cubre la ruta del dispositivo, resolución, frecuencia de imágenes, formato de entrada, modo HDR, URL/archivo/posición/escala de superposición, conmutador delogo, validación de búfer y umbral de corrupción con resolución de respaldo.
Un lanzador de seguridad (obs-safe-launch.sh) añade monitoreo de salud del dispositivo, reinicio ante caídas con un breve retardo de estabilización, reanudación automática de la transmisión, captura de registros en ~/.cache/obs-safe-launch/ y banderas para bucle, dispositivo, reanudación automática y argumentos adicionales de OBS. La recuperación de hardware USB requiere sudo; un instalador opcional de sudoers limita qué scripts de recuperación pueden ejecutarse sin contraseña.
Los requisitos incluyen ffmpeg, v4l-utils y v4l2loopback-dkms, con uhubctl y slop opcionales, además de controladores específicos de GPU para aceleración por hardware.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.