[FFmpeg-user] Feeding encoder output to filter_complex

Nitish S Prabhu nitish.prabhu at ittiam.com
Tue Aug 1 10:09:17 EEST 2017


Hi,

I wanted to know if we can feed the output of an encode operation to a "filter_complex" with a command like:
"ffmpeg -i input.mp4 -c:v libx264 -b:v 10000k "[encoder-output-1]" \
-c:v libx264 -b:v 5000k "[encoder-output-2]" \
-c:v libx264 -b:v 2000k "[encoder-output-3]" \
-filter_complex "[encoder-output-1][0:v]psnr" -f null - \
-filter_complex "[encoder-output-2][0:v]psnr" -f null -\
-filter_complex "[encoder-output-3][0:v]psnr" -f null - "

If we can do something like this, I wanted to know how I need to name the output pad of the encoder, so that I can reference/map it in the filter_complex
If not, please let me know what is the easiest way to achieve something like this.

Note:
1. I want to use filter_complex here, rather than use the psnr x264 option, as I will be replacing the x264 encoder with something else (which doesn't support PSNR computation)
2. I don't want to dump the output of the encoder to a file and then feed it to another ffmpeg pipeline to compute psnr
3. I want to avoid using pipes, as I will be generating multiple bitrate streams from the encoder

Thanks,

Best Regards,
Nitish

This is confidential Ittiam property.


More information about the ffmpeg-user mailing list