Conversation
Two failures that currently surface only part-way into a run. FFmpeg version. cut-silences and cut-mistakes pass their filtergraph with ffmpeg's '-/option file' syntax, which does not exist before FFmpeg 7. On FFmpeg 6 the render dies with 'Unrecognized option /filter_complex' after the work is already done. README and docs/SETUP.md ask for 'FFmpeg with ffprobe' without a minimum version, and scripts/preflight.mjs does not check ffmpeg. Reproduced on macOS with FFmpeg 6.0. Transcript shape. docs/TOOLS-AND-API-KEYS.md says 'Paragraphs, SRT subtitles, and segment-only transcripts do not supply the required word timing.' This rejects those in about a second, and also catches a missing audio_duration_secs and a last word ending past the stated duration - the wrong-file pairing that is otherwise expensive to discover. npm run preflight:media npm run preflight:media -- transcript.json Exit 1 if anything would fail.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
npm run preflight:media, which catches two failures that currently surface only part-way through a run.1. FFmpeg version
cut-silencesandcut-mistakespass their filtergraph using ffmpeg's-/option filesyntax:That syntax does not exist before FFmpeg 7. On FFmpeg 6 the run dies with
Unrecognized option '/filter_complex'— after transcription and cut planning are already done.The requirement isn't documented:
README.mdanddocs/SETUP.mdboth ask for "FFmpeg (including ffprobe)" with no minimum version, andscripts/preflight.mjsdoes not check ffmpeg at all.docs/VERIFICATION.mdrecords the release QA as FFmpeg 8.1.1, so the floor has never been exercised downward.Reproduced on macOS 15 with FFmpeg 6.0:
npm run checkandnpm testpass,npm run test:mediafails at the first render.2. Transcript shape
From
docs/TOOLS-AND-API-KEYS.md:This rejects those in about a second instead of minutes in, and also catches:
start/end/texton any wordaudio_duration_secsUsage
Exit 1 if anything would fail. No new dependencies.
npm run checkandnpm testboth still pass.Note
If the intended floor is lower than FFmpeg 7, the alternative fix is to inline the filtergraph instead of reading it from a file — though that trades the version requirement for an argument-length limit on long sources, which is presumably why the file form was chosen.