[FFmpeg-user] Using FFMPEG to encode multiple outputs in 'parallel' (doesn't work?)

Hans Carlson forbyta at gmx.com
Thu Jun 29 00:47:52 EEST 2017


On Wed, 28 Jun 2017, shalin wrote:

> Nicolas George wrote
>
>> I think you need to take a little step back and learn what Unix pipes 
>> mean. They are meant to connect the output of a process to the input of 
>> the next one, but in your examples your commands neither consume their 
>> input nor produce output.
>
> Piping only shows that I am trying to run all three ffmpeg transcode 
> instances in parallel using single command line. If it makes any 
> clearer, you can read them as three separate commands issued at the same 
> time. With that, I hope we can focus on the concern raised in the 
> original question.

As Nicolas already said, you need to take a closer look at "piping" vs 
"background processing" in the UNIX shell.

What you are doing is PIPING:

   <process 1> | <process 2> | <process 3>

This takes the output of process 1 and uses it as the input to process 2, 
then the output of process 2 and uses it as the input to process 3.

It sounds like what you want is BACKGROUND PROCESSING:

   <process 1> & <process 2> & process 3 &

This puts all 3 processes in the background and runs them concurrently.

You might want to check out some basics of the UNIX shell, such as this 
link:

   https://www.washington.edu/computing/unix/startdoc/shell.html


More information about the ffmpeg-user mailing list