GStreamer puede ser muy complejo/elaborado, incluso para configurar un solo flujo de video. La mayoría de las funciones de comodidad, como los flujos múltiples y las grabaciones en vivo, son mucho más sencillas y cuentan con una interfaz de usuario en Discovery.
1
Verificar dweOS
Después de seguir la configuración de dweOS, continúa con los siguientes pasos.
Anota el/los puerto(s) a los que se está transmitiendo.
2
Instalar GStreamer
- Para Linux
- Para Windows
En la terminal, ejecuta:Luego ejecuta lo siguiente para instalar GStreamer:
3
Identificar las variables para la línea de comandos de GStreamer
Para vincular los flujos de video de los dispositivos conectados, primero configurarás dweOS.
1
Primero, identifica la dirección IP de tu portátil/escritorio, que introduciremos en el software dweOS.Esto se puede hacer ejecutando lo siguiente:Verás muchas direcciones; búscalas, en particular las direcciones que siguen al texto:
inet.
2
Deberás reemplazar la IP recopilada en dweOS bajo Dirección IP y anotar el puerto al que estás transmitiendo. (5600 por defecto)En este ejemplo, la IP recopilada es 192.168.5.55 y el puerto es 5600

El campo Puerto establecido en 5601 es automático con el programa; el único endpoint al que se está transmitiendo tiene el ícono de cámara al lado y un botón de papelera para eliminarlo.
3
El formato de GStreamer es el siguiente:
Teniendo en cuenta el puerto, hay algunos parámetros del comando GStreamer que debes conocer.Flags vitales:
-v(Verbose): imprime información del flujo para que puedas ver la resolución/el formato negociado entre elementos.-e(EOS - End of Stream): crucial para la grabación. Si pulsas Ctrl+C sin este flag, tu archivo podría corromperse (encabezados faltantes). Este flag fuerza un cierre limpio.--help-all: lista todos los elementos disponibles en tu sistema.
-
videotestsrc: genera un patrón de prueba (barras de color, estática, etc.). -
Parámetro:
pattern=smpte(osnow,ball, etc.) -
autovideosrc/v4l2src: tu webcam (Linux). -
Parámetro:
device=/dev/video0 -
filesrc: lee un archivo local. -
Parámetro:
location=./video.mp4 -
udpsrc: recibe datos por la red mediante UDP.- Parámetro:
port=5600(el puerto en el que se escucha). - Parámetro:
caps="..."(¡Esencial! Indica a GStreamer qué son realmente los bytes en bruto). - Parámetro:
buffer-size=524288(aumenta el búfer para evitar la pérdida de paquetes en flujos de alta resolución).- Los tamaños de búfer estándar para H264 son
96y para MJPEG26
- Los tamaños de búfer estándar para H264 son
- Parámetro:
-
autovideosink: abre una ventana y reproduce el video. -
fakesink: descarta datos (útil para probar si una tubería se ejecuta sin errores). -
filesink: escribe en un archivo. -
Parámetro:
location=output.mp4 -
udpsink: transmite por la red.
-
videoconvert: convierte espacios de color (por ejemplo, de YUV a RGB). Si obtienes un error “could not link”, ponlo en el medio. -
videoscale: redimensiona el video. -
capsfilter: fuerza un formato específico. Sintaxis:video/x-raw,width=1920,height=1080. -
rtp[format]depay: despaquetador. Desempaqueta los paquetes de red RTP para revelar el flujo interior.- Ejemplos:
rtpjpegdepay(para MJPEG),rtph264depay(para H.264).
- Ejemplos:
-
[format]dec: decodificador. Descomprime el video en píxeles brutos para su visualización.- Ejemplos:
jpegdec,avdec_h264.
- Ejemplos:
4
Aquí tienes algunas líneas de ejemplo para probar tu GStreamer:Patrón de pruebaVisualización de webcam (si está disponible)Forzar webcam a 720p 30 fpsGrabar la webcam
Para resoluciones más altas, la salida de video suele ser MJPEG comprimido.
image/jpeg acepta el formato comprimido de la cámara.jpegdec añade un decodificador para convertir ese flujo JPEG en video sin procesar para que la ventana pueda mostrarlo.Esto grabará en segundo plano; para terminar el clip, pulsa
Ctrl + C y estará en el directorio actual.En este caso, el archivo se llama test.mp4, cuya existencia podemos comprobar con ls -lh test.mp4.4
Configurar la transmisión desde dweOS
Con una comprensión de los comandos GStreamer, podemos comenzar a configurar el flujo de video específicamente con dweOS.Según el códec de video (MJPEG / H264) especificado en dweOS, ejecuta cualquiera de los siguientes:MJPEGH264¡Ahora deberías tener una transmisión en vivo de tu cámara en una ventana!
5
Configurar la grabación
¡Para grabar una transmisión, una vez más el códec de video importa!Sabrás que se está grabando una transmisión si tu terminal contiene texto similar a este:
MJPEGPara MKVH264Para MKVPara MP4

La línea anterior es para un formato MKV, ya que AVI es increíblemente delicado con GStreamer y requiere que los datos de salida estén formateados de manera muy específica. Aunque es posible, MJPEG a AVI es mucho más sencillo en Discovery, ya que es la salida predeterminada.
6
¡Éxito!
¡Maravilloso! ¡Ahora deberías tener los componentes básicos para configurar una transmisión y una grabación con GStreamer!
Descargar Discovery
La solución multimedia todo en uno para flujos de video de red submarinos.


