Rotar un vídeo 90° o 180°: el indicador o los píxeles
Publicado el 10/8/2026 · 11 min de lectura · Herramientas de archivos
Daniel Okonkwo — Desarrollador front-end y redactor de Tecnología en Allin
Rendimiento web · Formatos de archivo
Verificado con 3 fuentes
Esta herramienta recodifica. No pone un indicador de rotación. La orden que construye es -i <archivo> -vf <cadena> -c:v libx264 -preset ultrafast -crf 23 -c:a aac -b:a 192k <salida>, donde la cadena vale transpose=1 para un cuarto de vuelta a la derecha, transpose=2 para un cuarto de vuelta a la izquierda, y hflip,vflip para media vuelta — dos espejos salen más baratos que dos transposiciones y dan exactamente la misma imagen, cosa que confirma una comparación fotograma a fotograma. Una fuente WebM sigue la misma vía con libvpx y Opus. Marcar una casilla de espejo añade hflip o vflip a la cadena. Quitar el sonido sustituye los argumentos de audio por -an. Cada píxel se decodifica, se mueve y se vuelve a comprimir: es lento, cuesta una generación con pérdida, y produce un archivo que se ve derecho absolutamente en todo, porque no queda ningún indicador que un reproductor pueda ignorar. Dos consecuencias que conviene saber antes de pulsar. Un cuarto de vuelta intercambia las dimensiones guardadas: un clip de 1080x1920 sale en 1920x1080, y la herramienta muestra ese intercambio antes de arrancar. Y el archivo no encoge. Sobre un clip de prueba de 1080x1920 y 6 segundos que pesaba 493 466 bytes, un giro de 90 grados produjo 513 371 bytes — un 4 % más que el original, porque el preajuste ultrafast a CRF 23 gasta bits con más soltura que el codificador que hizo el original. El sonido se conserva pero se recodifica a AAC a 192 kbit/s; nunca se copia tal cual.
Hay dos maneras completamente distintas de girar un vídeo, y solo una toca la imagen. Esta herramienta toma la vía lenta, con pérdida y universal — y hay buenas probabilidades de que tu clip de móvil tumbado no la necesite en absoluto.
Dos operaciones que se parecen y no tienen nada que ver
Un archivo de vídeo se puede girar de dos maneras. La primera escribe una pequeña instrucción en el contenedor — una matriz de visualización, en la familia MP4 y QuickTime — que dice «muestra esto girado 90 grados». Los píxeles no se tocan, la operación dura lo que se tarda en reescribir unas decenas de bytes, y es perfectamente reversible. La segunda decodifica cada fotograma, mueve los píxeles y los vuelve a comprimir. Eso lleva minutos en vez de milisegundos, cuesta una generación de compresión con pérdida, y no se deshace.
El problema del indicador es que solo es un consejo. Un reproductor tiene que leer el contenedor, encontrar la matriz y aplicarla, y no todos lo hacen. Los reproductores web lo respetan de forma desigual, algunos programas de edición importan los fotogramas en bruto e ignoran la instrucción, ciertos descodificadores y televisores antiguos nunca la aprendieron, y unas cuantas herramientas la aplican por segunda vez sobre un reproductor que ya lo había hecho — así es como un clip acaba boca abajo. El indicador es instantáneo, sin pérdida y a veces desobedecido; la recodificación es lenta, con pérdida y siempre obedecida. No hay una tercera vía que sea las dos cosas.
Esta herramienta eligió la segunda vía a propósito, y lo dice en una línea bajo sus controles: la rotación se escribe en la propia imagen, no en un indicador que unos reproductores ignoran y otros aplican dos veces, y por eso se recodifica. Es una descripción honesta del código. La tabla de abajo expone el trato completo, para que decidas si lo quieres antes de gastar los minutos.
Puede que tu clip de móvil tumbado no necesite girarse
Es la razón más frecuente para llegar a una herramienta de rotación, y suele ser el remedio equivocado. Un móvil graba con su sensor en una orientación fija y escribe un indicador de rotación que describe cómo lo sostenías. El archivo es, por tanto, correcto: los píxeles están apaisados, el indicador dice «cuarto de vuelta», y cualquier aplicación que lea el indicador muestra el vídeo derecho. Cuando una aplicación lo muestra tumbado, la culpable es esa aplicación, no el archivo.
La herramienta no muestra el indicador existente, y esa es su función ausente más útil. Lee las dimensiones del clip desde un elemento de vídeo oculto en la página, y los navegadores ya informan de esas dimensiones después de aplicar la rotación — así que un clip vertical de móvil aparece como vertical, correctamente, sin nada que diga si es porque los píxeles son verticales o porque un indicador lo pidió. Desde dentro de la herramienta no puedes distinguirlos. Haz la comprobación fuera: abre el clip en dos reproductores distintos. Si uno lo muestra derecho y el otro tumbado, hay un indicador, el archivo está bien, y recodificarlo solo te costará calidad. Si todos lo muestran tumbado, los píxeles están realmente tumbados y esta es la herramienta correcta.
Una garantía si vas a hacerlo igualmente. Esta versión de ffmpeg aplica el indicador de rotación existente antes de tu filtro, así que el giro que pides se compone con el indicador en vez de pelearse con él: la salida es lo que mostró la vista previa, y después ya no lleva indicador. No obtendrás un clip girado dos veces. Simplemente habrás pagado una recodificación que quizá no necesitabas.
Las casillas de espejo, la vista previa y el archivo
La herramienta muestra una vista previa en directo: tu clip reproduciéndose, girado con CSS, para que veas el encuadre antes de confirmar. La idea es buena, y durante un tiempo fue correcta para todas las combinaciones menos cuatro. La vista previa aplicaba su transformación como rotar y luego escalar, y CSS compone eso de derecha a izquierda — así que el espejo iba primero y la rotación después. La cadena de filtros hace lo contrario: transpose primero, los espejos añadidos después. Rotar y reflejar no conmutan, de modo que esos dos órdenes no dan la misma imagen, y un cuarto de vuelta con exactamente una casilla de espejo producía un archivo a media vuelta de la vista previa. La vista previa escribe ahora escalar y luego rotar, lo que se compone como rotar-y-luego-reflejar y coincide con la cadena. El archivo siempre fue el correcto; lo que mentía era la imagen que se daba de él.
Pasar los dos órdenes por el mismo codificador zanja la cuestión. Sobre el mismo clip de prueba, transpose=1,hflip y hflip,transpose=1 produjeron dos fotogramas distintos — distinto número de bytes, distintas sumas de comprobación — mientras que lanzar dos veces la misma orden dio una salida idéntica byte a byte, así que la diferencia es real y no ruido del codificador. Marca los dos espejos juntos y el desacuerdo desaparece: transpose=1,hflip,vflip y hflip,vflip,transpose=1 dieron el mismo fotograma, porque un par de espejos es media vuelta y media vuelta sí conmuta con todo.
En la práctica, las dieciséis combinaciones de botones coinciden ya con la vista previa, y el rodeo en dos pasadas que este artículo recomendaba — girar primero, descargar, y volver a pasar la descarga solo con el espejo — ya no hace falta. Si encuentras alguna combinación en la que el archivo no coincida con lo que viste, merece la pena avisar: sería un fallo nuevo, no este.
Qué pasa con el sonido, y por qué el archivo crece
El sonido nunca se copia tal cual. Si lo mantienes, se recodifica a AAC a 192 kbit/s, o a Opus a la misma tasa si la fuente es WebM; si lo quitas, los argumentos de audio pasan a -an, que elimina la pista en vez de silenciarla. Recodificar un audio que ya era con pérdida es una segunda generación, y aunque 192 kbit/s es lo bastante generoso como para que casi nadie lo note, no es nada despreciable. Si el sonido importa y la imagen no tiene que ser perfecta, plantéate extraer el audio primero y volver a ponerlo después.
La imagen se codifica con libx264 en el preajuste ultrafast y CRF 23. Ultrafast es el más rápido de los once preajustes de velocidad y el menos eficiente: se salta la mayor parte del análisis que permite gastar menos bits con la misma calidad, lo que es el compromiso correcto para un único hilo del navegador y el equivocado para el tamaño del archivo. En el clip de prueba, un archivo de 1080x1920 y 6 segundos que pesaba 493 466 bytes volvió con 513 371 bytes tras un giro de 90 grados. No se añadió nada al vídeo; simplemente hicieron falta más bits para guardar peor el mismo metraje. Espera el mismo perfil en tus clips: rotar no es un paso de compresión, y tratarlo como tal te decepcionará.
| Aspecto | Indicador de rotación (metadatos) | Recodificación (esta herramienta) |
|---|---|---|
| Trabajo realizado | Unas decenas de bytes reescritos | Cada fotograma decodificado, movido y recomprimido |
| Calidad de imagen | Intacta — no se decodifica ningún píxel | Una generación con pérdida (libx264, CRF 23, preajuste ultrafast) |
| Dimensiones guardadas | Sin cambios — 1080×1920 sigue siendo 1080×1920 | Intercambiadas en un cuarto de vuelta — 1080×1920 pasa a 1920×1080 |
| Tamaño del archivo | Idéntico salvo unos pocos bytes | Medido 493 466 → 513 371 bytes en un clip de prueba de 6 segundos (+4 %) |
| Se ve derecho en | Los reproductores que leen la matriz de visualización — no todos | Todo, porque ya no queda nada que respetar |
| Pista de audio | Intacta | Recodificada a AAC a 192 kbit/s, o eliminada con -an |
| Reversible | Sí — vuelve a poner el indicador | No — los píxeles se han movido y recomprimido |
Preguntas frecuentes
- ¿Un cuarto de vuelta a la izquierda es peor que uno a la derecha?
- No. Son la misma operación con un parámetro distinto: transpose=1 en sentido horario, transpose=2 en el contrario. Ambas mueven cada píxel exactamente una vez, cuestan el mismo tiempo y provocan la misma única recodificación. El botón de 180 grados tampoco es peor, aunque esté hecho con dos espejos en vez de dos giros — ejecutar hflip,vflip y transpose=1,transpose=1 sobre el mismo fotograma dio una salida idéntica byte a byte, así que el atajo es exacto además de rápido.
- ¿Por qué mi archivo girado ha salido más grande que el original?
- Porque se recodificó, y los ajustes del codificador priorizan la velocidad sobre el tamaño. La herramienta usa libx264 con el preajuste ultrafast, que hace muy poco del análisis que un preajuste más lento emplea para meter la misma imagen en menos bits, con un objetivo de calidad constante de CRF 23. Si el original lo comprimió un codificador paciente — el chip de un móvil, o un editor exportando toda la noche — una segunda pasada apresurada a calidad parecida necesita de verdad más sitio. Se midió un aumento del 4 % en el clip de prueba; una fuente bien comprimida puede crecer más. No ha fallado nada; estás viendo el coste de una recodificación, que es el precio de la vía compatible con todo.
- Mi vídeo está derecho en el móvil y tumbado en el ordenador. ¿Qué hago?
- Esa es la firma de un indicador de rotación respetado por un programa e ignorado por otro, lo que significa que el archivo no está roto. Si el único programa que se equivoca es uno que apenas usas, deja el archivo en paz. Si tiene que estar bien en todas partes — porque lo vas a subir, enviárselo a alguien o importarlo en un editor que ignora los indicadores — entonces recodifícalo aquí, aceptando una generación de pérdida a cambio de un archivo sin nada que malinterpretar. No recodifiques un archivo que ya está correcto donde a ti te importa.
- ¿Puede la herramienta girar un clip dos veces por accidente?
- No para la rotación en sí. La versión de ffmpeg que hay detrás aplica cualquier indicador de rotación existente antes de tu filtro y no escribe ninguno en la salida: un cuarto de vuelta pedido sobre un clip con indicador da un cuarto de vuelta en total, no dos. La vista previa también coincide con el archivo: componía su transformación CSS en el orden inverso al de la cadena de filtros, lo que dejaba un cuarto de vuelta combinado con exactamente un espejo a media vuelta de lo que habías aprobado, y eso se ha corregido del lado de la vista previa, no del lado de la salida.
- ¿Puedo girar aquí sin recodificar?
- No. La herramienta tiene un solo camino y pasa por el codificador; no hay modo de «solo indicador» ni opción de copia de flujo. Es una decisión deliberada, no un descuido — una rotación por indicador es la operación con más probabilidades de producir un archivo que parece arreglado en la máquina donde lo arreglaste y está mal en la máquina a la que se lo envías, mal resultado para una herramienta cuyos usuarios en general no pueden comprobarlo. Si quieres específicamente la vía de los metadatos, necesitas una herramienta de línea de órdenes o un editor de contenedor. Si quieres un archivo correcto en todas partes sin pensarlo, es este.
Artículos que podrían interesarte
Todas las guías →Herramientas relacionadas
Estas cuatro herramientas ejecutan ffmpeg en tu navegador: no se sube nada, y nada de esto depende de que un servidor siga en pie. El comportamiento descrito se leyó en el código de cada componente y luego se confirmó ejecutando los mismos arreglos de argumentos contra la compilación de ffmpeg que el sitio incorpora, así que vale para la versión que hoy está en línea, no para ffmpeg en general. Los tamaños y las cifras de sonoridad salen de archivos de prueba sintéticos y cortos; tu propio material dará otros números con las mismas órdenes. Donde el texto en pantalla de una herramienta y su código se contradicen, este artículo sigue al código.
Fuentes
¿Has detectado un error en este artículo?