Hi I am trying to use Open3 to capture stderr and avoiding the shell ie: my $str="-v 35 -i /data/Downloads/testinput.mp4 -c:v libx264 -preset fast -crf 28 -g 25 -c:a libmp3lame -b:a 128000 -threads 4 -af volume=2.5 -vf scale='352:trunc(ow/((1/sar)*dar)/2)*2',fps='fps= 20',setsar='1/1' -profile:a aac_he_v2 -strict -2 -y /home/mike/testopen.mp4"; use Text::ParseWords; @args = quotewords('\s+', "'", $str);
use IPC::Open3; local(*HIS_IN, *HIS_OUT, *ERR); my $cmd='ffmpeg'; my $pid=open3(undef, undef, *ERR,$cmd, @args) or die print "$!"; my $line; while (sysread ERR, $line, 256){ print $line; } waitpid($pid, 0); However the output is buffered for around 2 minutes at a time rather immediately being printed Is there any way around this