>> Is that the best way to do this or can -map be used somehow? Would the >> split filter potentially be doing extra frame copies unnecessarily? >> I'm using current ffmpeg head. > > No, that's not the best way. Don't worry about the frame copies - it's > the encodes that gobble up your CPU. > > You're looking for the "tee" muxer: > https://www.ffmpeg.org/ffmpeg-formats.html#tee > > "The tee muxer can be used to write the same data to several files or > any other kind of muxer. It can be used, for example, to both stream > a video to the network and save it to disk at the same time. > > It is different from specifying several outputs to the ffmpeg > command-line tool because the audio and video data will be encoded > only once with the tee muxer; encoding can be a very expensive > process." > > ffmpeg -i input1.mkv -i input2.mkv -filter_complex > "myfilter[output1][output2]" -map "[output1]" -f null /dev/null -map > "[output2]" -y -f tee "high.mp4|medium.mp4|low.mp4" > > > (I think you now need to add "-c:v foo -c:a bar", as it seems that > using the tee muxer requires you to explicitly map input streams, and > to explicitly give encoding options, as ffmpeg can't determine > defaults.)
Thanks Moritz. The tee muxer looks interesting, but doesn't allow you specify different encoding options for each output (eg: different quality or bitrate) - correct? I think in that case I may need to stick with the split filter so each output can be customised. Thanks, -Jonathan. _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user