This repository is a Java library, published as net.bramp.ffmpeg:ffmpeg, that programmatically drives the FFmpeg and FFprobe command-line binaries. It does not perform media processing itself; it constructs exact argument lists through a fluent builder hierarchy (FFmpegBuilder, FFmpegOutputBuilder, FFmpegHlsOutputBuilder) and executes them as subprocesses via FFmpegExecutor, with ProgressListener hooks for live encoding status. FFprobe invocation is wrapped by FFprobe, which deserializes JSON into typed probe models (FFmpegProbeResult, FFmpegStream, FFmpegChapter, FFmpegPacket, and others). Architecture is a layered library: builder and option packages model CLI syntax; job classes manage one- and two-pass encoding; progress parsers support line- and socket-based progress; probe models and Gson adapters handle JSON parsing; and a ProcessFunction abstraction decouples process execution from callers. Entry points are the FFmpeg/FFprobe constructors, builder.build() returning List<String>, and FFmpegExecutor.createJob()/createTwoPassJob(). Primary data flows move from Java objects to command-line arguments, then to external binary stdout/stderr, and finally to parsed progress events or typed probe results. Engineering quality is strong: tests assert exact command argument lists and parse fixture outputs, CI runs on JDK 11/17/21, examples are generated from test code and verified, and release automation publishes to Maven Central. Some drift exists: AudioCodec/VideoCodec are static snapshots of FFmpeg codec names, several builder methods are deprecated, the NUT demuxer is marked incomplete/experimental, and some fixture files date back to older FFmpeg/Libav versions. Overall this is an active, well-crafted library rather than a standalone application or data project.