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)

FFmpegProgressBar v0.0.7

Add a progress bar to ffmpeg commands

Authors

  • Sasha Abbott

License

CC0-1.0

Dependencies

Pod::To::Man:ver<1.2.1>:auth<zef:samy>Terminal::Spinners:ver<1.6.0>:auth<github:ryn1x>Terminal::Size:ver<1.0.1>:auth<zef:demayl>Terminal::WCWidth:ver<0.1.5>:auth<zef:raku-community-modules>

Test Dependencies

Provides

  • FFmpegProgressBar
  • FFmpegProgressBar::FFmpegFlags
  • FFmpegProgressBar::Formatter
  • FFmpegProgressBar::Parser
  • FFmpegProgressBar::Probe
  • FFmpegProgressBar::ProgressSnapshot
  • FFmpegProgressBar::Terminal

Documentation

The Camelia image is copyright 2009 by Larry Wall. "Raku" is a trademark of the Yet Another Society. All rights reserved.

Built with Podlite — the markup and publishing tools behind this site.