¿Qué es un archivo .SWF?
El .swf es un archivo de película binaria de Adobe Flash, antes conocido como Shockwave Flash y luego como archivo Small Web Format. Fue creado por FutureWave, desarrollado por Macromedia y adquirido por Adobe. Un archivo .swf contiene información como datos de gráficos vectoriales, datos de gráficos rasterizados, guion de línea de tiempo de fotogramas de animación, botones, sprites, fuentes de texto, archivos de sonido, clips de video en streaming y datos de bytecode de ActionScript para la interactividad. Este tipo de archivo se encuentra comúnmente en juegos antiguos basados en la web, anuncios publicitarios, cursos educativos en la web, animaciones basadas en navegador, intros de películas Flash, diagramas interactivos y contenido obsoleto de intranet/CD-ROM.
Hay tres formatos binarios para .swf: el sin comprimir (FWS), el comprimido con el algoritmo zlib (CWS) y el comprimido con el algoritmo LZMA (ZWS). Los tres primeros bytes indican qué tipo de .swf es el archivo (FWS, CWS o ZWS): 46 57 53 - sin comprimir, 43 57 53 - comprimido con zlib y 5A 57 53 - comprimido con LZMA. El archivo .swf es diferente del archivo FLA porque el primero es un archivo de reproducción, mientras que el segundo es el archivo de proyecto editable de Animate. Las versiones actuales de los navegadores han dejado de ser compatibles con Flash Player, de ahí la necesidad de usar el reproductor independiente Ruffle o convertirlo a videos o HTML5.
Cómo abrir un archivo .SWF
Abrir un archivo .SWF en Windows
- 1 Ve a la carpeta donde está tu archivo en Explorador de archivos. Normalmente, los archivos descargados terminan en Descargas.
- 2 Haz doble clic en tu archivo .SWF si tienes una aplicación para archivos .swf en tu equipo. Si no se abre, pasa al paso tres.
- 3 Haz clic derecho en tu archivo .SWF -> selecciona .
- 4 Elige Ruffle en la lista (Windows 11: elige Siempre). En Windows 10 -> marca "Usar siempre esta aplicación para abrir archivos .swf" y haz clic en Aceptar.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para Windows
- Ruffle código abierto
- Lightspark código abierto
- JPEXS Free Flash Decompiler código abierto
- Adobe Animate de pago
- VLC media player código abierto
- Swivel gratis
- Apache Royale Compiler código abierto
- ruffle_desktop código abierto
Abrir un archivo .SWF en macOS
- 1 En la app Finder, localiza tu archivo .SWF.
- 2 Solo haz doble clic en tu archivo .SWF para abrir automáticamente el programa asociado con él.
- 3 ¿Necesitas otra app en tu Mac? Haz Control-clic en el archivo (o clic derecho con el mouse). En el menú emergente, selecciona .
- 4 Si no aparece en la lista, elige y busca la aplicación manualmente.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para macOS
- Ruffle código abierto
- JPEXS Free Flash Decompiler código abierto
- Adobe Animate de pago
- VLC media player código abierto
- Elmedia Player freemium
- SWF & FLV Player gratis
- Swivel gratis
- Apache Royale Compiler código abierto
Abrir un archivo .SWF en Linux
- 1 Abre tu gestor de archivos. Según el escritorio, puede llamarse Archivos (GNOME), Dolphin (KDE Plasma), Nemo (Cinnamon) o Thunar (Xfce).
- 2 Haz doble clic en el archivo.
- 3 O elige otro programa haciendo clic derecho en el archivo -> .
- 4 Instala Ruffle (si no está instalado en tu equipo) desde el centro de software, el repositorio o Flathub.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para Linux
- Ruffle código abierto
- Lightspark código abierto
- JPEXS Free Flash Decompiler código abierto
- VLC media player código abierto
- Apache Royale Compiler código abierto
- ruffle_desktop código abierto
- FFmpeg código abierto
Abrir un archivo .SWF en Android
- 1 Abre Archivos u otra app de gestión de archivos.
- 2 En Descargas, busca el archivo .SWF y ábrelo tocándolo.
- 3 Se mostrará una lista de apps capaces de abrir el archivo. Toca VLC media player y pulsa Siempre para asociar de forma permanente este tipo de archivo con esta app.
- 4 ¿No hay ninguna app capaz de abrir este archivo? Descarga VLC media player desde Google Play Store.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para Android
- VLC media player código abierto
Abrir un archivo .SWF en iPhone / iPad
- 1 Usa la app Archivos y ve a En mi iPhone, iCloud Drive o Descargas.
- 2 Toca el archivo .SWF que quieras abrir.
- 3 Si el archivo puede abrirse con una app integrada de iOS (formato compatible), se abrirá automáticamente.
- 4 Mantén pulsado el archivo para abrir el menú contextual -> elige -> selecciona VLC media player en la lista de apps.
- 5 Si no aparece esa opción, primero descarga la app desde el App Store y luego toca el documento otra vez.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para iPhone / iPad
- VLC media player código abierto
Abrir un archivo .SWF en línea
- 1 Ve al visor en línea en la parte superior de esta página.
- 2 Arrastra el archivo hasta allí o selecciónalo, y su contenido aparecerá en la pestaña de tu navegador. El archivo no se sube.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para En línea
- Ruffle código abierto
Más detalles sobre cómo abrir archivos .SWF
Para Windows, elige Ruffle Desktop, que permite reproducir de forma segura y emulada varios SWF archivados. Funciona como si reprodujeras algo mediante un emulador de la época en que se creó. Lightspark debería ser capaz de abrir archivos escritos con Actionscript 3, pero los resultados variarían mucho. JPEXS Free Flash Decompiler te permite explorar los recursos de ese SWF, decompilarlo, pero no permite reproducirlo correctamente. VLC player y FFmpeg pueden reproducir SWF simples que se comportan de forma parecida a archivos multimedia. En caso de que tengas código fuente o recursos que todavía te permitan editar tu trabajo, usa el antiguo Adobe Animate. En Linux, usa también Ruffle Desktop, Lightspark, JPEXS, FFmpeg y VLC.
Como opción para usuarios de Mac, encontrarás las aplicaciones mencionadas arriba: Ruffle Desktop, JPEXS Free Flash Decompiler, Adobe Animate, FFmpeg y VLC, sin duda. Elmedia Player y SWF & FLV Player permiten abrir algunos archivos localmente. En caso de que necesites convertir SWF a MP4, Newgrounds Swivel parece ser una mejor opción para eso. Por otro lado, en Linux OS puedes usar Ruffle Desktop, Lightspark, JPEXS, FFmpeg y VLC, y algunos repositorios todavía pueden incluir herramientas antiguas de Flash, pero en términos modernos la emulación parece ser más segura. Por desgracia, no hay Flash player instalado de forma predeterminada ni siquiera en teléfonos Android e iOS.
En la web se puede usar Ruffle e instalarlo en tu sitio y reproducir SWF archivados en navegadores actuales como Chrome, Edge, Firefox o Safari sin necesidad de Adobe Flash player en absoluto. Si hacer doble clic no funciona, intenta buscar el número mágico del archivo (en el desplazamiento 0, SWF debe contener FWS/CWS/ZWS). Del mismo modo, asocia .swf con los programas Ruffle y/o JPEXS, o selecciona el menú File en uno de esos dos programas y ábrelo desde allí. Si una pantalla permanece en blanco, coloca el SWF en el directorio al que pertenece y con los recursos complementarios requeridos.
Detalles técnicos
SWF es un formato binario basado en etiquetas. Un SWF comienza con un marcador de 3 bytes para la identificación del archivo ("Magic number"), un número de versión de 1 byte y un tamaño en formato Little Endian de 32 bits del archivo sin comprimir. FWS es el marcador en los archivos sin comprimir; los bytes mágicos son 46 57 53. Los archivos CWS tienen el mismo encabezado de 8 bytes, pero usan compresión zlib. En los archivos ZWS, el encabezado de 8 bytes no está comprimido y luego sigue contenido comprimido con LZMA, con la longitud comprimida almacenada en el encabezado. Según la documentación de Adobe, el formato se describe para la generación Flash 11; sin embargo, SWF nunca se estandarizó como formato abierto ISO y ECMA.
Inmediatamente después del encabezado, hay MovieHeader, con el rectángulo de la etapa empaquetado en campos de bits, la tasa de fotogramas y el recuento de fotogramas. A continuación sigue el cuerpo de SWF - una secuencia de elementos etiquetados. Algunos ejemplos de elementos etiquetados son: DefineShape, PlaceObject, DoAction, DoABC, DefineBitsJPEG, SoundStreamHead, FileAttributes. El bytecode AVM1 funciona en ActionScript1.0 y ActionScript 2.0. El bytecode AVM2, junto con el nuevo formato de bytecode - el ABC, se lanzó con ActionScript3.0 en Flash Player versión 9 y, en consecuencia, SWF versión 9 para los respectivos archivos SWF.
SWF puede contener información sobre formas vectoriales, degradados y transparencia. El formato permite fuentes incrustadas y mapas de bits con información como imágenes JPEG y PNG. Formatos de audio compatibles: MP3, ADPCM, Nellymoser o algoritmos de compresión Speex se usan para flujos de audio. Además, se permite incluir algunos videos de estilo FLV en el formato SWF. El tamaño de un solo SWF puede variar, desde un par de kilobytes para incrustar la animación simple hasta muchos MB, como en aplicaciones de juegos o cursos multimedia.
Los tipos MIME de archivo SWF más usados son application/x-shockwave-flash, y los más antiguos - application/vnd.adobe.flash.movie. Históricamente, los archivos SWF se usaban normalmente con navegadores mediante el complemento flash player en el servidor web.
Cómo convertir archivos .SWF
Si tu SWF es algo como una animación no interactiva, un tutorial o una intro que reproducirías en tus navegadores modernos, Facebook o el reproductor de YouTube, considera convertirlo a formato MP4. La herramienta más eficaz para convertir Flash a MP4 sería Newgrounds Swivel, diseñada especialmente para propósitos de conversión, o ffmpeg, que podría funcionar si pudieras decodificar fácilmente el contenido en video y audio sin procesar. Ejemplo: ffmpeg -i input.swf -c:v libx264 -pix_fmt yuv420p -c:a aac output.mp4. Puedes obtener capturas fijas del contenido usando FFmpeg y su opción para exportar los fotogramas como imágenes con: ffmpeg -i input.swf frame_%04d.png.
En los casos en que necesites el origen de los recursos del Flash en lugar de una película del resultado, puedes usar JPEXS free Flash Decompiler para exportar desde allí todos los componentes posibles: imágenes, sonidos, fuentes, formas, scripts y algunos fragmentos similares a FLA o XFL. Puedes volver a publicar archivos FLA originales en Animate usando las posibilidades de Canvas HTML5, WebGL y canvas similar, GIF animado, video o scripting puro, pero no puedes convertir SWF creados anteriormente por otros en algo totalmente editable en Animate. Si estás pensando en preservar una app de Flash para archivos web, la única forma de proceder con la migración, como de costumbre con Ruffle, no sería un cambio de formato de archivo a archivo.
| Convertir a | Herramienta | Comando / nota |
|---|---|---|
| MP4 video | FFmpeg | ffmpeg -i input.swf -c:v libx264 -pix_fmt yuv420p -c:a aac output.mp4 Funciona mejor con SWF de tipo línea de tiempo o parecidos a video; es posible que la interactividad de ActionScript, los botones, los recursos externos y los estados con scripts no se representen como se espera. |
| PNG image sequence | FFmpeg | ffmpeg -i input.swf frame_%04d.png Es útil para extraer fotogramas renderizados de animaciones simples; la interactividad dinámica y las funciones de Flash no compatibles pueden omitirse. |
| WAV audio | FFmpeg | ffmpeg -i input.swf -vn output.wav Extrae flujos de audio decodificables cuando están presentes; no todos los SWF contienen una pista de audio lineal. |
| FLA/XFL or extracted assets | JPEXS Free Flash Decompiler | Abre el SWF y luego usa Exportar para recuperar imágenes, formas, sonidos, fuentes, scripts o datos de proyecto similares a FLA/XFL cuando sea posible. |
| MP4 video | Newgrounds Swivel | Está diseñado específicamente para renderizar animaciones de Flash a video y a menudo maneja mejor la sincronización de la animación que los convertidores de medios genéricos. |
| HTML5 Canvas / JavaScript project | Adobe Animate | Funciona mejor cuando el FLA original está disponible; importar SWF de vuelta en Animate es un proceso con pérdida y puede que no reconstruya líneas de tiempo editables ni ActionScript. |
| Standalone playback page | Ruffle | Incrustar un SWF con Ruffle convierte la reproducción a un entorno moderno de WebAssembly/JavaScript en lugar de cambiar el propio archivo SWF. |
Problemas comunes y soluciones
"Adobe Flash Player is no longer supported" se muestra en los navegadores porque Adobe ya terminó el desarrollo de Flash Player y los navegadores populares deshabilitaron la compatibilidad con complementos mediante NPAPI y PPAPI. Ejecuta el archivo con Ruffle Desktop o una página web de Ruffle en lugar de restaurar un complemento obsoleto.
"This file cannot be opened" o una ventana en blanco son síntomas de que el SWF está comprimido con CWS o ZWS y no hay capacidad de descompresión. Lo más probable es que JPEXS Free Flash Decompiler pueda manejar estos archivos y, en FFmpeg, ambos métodos de compresión requieren bibliotecas zlib para CWS o LZMA para ZWS.
"Unexpected end of file" en un decompilador implica que tu archivo se ha corrompido o que está truncado y su valor de indicador de longitud es incorrecto. Una versión descargada de nuevo, verificada con checksum o archivada debería solucionarlo en la mayoría de los casos.
"VerifyError", "TypeError" o "ReferenceError" al reproducir un SWF indican algún problema a nivel de Actionscript, como incompatibilidad entre scripts y el entorno de ejecución de ActionScript o el uso de algunos datos externos y archivos que faltan en tu caso. Primero guarda intacto el árbol de directorios del archivo antes de declararlo dañado e intentar Ruffle/Lightspark.
Es posible que los SWF se queden atascados en su pantalla de carga y hagan intentos de descargar recursos adicionales (documentos XML, imágenes, sonidos y el archivo crossdomain.xml) desde su nombre de dominio caducado. JPEXS puede mostrar una lista de solicitudes de red, lo cual resulta útil para reflejar legalmente los archivos necesarios.
Los SWF que contienen video pueden tener problemas por un códec no compatible. VLC/FFmpeg pueden informar sobre este problema de una mejor manera en comparación con un Flash player.
Después de eliminar Flash de tu sistema operativo, parece que Windows y macOS pueden clasificar los archivos .swf como documentos y negarse a abrirlos con el software adecuado. Ejecuta los SWF desde el navegador (por ejemplo, en Ruffle web player) o a través de Ruffle/LIGHTspark/JPEXS en su lugar. Como alternativa, configura tu navegador o gestor de archivos manualmente.
Consideraciones de seguridad
Los archivos SWF incluirán bytecode ejecutable de ActionScript, incluyendo, entre otros, conectividad de red, solicitudes de almacenamiento local, llamadas a funciones de la API ExternalInterface y muchos más que interactúan con los entornos aislados de Flash Player. Flash Player ha acumulado innumerables vulnerabilidades de seguridad, incluidas corrupción de memoria, lecturas/escrituras fuera de límites, confusiones de tipos, escapes del entorno aislado, etc., que se convirtieron en las principales razones por las que muchos proveedores de navegadores han optado por dejar de dar soporte. Evita cargar y ejecutar SWF desconocidos con versiones antiguas de Adobe Flash Player, especialmente usando navegadores antiguos o con privilegios permitidos localmente. Para la reproducción, intenta usar Ruffle, que es más seguro en lo que respecta a la corrupción de memoria. En caso de que necesites la emulación precisa de SWF heredados, ejecútalo en la VM o sin conexión. Los archivos SWF incluyen URL, seguimiento y números de ID en los metadatos. Usando herramientas como JPEXS, se pueden ver scripts incrustados, pero en ese proceso existe la posibilidad de que la vista previa ejecute los scripts y/o cargue otros archivos en línea sin tener conexiones de red prohibidas para descompilar. Supón que todos los archivos adjuntos de correo electrónico de sitios abandonados, como ports de juegos y redes publicitarias, son hostiles.
Historia y versiones
El origen de SWF se remonta a FutureSplash Animator de FutureWave, de 1996. Macromedia compró el mismo producto ese mismo año y lo rebautizó como Flash. En la última parte de la década de 1990 y durante toda la primera década de 2000, Macromedia Flash pasó a reconocerse como un formato estándar de entrega para animación, juegos web, publicidad y aplicaciones de reproducción de video, así como RIA en páginas web o en navegadores web. El uso del formato de compresión CWS comenzó en la era de FlashMX y Flash Player 6 en respuesta a las conexiones dial-up y a los tamaños de descarga de los primeros años de la conexión de banda ancha. Flash Player 9, lanzado en 2006, incluía ActionScript3 y AVM2, que permitieron que SWF no fuera solo una animación, sino que también incorporara bytecode de aplicaciones compiladas. Adobe adquirió Macromedia en 2005 y continuó con Flash Professional; Flash Player, Flex y AIR, y las especificaciones de SWF en Adobe. SWF nunca se convirtió en un formato estándar abierto estandarizado. Apple no admitió Flash para iPhone y iPad debido a su preferencia por HTML5 video, así como por sus vulnerabilidades, lo que provocó su declive. La EOL se anunció en 2017 y el soporte de Flash Player terminó el 31 de diciembre de 2020. Ahora SWF es útil sobre todo con fines de migración.
Formatos relacionados
.FLA es el proyecto fuente editable de Adobe Flash/Animate y debería usarse siempre que se quiera editar el código fuente, ya que .SWF contiene solo los resultados publicados. .FLV y .F4V son extensiones de archivo de video de Flash y son más adecuadas para videos puros, aunque SWF puede manejar animaciones vectoriales, código de scripting y video todo en una misma línea de tiempo. La entrega web mediante HTML, JS y CSS, en combinación con tecnologías como canvas, es lo que hace irrelevantes la mayoría de los usos interactivos de .SWF, ya que no requieren plugins para la reproducción. .SVG es un formato de gráficos vectoriales abiertos basado en el formato xml, pero no es capaz de igualar la aplicación de ejecución heredada de SWF. Para animaciones convertidas desde flash que no requerirán ninguna interacción, .MP4 probablemente ofrezca la mejor opción entre otros formatos de archivo. Sin embargo, .GIF y .WEBP pueden servir en lugar de animaciones breves sin considerar efectos de sonido, ni temporización compleja, escalabilidad vectorial ni la interactividad.
Aún no hay comentarios. Sé el primero en compartir tu experiencia con este tipo de archivo.