Cortar Vídeo
Arrastra los tiradores hasta la parte que quieres y guárdala — con la imagen copiada intacta, sin pérdida alguna. Tu archivo nunca sale de tu equipo.
Tu navegador lee y recodifica el archivo. Ninguna petición lo envía a ninguna parte: esta página no tiene servidor al que subirlo.
Preguntas
¿Se pierde calidad al cortar?
No en el modo por defecto. «Misma calidad — sin recodificar» deja pasar la imagen intacta, así que no hay pérdida de generación y termina varias veces más rápido: 0,20 s frente a 0,60 s al recodificar los mismos tres segundos. El precio es el tamaño: el vídeo se comprime en grupos que empiezan en un fotograma clave, de modo que si tu punto de entrada cae a mitad de grupo, el archivo arrastra los fotogramas hasta el anterior. La reproducción empieza exactamente donde lo marcaste, pero el archivo puede pesar más que una recodificación del mismo tramo.
¿Cuándo conviene recodificar?
Cuando quieras el archivo más pequeño posible, o un formato distinto. Al recodificar solo se escriben los fotogramas seleccionados, así que un corte a mitad de grupo sale bastante más ligero: en pruebas, 4,1 MB frente a 6,7 MB para los mismos tres segundos. Cuesta una generación de compresión, que a la calidad usada aquí no se aprecia.
¿Puede cortar ajustándose a un tamaño?
Sí: elige «ajustar a un tamaño» y un límite, por ejemplo 10 MB para Discord o 25 MB para email. El bitrate necesario se deduce de la duración de tu selección, así que una selección más corta admite más calidad dentro del mismo límite. Si la primera pasada falla, se corrige y se recodifica una vez.
¿Se conserva el audio?
Sí, sincronizado y recortado al mismo tramo. Puedes quitarlo a propósito con la casilla «quitar audio», útil cuando el clip va a un sitio donde el sonido sobra, y además reduce el archivo.
¿Qué archivos funcionan?
MP4 y MOV con H.264, y WebM: lo que tu navegador pueda decodificar y codificar. Los formatos nativos de cámara como ProRes o raw normalmente no los abre un navegador; transcodifica antes una copia de trabajo.
Las demás herramientas
Build this into your own project
Trimming video without re-encoding it — the same way this page does it, on the user's machine, with no server. Take the code, or hand the prompt to a coding agent.
import { Input, Output, Conversion, BlobSource, BufferTarget, Mp4OutputFormat, ALL_FORMATS } from 'mediabunny';
const input = new Input({ source: new BlobSource(file), formats: ALL_FORMATS });
const output = new Output({ format: new Mp4OutputFormat(), target: new BufferTarget() });
const conversion = await Conversion.init({
input, output,
trim: { start: 20, end: 35 },
// Omit `video` entirely to copy the track through; add
// { forceTranscode: true } to re-encode for a smaller file.
});
await conversion.execute(); Add "trim a video" to my project. It must run in the browser — no upload, no server.
Requirements:
- Use the "mediabunny" npm package (WebCodecs). Not ffmpeg.wasm: ~30 MB and needs SharedArrayBuffer,
which requires COOP/COEP headers that break third-party scripts.
- Offer two modes. Default: copy the video through untouched — pass NO video options to
Conversion.init and mediabunny will not re-encode. Measured 0.20s against 0.60s for a re-encode of
the same three seconds.
- Explain the trade honestly: video is stored in groups starting at a keyframe, so a copied cut whose
in-point falls mid-group carries the frames back to that keyframe. Playback still starts exactly
where the user set it, but the file is larger — 6.7 MB copied against 4.1 MB re-encoded in testing.
- The re-encode mode needs forceTranscode: true. Without it mediabunny correctly notices the
transcode is unnecessary and copies anyway, which makes the two modes identical.
- Give the user handles on a timeline with a live preview, not two number fields. Accept typed times
in any of 12.5, 1:04 or 1:04.5.
- Keep audio in sync and trimmed to the same range, with an option to drop it.
Reference implementation: https://life2film.com/tools/video-trimmer/
The engine is documented for agents, and every tool page is available as
markdown by adding .md to its address.