Search code examples
ffmpegrtsp

FFMPEG: How to output image2 format into a tcp/udp socket?


I've got ffmpeg to read some RTSP stream and output image2 format to stdout like so:

ffmpeg -rtsp_transport tcp -i  "rtsp:xxxxx" -f image2 -update 1 -

But stdout is not good enough for me.. I am trying to pass it to "push" it to some other process that I cannot "pipe" to ffmpeg due to some architecture constraints. I am running on Linux so I was hoping to simulate some tcp/udp socket via the file system e.g. /dev/somthing or similar. Alternatively, maybe it's possible to get ffmpeg to send the image directly to a given tcp/udp address? This didn't work though (ffmpeg expects a file output):

ffmpeg -rtsp_transport tcp -i  "rtsp:xxxxx" -f image2 -update 1 "udp://localhost:3333"

Any ideas? Thanks


Solution

  • The normal image2 muxer expects to write to one or more image files. Use the image2pipe muxer.

    ffmpeg -rtsp_transport tcp -i  "rtsp:xxxxx" -f image2pipe "udp://localhost:3333"
    

    (-update has no relevance when piping).