
Founder
Abdelrahman Essawy
Founder of Rendobar. Builds the media processing platform behind the FFmpeg, compose, captions, and generation APIs.
Posts
FFmpeg 9 in the cloud, run it exactly as local
Run FFmpeg 9.0 through one API call. Send the command you would run locally, pass any input, and get back every file it writes, with no server to manage.
Creatomate alternative, JSON video at $0.04 a minute
Compare Rendobar and Creatomate for JSON video: per-second billing against pixel credits, about $1 a minute of 1080p on Essential, and one edit in both formats.
JSON video API pricing, cheapest per minute in 2026
Compare what 7 JSON video APIs charge for 10, 100 and 1,000 minutes of video a month, from pay as you go to annual plans. Prices checked 2026-10-20.
JSON2Video alternative, cheaper per minute of video
Compare Rendobar and JSON2Video for JSON video: $0.04 a minute against 20 to 42 cents, scenes against tracks, and free renders that carry no watermark.
Shotstack alternative, the cheapest JSON video API
Compare Rendobar and Shotstack for JSON video: $0.04 a minute against 20 cents pay as you go, feature by feature, and the same edit written in both formats.
Animated captions API, TikTok styles in one call
Caption a video with animated word-by-word styles in one API call. See three presets on one clip, the FFmpeg ASS karaoke route, and where it breaks.
Compress video for Discord under 20 MB, every time
Get a video under Discord's 20 MB free upload limit with the two-pass bitrate formula, see why one CRF guess misses, and cap the size in one API call.
Compress video for WhatsApp under 16 MB
Get a vertical phone video under WhatsApp's 16 MB media limit as H.264 and AAC, keep it 9:16, and meet the Business API's stricter codec rules.
FFmpeg vs video API, one edit rendered three ways
Compare self-hosted FFmpeg, a template API and an FFmpeg API that also runs timelines, on one real edit with measured render time and cost per run.
JSON to video API, one timeline to MP4
Render an 18 second 1080p MP4 from one JSON timeline with a crossfade, titles and music, and see the FFmpeg filter graph the same edit needs.
How we benchmark FFmpeg
Learn how the FFmpeg benchmarks on this blog are run: the source clip, what stays fixed, why sizes are exact and timings are not, and how to rerun a sweep.
Video APIs that write output to your own S3 bucket
Compare 13 video processing APIs on delivering output to a bucket you own. Three can write to S3 through an IAM role, and five document no delivery at all.
Give a service S3 access without an access key
Send job outputs to your S3 bucket through an IAM role a service assumes, with no access key to leak and access revoked by deleting one stack.
FFmpeg on n8n Cloud without Execute Command
Run FFmpeg, compression and captions on n8n Cloud with the verified Rendobar node, installed from the nodes panel, with long jobs parked on a Wait node.
S3 presigned URL expires early, the session caps it
Learn why an S3 presigned URL dies before its expiry when a role session signed it, and why the failure arrives as a 400 ExpiredToken, not a 403.
Generate a video thumbnail when a file lands in S3
Generate a thumbnail for every video that lands in S3 without the black first frame. Seek in, size the JPEG for its slot, and key each job on the ETag.
Process video in S3 with FFmpeg, past Lambda's limit
Process video in S3 with FFmpeg by reading a presigned URL and piping the result back, then see what changes when an encode outlives Lambda's 900 seconds.
Save FFmpeg output to S3, pipe a fragmented MP4
Send FFmpeg output to an S3 bucket by piping a fragmented MP4 into aws s3 cp. A regular MP4 can't stream, and MPEG-TS cost 7.5% more bytes.
Video processing in Activepieces, without polling
Add the Rendobar piece to Activepieces, connect an API key, and build a flow that compresses a video and posts the link while the flow sleeps.
Custom fonts in a video API fail silently
Learn why a video API renders the wrong font without an error, how a CSS font stack fixes it, and which of 16 writing systems render with no setup.
Opus vs AAC vs MP3, requested vs delivered bitrate
Compare what Opus, AAC, MP3 and FLAC deliver against the bitrate you ask for. Opus at 64k wrote 29 percent more bytes than requested, AAC within 3 percent.
AV1 vs HEVC vs H.264 at the same file size
Compare H.264, HEVC and AV1 held to one 150 KB budget and scored with VMAF. At about 245 kbps for a 720p clip, AV1 scored 84.8, HEVC 76.2 and H.264 64.3.
AV1 vs VP9 vs HEVC vs H.264 at default settings
Compare H.264, HEVC, VP9 and two AV1 encoders at their usual CRF on one clip, by size, encode time and cost, and see why the AV1 encoder mattered.
AVIF vs WebP vs JPEG, file size at common settings
Compare AVIF, WebP, JPEG and PNG encoded from one frame at each format's usual quality setting. AVIF wrote the smallest file, with quality left unmatched.
How to compress video to a target size with FFmpeg
Convert a file size target into FFmpeg settings with the two-pass formula or a CRF search, and see how little already-encoded video shrinks.
When compressing a video would make it bigger
See how a compression job spots that re-encoding would grow an efficient file and returns the original, and how it reports a size target it cannot reach.
FFmpeg CRF vs bitrate, and why ABR overshoots
Compare CRF, target bitrate and VBV-capped modes in FFmpeg on one clip. Single-pass 700k ABR overshot by 13%, and adding a VBV cap landed within 0.2% of target.
FFmpeg API pricing, the billing unit decides
Compare what 6 FFmpeg APIs charge for one stated workload of 400 short clips a month, then watch the ranking flip on large files. Prices checked 2026-09-26.
Burn subtitles into a video with FFmpeg
Render SRT or ASS captions into the picture with FFmpeg, with the escaping a subtitles= path or URL needs, force_style keys, and when to keep them soft.
FFmpeg CRF explained, and what each step saves
Compare FFmpeg CRF 18 to 32 on one clip. Each 3 points of CRF removed about a quarter of the file, while encode time showed no pattern at all.
FFmpeg encoding settings, ranked by what they cost
Compare the FFmpeg settings that change output size, measured on one file: preset, keyframe interval, CRF, tune, scaler and pixel format, ranked by effect.
Common FFmpeg errors and the fix for each
Find the fix for common FFmpeg errors, from moov atom not found to Invalid argument, and learn why most failed video jobs never reached FFmpeg.
FFmpeg keyframe interval, what a short GOP costs
Compare FFmpeg keyframe intervals on one clip: what a shorter GOP adds to the file, what it buys, and the flags that give HLS segments aligned keyframes.
FFmpeg lanczos vs bicubic scaling, size not speed
Compare FFmpeg scaling flags on one 720p to 480p downscale. The flag moved output size by 66 percent and encode time by nothing measurable.
FFmpeg threads benchmark, 8 threads is 3x not 8x
Compare FFmpeg libx264 thread counts from 1 to 8 over five runs each. Eight threads was 2.99x faster than one, and pinned threads made the timings repeatable.
FFmpeg -tune values, zerolatency doubles the bytes
Compare all seven x264 -tune values on one clip at CRF 23. zerolatency needed 2.2x the bytes and fastdecode 1.7x. On a capped stream they cost quality.
Add a watermark with FFmpeg, and why -vf fails
Watermark a video with FFmpeg using an image or text, with corner positions, logo sizing relative to the frame, and why overlay under -vf always fails.
Common ffprobe commands and what each one prints
Probe a media file with the five ffprobe commands that cover most jobs, each shown with the output ffprobe 8.0 prints, from one field to the full JSON.
Validate video uploads with ffprobe, not extensions
Probe an uploaded file to confirm it is real media before you encode it, with four checks, a local Node validator and the error a renamed file returns.
Get video duration with ffprobe, container vs stream
Read a video duration with ffprobe when the container and streams disagree. On MP4s with audio the container matched the audio, up to 493 ms past the video.
Free FFmpeg API tiers and where they stop
Compare 6 free FFmpeg API tiers by what they let you run before paying: runtime caps, input size caps, card checks and trimmed output. Checked 2026-09-26.
Why FFmpeg benchmark times vary run to run
Learn why one FFmpeg command gave byte-identical output ten times while its encode time swung 2.13x, and how pinning -threads makes the timings repeatable.
AI Agent video tools in n8n that read FFmpeg errors
Build an n8n AI Agent that runs FFmpeg jobs as tools, checks its balance before it spends, and reads the real FFmpeg error when a job fails.
NVENC vs libx264, cheaper per job, bigger files
Compare NVENC on an NVIDIA L4 against libx264 on one clip. h264_nvenc cost 1.3x to 2.2x less per job and wrote 2.2x the bytes, and speed was inside the noise.
SVT-AV1 presets, 4x the time for a fifth fewer bytes
Compare SVT-AV1 presets 4 to 12 over three runs each. Preset 4 took 3.9x as long as preset 12 for a file a fifth smaller, at quality this sweep did not score.
Transcode ladder cost per rung, skip the upscale
Compare the cost of each rung in a 1080p to 240p transcode ladder. On a 720p source the 1080p rung took 4x the encode time of 720p and added no detail.
Video codec comparison, AV1 wins at the same size
Compare AV1, HEVC, VP9 and H.264 on one file. Held to one 150 KB budget, AV1 scored VMAF 84.8 against H.264's 64.3. Encode time and cost per codec too.
Video processing APIs fall into four categories
Compare the 4 kinds of video processing API, raw FFmpeg, timeline, video platform and batch transcoder, by what you send and how each one bills.
How long video transcoding takes on an API
Read where the time goes when a short clip is transcoded through a video API. Waiting to start took a median 3.6 s, over four times the FFmpeg encode.
FFmpeg x264 presets, the cliff is at ultrafast
Compare all nine x264 presets at CRF 23 on one clip. ultrafast wrote 6.6x the bytes of veryslow, and the middle presets do not shrink in order of effort.
FFmpeg yuv420p vs yuv444p, 420 is what plays
Compare FFmpeg pixel formats on one clip, check why a video fails in QuickTime or Safari, and fix it with one flag. yuv420p also wrote the smallest file.
FFmpeg fits on Vercel. Size isn't the problem
Read the measured numbers behind FFmpeg on Vercel. The binary is 76 MB against a 250 MB cap, and the 4.5 MB body limit is what stops you.
Parsing ffprobe metadata, five fields that mislead
Read the ffprobe fields that mislead a parser: rotation, still-image duration, missing channel layout, cover art as video and HDR, with real JSON for each.
Best FFmpeg API in 2026, pick by runtime cap
Compare 11 FFmpeg APIs by runtime cap, billing unit and toolchain, then rerun the one measured job with its IDs yourself. Prices checked 2026-09-27.
Why ffmpeg.wasm can't run in a Cloudflare Worker
Read why ffmpeg.wasm can't run in a standard Cloudflare Worker. workerd blocks runtime WASM compilation, and the 31 MB core barely survives gzip.
Everything shipped is dated in the changelog.
