ffmpeg
Technical notes on web development, DevOps, and AI integration.
2 articles
- 02:55ai
A valid MP4 that will never transcribe
A video file can be perfectly valid and still carry no audio. A nonstate skip keeps the row visible and holds the pipeline until someone decides.
TL;DR: A supposedly broken MP4 was actually valid, just with zero audio streams. The pipeline now runs ffprobe first, stores an audio_track flag, and emits a visible skip that never marks work done. Frames follow a fixed fps cadence with capped extraction, while audio is downsampled to 16kHz mono WAV for transcription.
#ffmpeg#whisper#ffprobe - 01:14ai
I finally split my transcription failures into two families
My transcription pipeline died silently mid-window. A hang turns out to be an exception that must be caught, and every failure has an owner.
TL;DR: After a hung transcription exposed an uncaught TimeoutExpired exception, the author split pipeline failures into infrastructure issues, which silently retry, and content issues, which log a failure event. Broken files follow a retry ladder capped at three attempts, then a visible skip that still blocks completion. Correct exit-code mapping keeps retries from amplifying hopeless failures.
#whisper#ffmpeg#python