Skip to content

Releases: karhu-tv/opx-drift

opx-drift v0.2.1

Choose a tag to compare

@karhu-tv karhu-tv released this 29 Jul 11:28

--version now works. v0.2.0 shipped without it: opx-drift --version answered unknown subcommand '--version' and exited 2. That is the one question a support conversation opens with, so it is fixed and pinned.

  • --version / -V and --help / -h are answered from any argument position, before the subcommand is read. opx-drift file clip.mp4 --version reports the version rather than exiting 2 on a misplaced flag — the position a flag has to be typed in is exactly the detail that goes wrong under pressure.
  • --version prints to stdout, so it pipes.

Nothing else changed. file and sync are byte-for-byte the same analysis as v0.2.0 — same exact-rational frame period, same EBU R37 bounds, same quantisation floor printed under every report.

Linux x86_64, requires FFmpeg 6.x shared libraries (sudo apt install ffmpeg).

Built with the release-dist profile and --remap-path-prefix, stripped, and passed through the release gate: no symbol table, no build-host paths, no internal identifiers, no sibling-crate symbols. The FFI struct offsets are proven against a generated fixture rather than assumed, and the packaged tarball is extracted and run before publication rather than the build tree.

opx-drift v0.2.0

Choose a tag to compare

@karhu-tv karhu-tv released this 28 Jul 22:38

First public release.

Media timeline drift analyser. Two modes:

  • file — PTS deviation against the stream's own declared rate. The frame period is an exact rational, never floated, so the deviation reported is not an artefact of the measurement. Steps of ±1 period are dropped or repeated frames.
  • sync — audio-versus-video differential with EBU R37 (+40 / −60 ms) quoted. Each track is measured against its own declaration so the common-mode term subtracts out. Two files compares their video timelines instead.

Every report prints its quantisation floor. A deviation below that floor is not a measurement, and the tool says so rather than returning a confident zero.

Linux x86_64, requires FFmpeg 6.x shared libraries (sudo apt install ffmpeg).

Built with the release-dist profile and --remap-path-prefix, stripped, and passed through the release gate: no symbol table, no build-host paths, no internal identifiers, no sibling-crate symbols.