in reply to ffmpeg console progress bar
my $frametotal,$fwide,$fhigh;
You need to enclose the list of variables in parentheses or my will only work on $frametotal.
my ( $frametotal, $fwide, $fhigh );
@vcmd=(@vcmd,"-vf","scale=min(1280\\,iw):-1");
That is usually written as:
push @vcmd, "-vf", "scale=min(1280\\,iw):-1";
if($a eq "progress") { my $pcent=$prog{"frame"}/$frametotal*100; my $hcent=int($pcent/2); my $bar="[".("#" x $hcent).(" " x (50-$hcent))." ] "; $bar .=sprintf("%.2f",$pcent)."% fps=".$prog{"fps"}; print "\r$bar"; }
I would probably write that as:
next if $x ne 'progress'; my $pcent = $prog{ frame } / $frametotal * 100; printf '%s[%-50s ] %.2f%% fps=%s', "\r", '#' x int( $pcent / 2 ), +$pcent, $prog{ fps };
|
---|
In Section
Cool Uses for Perl