Me gustaría usar un Teradek Cube conectado a una cámara de transmisión para enviar a un servidor que ejecuta ffmpeg con un puerto RTMP abierto, y hacer que ffmpeg vuelva a transmitir esa transmisión a un decodificador usando RTMP o RTSP.
Monaserver hace esto, pero necesito duplicar esta funcionalidad usando ffmpeg. Usaría el cubo como servidor, excepto que podría estar transmitiendo en cualquier lugar, por lo que abrir puertos en todos los lugares a los que va la cámara no es una opción. Nuestro decodificador es un Teradek Slice. Cualquier otra sugerencia sobre cómo hacer esto sería muy apreciada.
¡Gracias!
Respuesta
Puede usar FFmpeg como servidor RTMP de la siguiente manera ffmpeg -f flv -listen 1 -i rtmp://localhost:1935/live/app -c copy rtsp://YOUR_RTSP_HOST
Notas:
-
-listen 1
hace que FFmpeg actúe como un servidor RTMP cuando se usa con el protocolo RTMP - Use
rtmp://localhost:1935/live/app
como la URL del servidor RTMP en la fuente - Puede establecer cualquier ruta de reproducción
rtmp://localhost:1935/any/thing
y cualquier puerto - La principal ventaja de esta forma es la simplicidad, la desventaja es que el servidor se detiene si la fuente se detuvo o tuvo errores de codificación
- La otra opción es usar nginx con nginx-rtmp-module
Comentarios
- Perfecto, muchas gracias. Si ' quisiera usar una aplicación como VLC para recibir la transmisión desde el servidor, ¿ffmpeg puede escuchar una conexión y enviar una salida al puerto local 1935 también?
- Sí,
ffmpeg -f flv -listen 1 -i rtmp://localhost:8889/live/app -c copy -f flv -listen 1 rtmp://localhost:1935/live/app
, simplemente configure diferentes puertos para entrada y salida - Gracias nuevamente, esto es exactamente lo que necesito. Mientras lo probaba, ' probé casi todas las combinaciones de / live / app en Teradek Cube y varias aplicaciones de transmisión de video iOS RTMP para probar esto, y ffmpeg no responde mientras funciona monaserver. ¿Es ' app ' la clave, y debe incluirse live en el cliente ' s url?
- ¿Desea explicar cómo se configuran las URL de RTMP en Cube, aplicaciones de iOS y Monaserver? abres los puertos requeridos? Puede establecer cualquier ruta de reproducción / cualquier / cosa
- Además, el servidor de entrada FFmpeg se inicia cuando recibe la transmisión, y la salida comienza cuando recibe una solicitud