
Webhooks for long-running video jobs: reliable pipeline patterns
Webhooks for long running video jobs fail quietly. Use the hint-plus-reconciler pattern: verify signatures, key idempotency on job ID, add a polling backstop.
Learn about video processing, FFmpeg workflows, automation, and scaling tips.

Webhooks for long running video jobs fail quietly. Use the hint-plus-reconciler pattern: verify signatures, key idempotency on job ID, add a polling backstop.

"Filtering and streamcopy cannot be used together" means your filtergraph forces a decode. Keep -c copy where it counts by splitting codecs per stream.

The extract subtitles FFmpeg one-liner is easy. Finding the right track with ffprobe, handling PGS bitmaps, and fixing mov_text in MP4 is where jobs break.

ffmpeg cropdetect finds black bars on one file fine, then breaks in a batch. Sample past the intro, take the last crop line, round to even, crop per file.

Instagram error 2207052 means Meta's transcoder rejected your video's format, not your API code. Map every cause to an ffprobe check and one FFmpeg fix.

The Whisper 25MB limit is a byte cap, not a time cap. Re-encode first, split only when you must, and re-offset every timestamp so your SRT still lines up.

TikTok video specs in one place: 1080x1920, H.264, 10 minutes, 500 MB mobile vs 4 GB web, plus the real FFmpeg preset and the Content Posting API rules.

FFmpeg has no auto reframe video vertical mode. Four crop strategies that ship, from a fixed offset to detection-driven tracking with smoothing and deadbands.

Convert SRT to VTT without losing cue positioning: what FFmpeg's ASS intermediate silently drops, how to go back to SRT, and how to shift cues after a trim.

The Webflow video size limit is 10 MB per upload and 30 MB for background video, on every plan. Target-size math and the FFmpeg commands that fit the cap.