FFmpeg Media Compressor is an OutSystems component that enables client-side video compression using FFmpeg WebAssembly.
The component allows applications to compress uploaded video files directly in the browser, without requiring a backend FFmpeg installation or an external media-processing service.
It includes the required FFmpeg runtime resources, a reusable JavaScript compression script, a helper block for loading the FFmpeg script, and a public CompressVideo client action that receives compression settings and returns the compressed video output.
CompressVideo
The compressed result is returned as Base64 together with metadata such as original size, compressed size, compression ratio, output file name, MIME type, success status, and message. The Base64 result can then be converted to Binary Data and downloaded, stored, uploaded, or sent to an external API.
This version compresses videos in the browser using FFmpeg WebAssembly, so performance depends on the user’s device, browser, memory, and video size. Large files may be slow or fail due to browser memory limits. The current version outputs MP4 only and does not expose custom FFmpeg commands, progress tracking, cancellation, batch compression, trimming, thumbnail generation, or format conversion. One compression at a time is recommended. FFmpeg resources must be correctly deployed and reachable at runtime. Client-side compression does not replace server-side validation, so consuming apps should still validate file type, file size, permissions, and storage/upload rules.
GPL-3.0