Parser
NAME
FFmpegProgressBar::Parser - Argument and output parsing
DESCRIPTION
Parses ffmpeg progress output, CLI arguments, config files, and duration strings. Provides methods for extracting duration from -t/-to/-ss flags and detecting video metadata via ffprobe.
METHODS
method parse-progress-line(Str $line) - Parse progress key=value pairs
method parse-duration(Str $line) - Parse duration from ffmpeg stderr
method parse-time(Str:D $s) - Parse time/duration strings (HH:MM:SS, MM:SS, etc.)
sub parse-dotfile(IO::Path $path) - Parse config file with shell-style tokenization (supports quoted strings and space-separated values)
sub parse-options-from-array(@args) - Parse CLI options
method parse-arguments(@args) - Parse ffmpeg CLI arguments
method uses-error-loglevel(@args) - Check for -loglevel error|quiet
method get-input-groups-with-seeks(@args) - Group inputs with their preceding -ss seeks
method parse-map-inputs(@args) - Parse -map arguments to extract contributing input indices
sub get-config-paths() - Return config file paths in priority order
sub get-effective-options(@cli, Str :$dotfile) - Merge CLI and dotfile options
sub is-pass2(@args --> Bool) - Detect if arguments specify two-pass encoding (-pass 2)
sub build-pass1-args(@args, Int :$first-output-idx = -1 --> List) - Build arguments for pass 1 from pass 2 command, returns (args, logfilename)