Recortador de vídeo

Recorta archivos de vídeo ajustando el inicio y el final. Modo rápido o preciso.

Tus archivos nunca salen de tu dispositivo

Arrastra y suelta un archivo de vídeo aquí

o haz clic para navegar · MP4, WebM, MOV, AVI, MKV (máx. 2 GB)

Cómo funciona

  1. Carga un archivo de vídeo: selecciona cualquier archivo MP4, WebM, MOV o AVI de tu dispositivo, sin envío a ningún servidor.
  2. Ajusta los puntos de corte: utiliza las asas de la línea de tiempo o introduce tiempos exactos de inicio y fin para definir el clip que quieres conservar.
  3. Previsualiza el recorte: reproduce el segmento seleccionado para confirmar el corte antes de exportar.
  4. Descarga el clip: exporta el vídeo recortado directamente a tu dispositivo en el formato original.

¿Por qué usar el recortador de vídeo?

La mayoría de las aplicaciones de edición de vídeo requieren instalación, suscripción o envío a servidores en la nube. Este recortador basado en el navegador procesa el vídeo por completo en tu dispositivo mediante WebCodecs y FFmpeg.wasm; tus imágenes nunca salen de tu máquina. Es ideal para cortar rápidamente introducciones y cierres, aislar clips para redes sociales, eliminar segmentos no deseados de una grabación y recortar antes de compartir. Sin pérdida de calidad por recodificación a menos que elijas un formato de salida distinto, y sin límite de tamaño más allá de la memoria disponible de tu dispositivo.

Formatos admitidos

Cortar, recortar, dividir, y por qué las palabras importan

En el habla casual «recortar», «cortar» y «dividir» son intercambiables. En el herramentaje de vídeo describen tres operaciones diferentes. Un recorte elimina contenido del inicio y/o del final y conserva todo en el medio. Un corte en terminología editorial es la frontera entre dos planos adyacentes en un montaje terminado. Una división toma un clip y lo divide en dos clips en un punto elegido. Desde el punto de vista del usuario, esta herramienta realiza un recorte: tú estableces un inicio y un final, y conserva lo que está entre ambos.

La pregunta interesante es cómo elimina los bytes no deseados. Dos enfoques fundamentalmente diferentes producen archivos diferentes.

Fast (stream copy) vs Precise (re-codificación)

Stream copy, el modo «Fast», no mira la imagen en absoluto. Abre el contenedor, encuentra los rangos de bytes que corresponden a la ventana de tiempo solicitada, copia esos bytes literalmente en un nuevo contenedor, arregla el índice y los timestamps, y escribe el resultado. No hay decodificación, no hay re-codificación, no hay pérdida de calidad. En una máquina moderna, un archivo H.264 de 500 MB se puede recortar de esta manera en mucho menos de un segundo porque el trabajo es esencialmente E/S de archivo, no aritmética. El problema: la operación de copia solo puede comenzar y terminar en ciertos cuadros, específicamente los I-frames: y esos no están necesariamente donde apuntaste. Así que el inicio del clip resultante puede desplazarse hacia adelante o hacia atrás entre cero y diez segundos, dependiendo de la configuración del códec usada cuando el archivo se codificó originalmente.

La re-codificación, modo «Precise», decodifica toda la sección afectada a píxeles en bruto, descarta los cuadros antes del inicio solicitado y después del final solicitado, luego re-codifica el resto. Esto produce un clip que comienza y termina exactamente en el cuadro elegido (precisión de cuadro, en terminología de la industria) al coste de una codificación completa. Una codificación completa es cientos o miles de veces más lenta que un stream copy e introduce una generación de pérdida de compresión porque los códecs con pérdidas no son idempotentes: codificar, decodificar y re-codificar la misma imagen no te devuelve exactamente la misma imagen. La pérdida es pequeña a altos bitrates pero no es cero, y se acumula si el mismo archivo se recorta repetidamente.

La ruta Fast es correcta para el 95% de los casos en que el usuario elimina intros, outros o material aproximado al principio y al final y no le importa que el corte sea medio segundo de donde apuntó. La ruta Precise es la herramienta correcta cuando el corte necesita caer en un cuadro específico: un remate, un efecto de sonido, una marca de sincronización para un montaje posterior.

I-frames, P-frames, B-frames, y el GOP

Cada códec de vídeo moderno (H.264, H.265 (HEVC), VP9, AV1) comprime vídeo explotando el hecho de que los cuadros consecutivos son casi la misma imagen. En lugar de codificar cada cuadro independientemente, el códec codifica una pequeña fracción de cuadros completamente y el resto como diferencias respecto a sus vecinos. Los cuadros completos son I-frames (codificados intra). Los cuadros de diferencia vienen en dos variedades: P-frames (predichos solo a partir de cuadros anteriores) y B-frames (codificados bipredictivamente, pueden referenciar cuadros anteriores y posteriores). La secuencia I, luego una serie de cuadros P y B, luego otra I, se llama Group of Pictures, o GOP. Dentro de un GOP, ningún cuadro puede decodificarse sin referencia al I-frame al inicio. Entre GOPs no hay dependencia: un reproductor puede entrar al archivo en cualquier I-frame y empezar a decodificar desde ahí.

Por eso el recorte por stream copy está restringido a límites de keyframes. Para empezar un archivo nuevo en un no-I-frame tendrías que decodificar el I-frame al inicio del GOP, luego decodificar cada cuadro P y B hasta tu punto elegido, y luego empezar a escribir, que es exactamente lo que hace la ruta Precise. Un archivo H.264 típico usa una longitud de GOP de dos a cuatro segundos. libx264 de FFmpeg por defecto unos 250 cuadros (~10 segundos a 25 fps, ~8.3 segundos a 30 fps). Los proveedores de streaming lo acortan a dos segundos para alinearse con los límites de segmento HLS y DASH. H.265 tolera GOPs más largos más eficientemente y a menudo se configura entre cuatro y diez segundos. VP9 (libvpx) por defecto una distancia máxima de keyframe de 240 cuadros. AV1 típicamente cae en el rango de 2-6 segundos. La implicación práctica: un usuario que pide un corte en minuto 1 segundo 30 puede, dependiendo de con qué se codificó originalmente el archivo, terminar con un resultado de stream copy que comienza en cualquier lugar entre minuto 1 segundo 24 y minuto 1 segundo 32.

Una breve historia de FFmpeg

FFmpeg fue iniciado el 20 de diciembre de 2000 por Fabrice Bellard, el científico informático francés que previamente había escrito el virtualizador QEMU y el compilador C TCC. Hizo commit bajo el seudónimo Gérard Lantau. El nombre viene de «FF» por fast forward y «mpeg» por la familia de códecs que originalmente estaba diseñado para manejar. La arquitectura desde el principio separó la implementación de códecs (libavcodec) del parsing de contenedores (libavformat), por lo que FFmpeg ha sido tan fácilmente extendido a lo largo de los años. Bellard entregó el mantenimiento a Michael Niedermayer en 2004. El proyecto sobrevivió a un fork célebre en 2011 cuando un grupo de desarrolladores se separó en un proyecto llamado Libav por desacuerdos de gobernanza; los dos proyectos volvieron a fusionarse en espíritu (si no formalmente) hacia 2018, con la mayoría de las mejoras de Libav remontadas a FFmpeg.

Hoy FFmpeg es la infraestructura silenciosa bajo una enorme fracción del vídeo del mundo, YouTube, Netflix, VLC, OBS Studio, Audacity, HandBrake, Plex y la mayoría de las canalizaciones de difusión profesional lo usan en algún lugar de su stack. La versión estable actual a 2026 está en la serie 8.x. La licencia es dual LGPL-2.1-or-later o GPL-2.0-or-later dependiendo de qué componentes opcionales se habiliten al compilar.

FFmpeg.wasm, FFmpeg en el navegador

En noviembre de 2020, un ingeniero taiwanés llamado Jerome Wu: ya conocido por el port Tesseract.js del motor OCR Tesseract, publicó el primer lanzamiento de FFmpeg.wasm, una compilación WebAssembly de FFmpeg que corre enteramente dentro del navegador. Anunció el proyecto el 4 de noviembre de 2020. Para 2026 el proyecto ha madurado significativamente, con el lanzamiento actual en la serie 0.12 y forks comunitarios activos. El paquete npm ahora empaqueta el binario WebAssembly central, un wrapper JavaScript que maneja el paso de mensajes entre el hilo principal y el worker thread que ejecuta el WASM, y un sistema de archivos virtual que permite al usuario mover archivos dentro y fuera usando objetos Blob y File de JavaScript ordinarios.

El proyecto tiene un requisito notorio que atrapa a cada desarrollador que intenta desplegarlo por primera vez. FFmpeg.wasm usa SharedArrayBuffer, la API JavaScript para compartir memoria entre el hilo principal y los worker threads. Tras la divulgación de las vulnerabilidades CPU Spectre y Meltdown en 2018, los navegadores endurecieron las condiciones: la página debe servirse con dos cabeceras HTTP específicas, Cross-Origin-Opener-Policy: same-origin y Cross-Origin-Embedder-Policy: require-corp, y cada recurso cross-origin en la página debe optar por CORS o venir del mismo origen. Sin esas cabeceras, SharedArrayBuffer es undefined y FFmpeg.wasm no se inicializará. Chrome lo aplica estrictamente; Firefox y Edge siguen a Chrome; Safari se unió desde la versión 15.2 en adelante.

Formatos de contenedor

Un contenedor es la envoltura del archivo. No codifica la imagen; empaqueta imágenes y audio codificados junto con timing y metadatos.

APIs de vídeo del navegador, lo que realmente está disponible

El elemento HTML5 <video> se convirtió en Recomendación W3C el 28 de octubre de 2014, tras aproximadamente una década de desarrollo. Antes de HTML5, incrustar vídeo significaba Adobe Flash o Microsoft Silverlight. El elemento en sí no tiene API de edición, no hay método video.trim(start, end), ni video.cut(), ni forma incorporada de extraer un segmento. Para hacer algo más allá de play, pause y seek, el desarrollador debe acudir a una API de menor nivel o compilar FFmpeg en la página.

Media Source Extensions (MSE) es una especificación W3C que permite a JavaScript construir el flujo de bytes que alimenta al elemento <video>. Alcanzó Candidate Recommendation en 2014; usado en producción por YouTube ya en septiembre de 2013 y por Netflix desde junio de 2014. Su caso de uso principal es streaming adaptativo (no expone cuadros decodificados, así que no puede realizar una re-codificación por sí solo. WebCodecs es la alternativa de menor nivel) expone directamente a JavaScript las implementaciones de códec de vídeo y audio incorporadas del navegador, con interfaces VideoDecoder y VideoEncoder. WebCodecs se lanzó oficialmente en Chrome 94 el 21 de septiembre de 2021 tras un origin trial en Chrome 93, y desde entonces ha llegado a Firefox y Safari. El estado del arte actual es que las herramientas usen WebCodecs cuando está disponible y el códec esté soportado, y caigan a FFmpeg.wasm en caso contrario. Esta herramienta usa ambos.

Límites de longitud de plataformas sociales, por qué la gente abre trimmers

Una gran parte de la demanda de recorte basado en navegador viene de preparar vídeos para subir a plataformas sociales, cada una con su propia longitud máxima:

Estos números cambian constantemente a medida que las plataformas iteran, pero el patrón general de «la plataforma X rechazará tu subida si excede Y minutos» es duradero, y es una de las razones más comunes por las que un usuario final abre un trimmer en primer lugar.

Cuándo un editor de escritorio es la mejor herramienta

Para usuarios para quienes un trimmer de navegador es insuficiente, el ecosistema profesional gira en torno a unas pocas aplicaciones de escritorio establecidas. Apple ProRes es una familia de códecs intermedios introducida por Apple en abril de 2007 junto con Final Cut Studio 2, diseñada para edición, no entrega. Final Cut Pro, originalmente lanzado en 1999 por Macromedia y adquirido por Apple un año después, fue reconstruido y relanzado como Final Cut Pro X el 21 de junio de 2011; solo macOS y el editor estándar en gran parte del mundo del documental y la difusión. DaVinci Resolve, originalmente un sistema de gradación de color de alta gama, fue adquirido por Blackmagic Design en 2009 y progresivamente reconstruido en una suite completa de edición/post de audio/efectos visuales/gradación, disponible para macOS, Windows y Linux, con una versión base gratuita que ha cambiado la economía del mercado de edición sustancialmente. Adobe Premiere Pro es el tercer actor mayor y domina gran parte de la industria del cine y la TV. Ninguno de estos es apropiado para el usuario que quiere quitar los primeros diez segundos de un clip grabado con teléfono antes de publicarlo en TikTok, que es exactamente el hueco que un trimmer de navegador llena.

Por qué «sin subida» importa aquí específicamente

La propiedad más importante de un trimmer de vídeo basado en navegador es que el archivo no sale de la máquina del usuario. Los datos de vídeo se cargan desde una entrada File directamente a memoria JavaScript, son procesados por WebAssembly dentro del proceso del navegador, y el resultado se ofrece como descarga. No hay subida, no hay tercero que pueda leer el archivo, no hay factura cloud que escale con el número de usuarios, no hay política de retención de datos que escribir o auditar. Para contenido sensible (reuniones grabadas, metraje personal, cualquier cosa que no se pudiera subir a un tercero por razones legales o contractuales) esa es la única arquitectura que tiene sentido.

La desventaja es que el usuario paga el coste de cómputo. Un trimmer que corre en una granja de servidores puede re-codificar un clip 4K en unos segundos porque tiene acceso a hardware de codificación GPU; la misma operación en FFmpeg.wasm corriendo en software en una CPU de laptop puede tomar uno o dos minutos. La ruta Fast (stream copy) sortea esto en gran medida evitando la codificación por completo, por eso es el valor predeterminado correcto para casi cada caso de uso de recorte casual. La ruta Precise (re-codificación) es el valor predeterminado correcto solo cuando el usuario necesita explícitamente precisión de cuadro al coste de esperar.

Más preguntas

¿Por qué mi recorte Fast comienza antes o después de lo que pedí?

Porque el modo Fast (stream copy) solo puede comenzar en un keyframe (I-frame), y el keyframe más cercano antes de tu inicio solicitado puede estar hasta un GOP entero antes, entre 2 y 10 segundos dependiendo de cómo se codificó la fuente. Si necesitas el corte en un cuadro específico, cambia a modo Precise, que re-codifica y cae exactamente en el cuadro elegido al coste de una espera más larga y una pequeña generación de pérdida de compresión.

¿Por qué el audio está desincronizado después de mi recorte Fast?

Usualmente porque el punto de corte cayó dentro de un GOP de vídeo y el cuadro de audio en ese timestamp no se alinea con un keyframe de vídeo. El modo Fast desplaza el inicio de vídeo al keyframe más cercano pero puede llevar los timestamps de audio sin cambios, produciendo un desfase. El arreglo estándar de FFmpeg es la bandera -avoid_negative_ts make_zero, que rebasea todos los timestamps para que el primero sea cero. Si la sincronización es crítica, el modo Precise remuestrea el audio para alinear con el nuevo inicio y evita esta clase de problema.

¿Puedo exportar a un formato diferente del de entrada?

Para conversión de formato, la herramienta Video Converter está construida específicamente para eso y expone más opciones. El trimmer está optimizado para el caso de mismo-códec, mismo-contenedor (el modo Fast preserva la codificación original completamente) o para re-codificar a un pequeño conjunto de salidas web-friendly en modo Precise. La re-codificación siempre cuesta tiempo de CPU y una generación de pérdida de calidad; si solo necesitas cambiar el contenedor sin re-codificar la imagen, un equivalente ffmpeg -c copy es la herramienta correcta.

¿Por qué la entrada AVI funciona pero la salida AVI no?

AVI precede a la mayoría de las características modernas de códec (los B-frames son torpes, la sincronización de audio es frágil más allá de 4 GB, el formato de índice es limitado), y el herramentaje moderno generalmente lo trata como formato de entrada legado solamente. Las entradas en AVI se leen bien; las salidas por defecto a MP4 o WebM, que son las familias ISOBMFF/Matroska activamente mantenidas y reproducen en cada navegador y reproductor moderno.

Herramientas relacionadas

Conversor de vídeo Creador de GIF Vídeo → texto Recortador de audio