video filter

The FFmpeg overlay filter

Composites one video or image on top of another at a chosen position.

3 of 3 variants measured Measured 2026-08-20

The part that catches people

Without shortest=1 the output runs as long as the LONGEST input, so overlaying a small logo on a long video is fine, but overlaying a long loop on a short clip silently extends the clip. The other trap is format: overlaying a transparent PNG onto yuv420p can lose the alpha unless the chain converts.

Measured, not described

Every row below is a real job. The same 1280x720 five-second H.264 source went through each variant, so the numbers are comparable to each other and to every other filter page on this site. Encode time is the FFmpeg step on its own, separated from the download and the upload.

VariantEncodeOutputCost
Top-left, 10px inset2077 ms563.0 KB · 1280x720$0.0036
Bottom-right1115 ms533.0 KB · 1280x720$0.0027
Centred3968 ms596.8 KB · 1280x720$0.0056

The exact commands

Top-left, 10px inset

job_ee5a8c37e523464d

Explicit stream labels. A two-input overlay needs them, and -vf cannot express it.

ffmpeg -i https://cdn.rendobar.com/assets/examples/sample.mp4 -i https://cdn.rendobar.com/assets/brand/web-app-manifest-192x192.png -filter_complex "[0:v][1:v]overlay=10:10" -t 5 out.mp4

Bottom-right

job_5aadd4eb4f854661

Capitals are the base, lowercase the overlay. This is the expression people look up.

ffmpeg -i https://cdn.rendobar.com/assets/examples/sample.mp4 -i https://cdn.rendobar.com/assets/brand/web-app-manifest-192x192.png -filter_complex "[0:v][1:v]overlay=W-w-10:H-h-10" -t 5 out.mp4

Centred

job_c9bce12871a241cf

Same convention, centred.

ffmpeg -i https://cdn.rendobar.com/assets/examples/sample.mp4 -i https://cdn.rendobar.com/assets/brand/web-app-manifest-192x192.png -filter_complex "[0:v][1:v]overlay=(W-w)/2:(H-h)/2" -t 5 out.mp4

How these numbers were produced

Each variant was submitted to the Rendobar API as an ffmpeg job against the same public source file, and the response was recorded verbatim. Encode time is the API's own per-step timing for the FFmpeg step. Output size is the byte count of the file the job produced. Cost is what the job was actually billed.

Nothing here was estimated, and the whole set is re-runnable, so if a figure looks wrong it can be checked rather than argued about. The 72 variants behind this filter reference cost $0.193082 in total to measure.

Frequently asked questions

What does the FFmpeg overlay filter do?

Composites one video or image on top of another at a chosen position.

What is the most common mistake with overlay?

Without shortest=1 the output runs as long as the LONGEST input, so overlaying a small logo on a long video is fine, but overlaying a long loop on a short clip silently extends the clip. The other trap is format: overlaying a transparent PNG onto yuv420p can lose the alpha unless the chain converts.

How long does overlay take to run?

On a 1280x720 five-second H.264 source, the fastest variant on this page (Bottom-right) spent 1115 ms inside FFmpeg. That figure is the encode step alone, measured separately from the download and the upload, so it is the filter's own cost rather than the round trip.

Do I need FFmpeg installed to use overlay?

Not with Rendobar. Every command on this page ran through the Rendobar API against a URL, with no local FFmpeg install and no server. The job id next to each row is the real job that produced the numbers.

Run overlay without installing FFmpeg

Every command on this page ran through the API against a URL. No binary, no server.