Vídeo Flash (.flv)

Especificación Estándar

Flash Video (FLV) es un formato contenedor desarrollado por Macromedia y Adobe para transmitir audio y vídeo sincronizados por Internet mediante el complemento Adobe Flash Player.

Inspección y metadatos

Los sistemas operativos y analizadores de archivos identifican los archivos de FLV inspeccionando la secuencia de bytes binarios inicial:

Selecciona o arrastra archivos aquí

Privado - los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

Firma de cabecera a nivel de bytes (bytes mágicos)

Los sistemas operativos y analizadores de archivos identifican los archivos de FLV inspeccionando la secuencia de bytes binarios inicial:

FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):

46 4C 56 01

REPRESENTACIÓN ASCII: FLV

Estandarización: Especificación del formato de archivo Flash Video de Adobe Systems

Especificaciones técnicas

Arquitectura del contenedorContenedor de streaming basado en etiquetas, con etiquetas de audio, vídeo y datos de scripts intercaladas
CompresiónVídeo Sorenson Spark, VP6 o H.264 con audio MP3 o AAC
Orden de bytes (Endianness)Orden de bits y bytes big-endian
Espacios de colorYUV 4:2:0
Canales y estructuraAudio mono y estéreo con flujo de vídeo
Dimensiones máximasComúnmente hasta 1080p
TransparenciaAdmite transparencia del canal alfa en flujos de vídeo VP6
Streaming y progresivoAdmite de forma nativa streaming en directo con RTMP (protocolo de mensajería en tiempo real)

Matriz de comparación técnica: FLV frente a la competencia

Atributo técnicoFLV (Actual)MP4WEBMMKV
Compatibilidad actual con navegadores0 % (eliminado de todos los navegadores modernos)Compatible con todos los navegadoresCompatible con todos los navegadores modernosRequiere reproductor multimedia de escritorio
EstandarizaciónEspecificación propietaria de AdobeEstándar abierto internacional ISO/IECEstándar abierto W3C / WebMEstándar abierto Matroska
Reproducción en dispositivos móvilesNo compatible de forma nativa con iOS ni con las versiones modernas de AndroidCompatibilidad nativa con el hardwareCompatibilidad nativa con el hardwareCompatible mediante VLC y otras aplicaciones
Transparencia alfaCompatible mediante el códec On2 VP6Limitada (requiere Canvas o WebCodecs)Admite de forma nativa el canal alfa (VP9)Admitida en flujos VP9/ProRes

Modos de corrupción comunes y guía de recuperación hexadecimal

El vídeo FLV descargado muestra la duración total como «desconocida» y no permite desplazarse por la línea de tiempo.

Causa raíz: Falta la etiqueta de script «onMetaData», que contiene las tablas de marcas de tiempo de fotogramas clave y tamaños de archivo.

Recuperación: Añade las tablas de fotogramas clave que faltan con «yamdi» (Yet Another MetaData Injector) o convierte el archivo a MP4 con File2File.app.

Análisis de seguridad y vectores de ataque al analizador

El complemento Flash Player fue uno de los componentes de software más atacados en la historia de la informática, debido a errores de corrupción de memoria en ActionScript y en el analizador de FLV.

Vectores de ataque conocidos

  • Uso de memoria después de liberarla (use-after-free) y desbordamiento de memoria dinámica en el motor de análisis FLV de ActionScript 3 (por ejemplo, CVE-2015-5122).
  • Los paquetes de metadatos AMF0/AMF3 malformados pueden provocar corrupción de memoria en analizadores vulnerables.
  • Desbordamientos de búfer en rutinas de descompresión heredadas de Sorenson Spark.

Mejores prácticas defensivas: No ejecuta el complemento Flash Player. Convierte los archivos FLV archivados directamente a MP4 con FFmpeg en un entorno aislado.

Orígenes históricos e hitos

2020Adobe deja de ofrecer soporte para Flash Player el 31 de diciembre de 2020, lo que pone fin al uso de FLV.
2005YouTube se lanza con FLV como formato exclusivo para distribuir vídeo.
2003Macromedia presenta Flash Video junto con Flash Player 7.

Ventajas principales

  • Fue pionero del vídeo en línea: permitió reproducir vídeos en la web sin necesidad de instalar reproductores de escritorio.
  • Admitía transparencias alfa en los flujos de vídeo que usaban el códec On2 VP6.
  • La baja sobrecarga de los paquetes lo hacía adecuado para transmitir vídeo en directo con RTMP y poca latencia.

Limitaciones técnicas

  • Está completamente obsoleto y los navegadores modernos dejaron de admitirlo tras retirar Flash Player.
  • Para reproducirlo en iOS, Android y televisores inteligentes, hay que volver a codificar el vídeo o cambiar el contenedor a MP4.
  • Carece de funciones de contenedor modernas, como audio multipista y streaming adaptativo con tasa de bits variable.

Curiosidades técnicas interesantes

  • El primer vídeo que se subió a YouTube («Me at the zoo», en abril de 2005) se codificó y distribuyó como archivo FLV.
  • La secuencia de bytes identificadora de Flash Video, «46 4C 56 01», representa las letras «FLV» en ASCII, seguidas de la versión 1 del contenedor.
  • En 2010, Steve Jobs publicó su famosa carta abierta «Thoughts on Flash», que aceleró la transición de FLV a MP4 con HTML5.

Preguntas técnicas frecuentes

¿Por qué ya no puedo reproducir archivos FLV en mi ordenador?

Adobe y los principales navegadores dejaron de ofrecer soporte oficial para Flash Player en diciembre de 2020 por sus vulnerabilidades de seguridad. Para reproducir archivos FLV hoy, usa VLC o conviértalos a MP4.

¿Puedo convertir FLV a MP4 sin pérdida de calidad?

Los flujos H.264 y AAC compatibles pueden remultiplexarse de FLV a MP4 sin recodificar; el tiempo depende del archivo y el dispositivo.

¿Qué códecs usaban originalmente los vídeos FLV?

Los primeros archivos FLV usaban Sorenson Spark (una variante de H.263) y, más tarde, On2 VP6. En 2007, Adobe añadió compatibilidad con el estándar H.264.