Gnash es un reproductor multimedia para reproducir archivos SWF . [2] Gnash está disponible como reproductor independiente para computadoras de escritorio y dispositivos integrados , así como como complemento para los navegadores que aún admiten NPAPI . [3] Es parte del Proyecto GNU y es una alternativa gratuita y de código abierto a Adobe Flash Player . [4] Fue desarrollado a partir del proyecto gameswf . [5]
Gnash fue anunciado por primera vez a finales de 2005 [6] por el desarrollador de software John Gilmore . A partir de 2011 [actualizar], el mantenedor del proyecto es Rob Savoye . El sitio web principal del desarrollador de Gnash se encuentra en el servidor de soporte del proyecto GNU Savannah de la Free Software Foundation . [7]
Gnash admite la mayoría de las funciones de SWF v7 y algunas SWF v8 y v9; sin embargo, SWF v10 no es compatible. [7]
Escribir un reproductor Flash de software libre ha sido una prioridad del Proyecto GNU durante algún tiempo. [8] Antes del lanzamiento de Gnash, el Proyecto GNU había solicitado personas para ayudar al proyecto GPLFlash. La mayoría de los desarrolladores anteriores de GPLFlash ahora se han trasladado al proyecto Gnash y el código base de GPLFlash existente se reorientará hacia el soporte de sistemas integrados. [9]
Los principales términos de distribución de Gnash son los de GNU GPL. Sin embargo, dado que Gnash comenzó a utilizar el código base del proyecto gameswf , que es de dominio público , el código desarrollado por el proyecto Gnash que podría ser útil en gameswf se coloca en el dominio público. [10]
Adobe solo proporciona una versión desactualizada (11.2) de su reproductor oficial para Linux en IA-32 y una versión preliminar para desarrolladores AMD64 en formato solo binario. [11] [12] Gnash, sin embargo, se puede compilar y ejecutar en muchas arquitecturas, incluidas x86 , ARM , MIPS y PowerPC . También es compatible con sistemas operativos basados en BSD . Existe una primera adaptación para RISC OS , que nunca ha tenido soporte para Macromedia/Adobe Flash más allá de Flash 3, [13] , así como una primera adaptación para BeOS , donde la compatibilidad con Flash terminó en la versión 4. [14] Desarrollo de una adaptación a AmigaOS 4 .1 también ha comenzado. [15] También existe un puerto para el sistema operativo Haiku . [dieciséis]
Gnash requiere uno de AGG , Cairo u OpenGL para renderizar. A diferencia de la mayoría de los proyectos GNU, que normalmente están escritos en C , Gnash está escrito en el lenguaje de programación C++ debido a su herencia gameswf. [5]
Gnash puede reproducir archivos SWF hasta la versión 7 y el 80% de ActionScript 2.0. [17]
El objetivo de los desarrolladores de Gnash es ser lo más compatible posible con el reproductor propietario (incluido el comportamiento con código ActionScript incorrecto ). Sin embargo, Gnash ofrece algunas características especiales que no están disponibles en el reproductor Adobe, como la posibilidad de ampliar las clases de ActionScript a través de bibliotecas compartidas: las extensiones de muestra incluyen soporte MySQL, acceso al sistema de archivos y más. Por razones de seguridad, el mecanismo de extensión debe compilarse explícitamente y habilitarse mediante archivos de configuración.
Gnash admite la reproducción de vídeos FLV y permite reproducir algunos archivos FLV de YouTube , Myspace , ShowMeDo y otros sitios web similares (archivos más antiguos con sonido, archivos más nuevos sin reproducir sonido). La compatibilidad con FLV requiere que FFmpeg o GStreamer estén instalados en el sistema. [18]
Algunos otros programas de software libre, como MPlayer , [19] VLC media player [20] o reproductores para Windows basados en los códecs ffdshow DirectShow pueden reproducir el formato FLV si el archivo se descarga o canaliza especialmente .
La versión 0.8.8 se lanzó el 22 de agosto de 2010. Rob Savoye anunció que Gnash ahora debería funcionar con todos los videos de YouTube. [21] La versión 0.8.8 tiene soporte para GPU, lo que la puso por delante del propietario Adobe Flash Player en Linux, hasta que apareció Flash 10.2 con aceleración de hardware incorporada. [22] [23] Gnash todavía sufre de un alto uso de CPU. El usuario puede instalar un complemento Flashblock, activando la compatibilidad con Flash caso por caso, según sea necesario. [24] Los controles de vídeo de YouTube y el modo de pantalla completa funcionan, aunque la versión 0.8.8 tiene un error que puede hacer que YouTube muestre "Parámetros no válidos". Muchos juegos Flash populares no funcionan con Gnash 0.8.8.
Cygnal es el servidor de audio y vídeo compatible con Flash Media Server del Proyecto Gnash . [25] Se encarga de negociar el intercambio de metadatos de derechos de autor, así como de transmitir el contenido. Necesitará manejar miles de conexiones de red simultáneas y admitir la ejecución en grandes clústeres de Linux. Debería admitir el manejo de múltiples transmisiones con contenido diferente, así como una transmisión de multidifusión con una única fuente de datos. [26]
Debido a los problemas de patentes que rodean al MP3 y al hecho de que FLV y ON2 son formatos cerrados, uno de los principales objetivos de este proyecto es admitir códigos y protocolos libres como forma principal de hacer las cosas. Hay soporte opcional para MP3, FLV y ON2 (VP6 y VP7) al reproducir contenido Flash existente. Tanto los códecs FLV como los VP6 y VP7 están incluidos en ffmpeg . Los usuarios pueden utilizar el complemento ffmpeg para GStreamer 0.10 para utilizar estos códecs propietarios. [26]
Gnash se ha ejecutado con éxito en Microsoft Windows, Darwin (OS X), Irix, Solaris, BeOs, OS/2 y Haiku. Gnash también se ha ejecutado en los siguientes sistemas de 64 bits : PowerPC , Itanium, UltraSparc y AMD64. [27]
Gnash ha sido portado a Windows y el complemento funciona mejor con Firefox 1.0.4 o posterior, y debería funcionar en cualquier navegador basado en Mozilla. [28] Sin embargo, en los navegadores más nuevos, el complemento puede volverse inestable o no operativo.
Los binarios de Gnash más nuevos para Windows no incluyen un complemento y actualmente no hay ningún complemento de Gnash más nuevo que funcione en Windows. [29]
El proyecto contó con el apoyo financiero de una empresa comercial, Lulu.com [30] hasta julio de 2010. [31]
En marzo de 2012, el desarrollador principal informó que las donaciones apenas eran suficientes para pagar el alojamiento del proyecto en la web. [32]
Un problema del proyecto es la dificultad para encontrar desarrolladores. Los desarrolladores actuales nunca han instalado Adobe Flash Player, porque temen que cualquiera que alguna vez haya instalado Adobe Flash Player haya aceptado al mismo tiempo un acuerdo de no modificar ni aplicar ingeniería inversa a Adobe Flash Player. Por lo tanto, el proyecto Gnash tiene solo alrededor de 6 desarrolladores activos, en noviembre de 2010. [33] [34] [35]
Sin embargo, estas cláusulas genéricas pueden ir en contra de las leyes nacionales anticompetencia cuando se utilizan en acuerdos normales de licencia de software. El 2 de mayo de 2012, el Tribunal de Justicia de la Unión Europea dictaminó en el caso C-406/10 de SAS Institute Inc contra World Programming Ltd que la funcionalidad de un programa de ordenador no está cubierta por derechos de autor en la Unión Europea y que las disposiciones contractuales Son nulas de pleno derecho si prohíben observar, estudiar y probar un programa de ordenador para reproducir su comportamiento en un segundo programa. Esto es válido siempre que no se haya copiado ningún código fuente ni código objeto. [36]
Gnash es capaz de leer archivos y códigos de operación hasta SWF v9, pero principalmente admite SWF v7, con una mejor compatibilidad con SWF v8 y v9 bajo un intenso desarrollo.
Desde la versión 0.8.2, Gnash incluye compatibilidad inicial con analizadores para SWF v8 y v9.
No todas las clases de ActionScript 2 están implementadas todavía, pero sí todas las más utilizadas.
Muchas clases de ActionScript 2 están parcialmente implementadas;
hay soporte para todos los métodos comúnmente utilizados de cada clase.
Gnash ha implementado aproximadamente el 80% de ActionScript v2.0 y ha comenzado a implementar ActionScript v3.0.
Gnash admite la mayoría de los códigos de operación de Flash hasta SWF v9 y una amplia muestra de clases de ActionScript para SWF v8.