[FFmpeg-user] multiple outputs to different processes

Dragan Randjelovic logicomyu at gmail.com
Sun Jul 22 02:50:57 EEST 2018

It is about one input stream - mpets that has already been muxed properly
including metadata, that I want to multiply and deliver to different
processes, and/or use different transport protocols like udp or rtp over
tcp/udp, ex: one for multicast streaming , one for unicast connection to a
streaming server, one for retranscoding (another process) one for recording
to a file etc.. etc. So the idea is to multiply mpegts for different

I guess what I need is some combination of tee pseudo muxer
features/and/or  feeding separate muxer processes (I am not aware of
benefits/drawbacks related with those two different approaches, when one
would be recommended  over the other in terms of latency or datastream
parallelization or serialization on output etc.)
in addition of piping the standard output to the tee object in power shell
and feeding external process/es.

Doing this kind of thing in a single command string seems a bit prone to
> error and breakage ?

Ex. I have another lose concept on mind, to create virtual or loopback
interface on L3 switch, and collect stream from there....

I just don't know how exactly or what would be the best way to achieve
aforementioned at this moment. Eventually I will go trough the pain if I
have to, just wanted to check first if I am trying to invent hot water...

Any help or discussion is well appreciated.

Thank you all for your time and for sharing your experience!


On Sat, Jul 21, 2018 at 7:20 PM, Carl Zwanzig <cpz at tuunq.com> wrote:

> On 7/21/2018 9:01 AM, Carl Eugen Hoyos wrote:
>> 1. How can I pipe output of ffmpeg without saving it to a file to three
>>> different processes?
> 2. Is it possible to use encoded stream with different muxers ex. -f mpegts
>>>> udp and -f rtp_mpegts > rtp
>>>     and pipe first stram to process one, and seccond stream to process
>>> two ?
> But udp and rtp cannot work with pipes because both are network
>> output protocols (pipe is another protocol).
> Windows complicates this a bit, and you haven't give much detail on the
> inputs and outputs.
> It's possible that you could make this work on windows using powershell
> and 'tee'; have one ffmpeg process write to stdout, pipe that into tee, and
> have tee writing into another ffmpeg's stdin. You'll have to experiment and
> do some research on the exact mechanisms (the sites superuser.com and
> stackoverflow.com are good resources for this).
> Doing this kind of thing in a single command string seems a bit prone to
> error and breakage. Can you split the input (what is it??) and  feed
> separate muxer processes?
> Later,
> z!
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".

More information about the ffmpeg-user mailing list