Guía de Despliegue para Ubuntu de Aplicaciones del SDK de VisioForge¶
Video Capture SDK .Net Video Edit SDK .Net Media Player SDK .Net Media Blocks SDK .Net
Introducción¶
Desplegar aplicaciones .NET con SDKs de VisioForge en Ubuntu Linux ofrece múltiples beneficios, incluyendo compatibilidad multiplataforma, acceso a hardware específico de Linux y la capacidad de ejecutar tus aplicaciones multimedia en entornos que van desde infraestructura de servidor hasta dispositivos edge. Esta guía completa te llevará a través del proceso completo de configurar tu entorno Ubuntu, instalar las dependencias necesarias y desplegar tu aplicación .NET con VisioForge.
La familia de SDKs de VisioForge funciona en Ubuntu y otras distribuciones Linux que soporten bibliotecas GStreamer. Las plataformas adicionales soportadas incluyen dispositivos Nvidia Jetson y Raspberry Pi, haciéndolo perfecto para una amplia gama de aplicaciones desde software multimedia de escritorio hasta soluciones IoT.
Requisitos del Sistema¶
Antes de desplegar tu aplicación, asegúrate de que tu entorno Ubuntu cumpla estos requisitos mínimos:
- Ubuntu 20.04 LTS o posterior (22.04 LTS y posterior recomendado)
- Runtime .NET 7.0 o posterior
- Al menos 4GB RAM (8GB recomendado para procesamiento de video)
- Arquitectura x86_64 o ARM64
- Conexión a internet para instalación de paquetes
Instalación y Configuración¶
Instalando .NET¶
Descarga el último paquete de instalador .NET del sitio web de Microsoft y sigue las instrucciones de instalación.
Instalación de GStreamer¶
GStreamer forma la columna vertebral multimedia para los SDKs de VisioForge en plataformas Linux. Proporciona funcionalidad esencial para captura, procesamiento y reproducción de audio y video.
Paquetes GStreamer Requeridos¶
Instala los siguientes paquetes GStreamer usando apt-get. Requerimos v1.22.0 o posterior, aunque v1.24.0+ es altamente recomendado para acceso a las últimas características y optimizaciones:
gstreamer1.0-plugins-base: Plugins esenciales de línea basegstreamer1.0-plugins-good: Plugins de alta calidad, bien probadosgstreamer1.0-plugins-bad: Plugins más nuevos de calidad variablegstreamer1.0-alsa: Soporte de audio ALSAgstreamer1.0-gl: Soporte de renderizado OpenGLgstreamer1.0-pulseaudio: Integración con PulseAudiolibges-1.0-0: GStreamer Editing Servicesgstreamer1.0-libav: Integración FFMPEG (OPCIONAL pero recomendado para soporte de formatos más amplio)
Script de Instalación Completo¶
Los siguientes comandos actualizarán tus repositorios de paquetes e instalarán todos los componentes GStreamer requeridos:
sudo apt install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-pulseaudio gstreamer1.0-libav libges-1.0-0
Requisitos Adicionales para Raspberry Pi¶
Para Raspberry Pi, adicionalmente, necesitas instalar los siguientes paquetes:
Verificando la Instalación de GStreamer¶
Después de la instalación, verifica tu configuración de GStreamer ejecutando:
Esto debería mostrar la versión instalada de GStreamer. Asegúrate de que cumpla el requisito mínimo (1.22.0+) o idealmente muestre 1.24.0 o posterior.
Paquetes NuGet Requeridos¶
Al desplegar tu aplicación .NET en Ubuntu, necesitarás incluir paquetes NuGet adicionales específicos de plataforma que proporcionen las bibliotecas nativas y bindings necesarios.
Paquete Principal Adicional de Linux¶
El paquete VisioForge.CrossPlatform.Core.Linux.x64 contiene bibliotecas nativas esenciales y bindings para la plataforma .NET Linux. Este paquete es obligatorio para todos los despliegues del SDK de VisioForge en Ubuntu.
Entorno de Desarrollo¶
Puedes usar Rider para desarrollar tu proyecto en Linux. Por favor consulta la página de instalación de Rider para más información.
Despliegue de la Aplicación¶
Sigue estos pasos para desplegar tu aplicación en Ubuntu:
Publicando Tu Aplicación¶
Para crear un despliegue autocontenido que incluya todas las dependencias del runtime .NET:
Para despliegues más pequeños donde la máquina objetivo ya tiene .NET instalado:
Estructura de Despliegue¶
Tu carpeta de despliegue debería contener:
- Tu ejecutable de aplicación
- DLLs de la aplicación
- Ensamblados del SDK de VisioForge
- Bibliotecas nativas de Linux de los paquetes NuGet de VisioForge
Estableciendo Permisos de Ejecución¶
Asegúrate de que tu ejecutable de aplicación tenga los permisos adecuados:
Consideraciones de Hardware¶
Soporte de Cámaras¶
Ubuntu soporta varios tipos de cámaras:
- Webcams USB: La mayoría de las webcams USB funcionan directamente
- Cámaras IP: Soportadas vía RTSP, streams HTTP
- Cámaras Profesionales: Muchas cámaras profesionales con drivers Linux son soportadas
- Dispositivos Virtuales: v4l2loopback puede usarse para creación de cámaras virtuales
Para listar dispositivos de cámara disponibles:
Dispositivos de Audio¶
La captura y reproducción de audio es soportada a través de:
- ALSA (Advanced Linux Sound Architecture)
- PulseAudio
Para listar dispositivos de audio disponibles:
Solución de Problemas¶
Problemas de Permisos¶
Los problemas de acceso a cámara o dispositivos de audio a menudo pueden resolverse agregando tu usuario a los grupos apropiados:
Recuerda cerrar sesión y volver a entrar para que los cambios de grupo tomen efecto.
Optimización de Rendimiento¶
Para rendimiento óptimo en Ubuntu:
- Usa la última versión de GStreamer (1.24.0+)
- Habilita la aceleración de hardware donde esté disponible
- Para GPUs NVIDIA, instala los paquetes apropiados de CUDA y nvcodec
- Ajusta la prioridad del proceso usando
nicepara aplicaciones intensivas en recursos
Conclusión¶
Desplegar aplicaciones del SDK de VisioForge en Ubuntu proporciona un entorno potente y flexible para aplicaciones multimedia. Siguiendo esta guía, puedes asegurar que tu aplicación .NET aproveche las capacidades completas del ecosistema del SDK de VisioForge en plataformas Linux.
Para escenarios de despliegue específicos o asistencia de solución de problemas, consulta la documentación completa disponible en el sitio web de VisioForge o contacta a nuestro equipo de soporte técnico.
Visita nuestra página de GitHub para obtener más ejemplos de código.