Jeg vil gerne bruge en Teradek Cube tilsluttet et udsendelseskamera til at skubbe til en server, der kører ffmpeg med en åben RTMP-port, og få ffmpeg til at streame igen, der føder til en dekoder ved hjælp af RTMP eller RTSP.
Monaserver gør dette, men jeg er nødt til at duplikere denne funktionalitet ved hjælp af ffmpeg. Jeg ville bruge kuben som en server, bortset fra at den kunne sende hvor som helst, så åbning af porte overalt, hvor kameraet går, er ikke en mulighed. Vores dekoder er en Teradek Slice. Alle andre forslag til, hvordan du gør dette, vil blive meget værdsat.
Tak!
Svar
Du kan bruge FFmpeg som en RTMP-server som følger ffmpeg -f flv -listen 1 -i rtmp://localhost:1935/live/app -c copy rtsp://YOUR_RTSP_HOST
Bemærkninger:
-
-listen 1
får FFmpeg til at fungere som en RTMP-server, når den bruges med RTMP-protokol - Brug
rtmp://localhost:1935/live/app
som RTMP-server url på kilden - Du kan indstille en hvilken som helst afspilningsbane
rtmp://localhost:1935/any/thing
og enhver port - Den største fordel ved denne måde er enkelhed, ulempen er serverstop, hvis kilden stoppede eller havde kodningsfejl
- Den anden mulighed er at bruge nginx med nginx-rtmp-modul
Kommentarer
- Perfekt, tak et ton. Hvis jeg ' gerne vil bruge et program som f.eks. VLC til at modtage streamen fra serveren, kan ffmpeg også lytte efter en forbindelse og output til lokal port 1935?
- Ja,
ffmpeg -f flv -listen 1 -i rtmp://localhost:8889/live/app -c copy -f flv -listen 1 rtmp://localhost:1935/live/app
, indstil bare forskellige porte til input og output - Tak igen, det er nøjagtigt hvad jeg har brug for. Mens jeg testede det, har jeg ' prøvet næsten enhver kombination af / live / app på Teradek Cube og forskellige iOS RTMP-streamingvideoapps for at teste dette, og ffmpeg reagerer ikke, mens monaserver fungerer. Er ' app ' nøglen, og skal live inkluderes i klienten ' s url?
- Vil du uddybe, hvordan du indstiller RTMP-webadresserne i Cube, iOS-apps og Monaserver? åbner du nødvendige porte? Du kan indstille en hvilken som helst playpath / any / thing
- FFmpeg Input-server starter også, når den modtager stream, og output starter, når den modtager en anmodning