Vorrei utilizzare un Teradek Cube collegato a una telecamera di trasmissione per eseguire il push su un server che esegue ffmpeg con una porta RTMP aperta e avere ffmpeg re-stream che alimenta un decoder usando RTMP o RTSP.
Monaserver lo fa, ma ho bisogno di duplicare questa funzionalità usando ffmpeg. Userei il cubo come server, tranne che potrebbe trasmettere ovunque, quindi lapertura delle porte in ogni posizione in cui va la fotocamera non è unopzione. Il nostro decoder è un Teradek Slice. Qualsiasi altro suggerimento su come farlo sarebbe molto apprezzato.
Grazie!
Risposta
Puoi utilizzare FFmpeg come server RTMP come segue ffmpeg -f flv -listen 1 -i rtmp://localhost:1935/live/app -c copy rtsp://YOUR_RTSP_HOST
Note:
-
-listen 1
fa in modo che FFmpeg agisca come un server RTMP quando viene utilizzato con il protocollo RTMP - Usa
rtmp://localhost:1935/live/app
come URL del server RTMP sulla sorgente - Puoi impostare qualsiasi percorso di riproduzione
rtmp://localhost:1935/any/thing
e qualsiasi porta - Il vantaggio principale di questo metodo è la semplicità, lo svantaggio è che il server si arresta se lorigine si è arrestata o ha avuto errori di codifica
- Laltra opzione è usare nginx con nginx-rtmp-module
Commenti
- Perfetto, grazie mille. Se ' desidero utilizzare unapplicazione come VLC per ricevere il flusso dal server, può ffmpeg ascoltare una connessione e loutput anche sulla porta locale 1935?
- Sì,
ffmpeg -f flv -listen 1 -i rtmp://localhost:8889/live/app -c copy -f flv -listen 1 rtmp://localhost:1935/live/app
, imposta solo porte diverse per input e output - Grazie ancora, questo è esattamente ciò di cui ho bisogno. Durante il test ho ' ho provato quasi tutte le combinazioni di / live / app sul Teradek Cube e varie app per video in streaming RTMP iOS per testarlo, e ffmpeg non risponde mentre monaserver funziona. È ' app ' la chiave e deve essere inclusa nel client ' s url?
- Descriveresti come imposti gli URL RTMP in Cube, app iOS e Monaserver? apri le porte richieste? Puoi impostare qualsiasi percorso di riproduzione / qualsiasi cosa
- Inoltre il server di input FFmpeg si avvia quando riceve il flusso e loutput inizia quando riceve una richiesta