Banco de pruebas

Lo que DJI no te dice sobre transmitir en vivo desde tu dron (lo probamos nosotros)

La documentación de DJI cubre menús. No cubre las preguntas que la gente realmente busca: qué códec usa la transmisión, cuál es el bitrate real, si los cuadros por segundo se sostienen, y qué camino conviene configurar primero. Así que pusimos un Matrice 4E y un RC Plus 2 en el banco de pruebas y las respondimos directamente.

Respuesta rápida: los drones enterprise de DJI transmiten H.264 perfil High a 1280×720, unos 30 fps, solo video. La etiqueta de calidad "1.5M" de la app es un piso, no un tope; medimos entre 9.5 y 14 Mbps. Los drones enterprise (Pilot 2) soportan RTSP y RTMP. Los de consumo (DJI Fly) son solo RTMP según la documentación de DJI. Para llevar el video a Hover, usa envío RTMP.

Empieza con RTSP, no con RTMP

Todo dron enterprise de DJI corre su propio servidor RTSP. Actívalo en Cloud Services → Customize Live Stream, define una cuenta y una contraseña, y el dron empieza a servir video en el puerto 8554. No requiere conexión a internet, ni cuenta de terceros, ni nada que configurar del lado receptor más allá del usuario y la contraseña.

Recibimos la transmisión directamente en ffmpeg por la red local:

rtsp://<cuenta>:<contraseña>@<ip-del-dron>:8554/streaming/live/1

Esa forma de URL (la ruta /streaming/live/1, el 1 final como índice de cámara) no aparece en ninguna parte de la documentación de DJI. Tampoco lo que sale del otro extremo: H.264 perfil High, 1280×720, unos 30 fps, sin pista de audio. Lo medimos todo directamente.

RTSP es el punto de partida correcto porque es el camino de menor fricción hacia un video funcionando. Si solo quieres confirmar que tu dron puede transmitir, esta es la versión de cinco minutos.

RTMP: envíalo a otro destino

La misma pantalla de Customize Live Stream tiene una pestaña RTMP. Donde RTSP convierte al dron en un servidor del que tú lees el video, RTMP lo convierte en un cliente que lo envía a la URL que le indiques: un solo campo, dirección del servidor y stream key combinados (rtmp://host:puerto/ruta, la clave es el último segmento de la ruta).

Apuntamos el dron a un receptor en nuestro banco de pruebas y medimos el mismo codificador: H.264 High, 1280×720, ~30 fps. Aquí la hoja de especificaciones de DJI se vuelve francamente engañosa. El ajuste de calidad de la app muestra "1.5M" como tope de bitrate. El nuestro corrió de forma consistente entre 9.5 y 14 Mbps, y el indicador de tasa en vivo de la propia app confirmó más de 13 Mbps sostenidos. "Adaptive" hace exactamente lo que dice: el 1.5M es un piso que DJI garantiza, no un tope de lo que la transmisión puede usar.

Si presupuestaste ancho de banda o almacenamiento con el número que publica DJI, presupuesta más bien cerca de 14 Mbps.

Llevándolo a Hover

Con esa transmisión RTMP funcionando, apuntarla a Hover es el mismo envío, solo que dirigido a una URL que Hover te entrega en lugar de un receptor genérico. Agrega el dron en tu panel y Hover genera una URL de ingesta y un stream key de un solo uso. Pega eso en el mismo campo RTMP del dron y el video aparece en vivo: detección, grabación y el resto del pipeline de Hover corriendo sobre él como con cualquier otra cámara.

Lo corrimos de punta a punta con nuestro propio equipo: del control remoto a la ingesta de Hover, de la ingesta al pipeline de video, y del pipeline a la vista en vivo del panel mostrando la cámara real del dron. Ciclo completo, sin huecos.

Una nota sobre RTSP hacia Hover en específico: leer el feed RTSP del dron directamente en Hover (saltando el paso de envío de arriba) está en nuestro roadmap, todavía no disponible. Si quieres ese camino hoy, el que funciona es el envío RTMP.

La configuración completa, paso a paso

Este artículo cubre lo que encontramos. Para las rutas de menú exactas, capturas de pantalla y el desglose por modelo de qué soporta cada equipo, consulta la guía completa (en inglés):

Empieza a transmitir tu dron a Hover

Preguntas frecuentes

¿Qué códec usa la transmisión en vivo de un dron DJI?

H.264 perfil High. DJI no lo documenta; lo medimos con ffprobe en un Matrice 4E, en los caminos RTSP y RTMP. 1280×720, unos 30 fps, yuv420p.

¿Cuál es el bitrate real de una transmisión DJI?

Medimos entre 9.5 y 14 Mbps en red local, aunque el ajuste de calidad de la app dice 1.5M. La etiqueta de 1.5M es un piso, no un tope: el modo Adaptive sube muy por encima cuando el ancho de banda lo permite.

¿La transmisión de un dron DJI incluye audio?

No. La transmisión es solo video en los caminos RTSP y RTMP. Confirmamos que no hay pista de audio en las transmisiones medidas.

¿Cuál es la URL del stream RTSP de DJI?

rtsp://CUENTA:CONTRASEÑA@IP-DEL-CONTROL:8554/streaming/live/1 — la cuenta y la contraseña son las que defines en la pestaña RTSP, el puerto está fijo en 8554 y la ruta está fija en /streaming/live/1. El 1 final es el índice de cámara. DJI no documenta esta forma de URL; la observamos en el banco de pruebas.

¿Los drones DJI de consumo (DJI Fly) también transmiten?

Según la documentación de DJI, los drones con DJI Fly soportan solo envío RTMP personalizado, sin opción RTSP. La URL del servidor y el stream key van en un solo campo llamado RTMP Address.

¿Hover puede leer el feed RTSP del dron directamente?

Todavía no. La lectura RTSP directa hacia Hover está en nuestro roadmap. Hoy el camino que funciona es el envío RTMP: Hover genera una URL de ingesta y un stream key, y los pegas en el campo RTMP del dron.