HOME

TheInfoList



OR:

Gnash is a media player for playing
SWF SWF ( ) is an Adobe Flash file format used for multimedia, vector graphics and ActionScript.Open Screen Pr ...
files. Gnash is available both as a standalone player for desktop computers and embedded devices, as well as a plugin for the browsers still supporting NPAPI. It is part of the
GNU Project The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collabor ...
and is a
free and open-source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
alternative to
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is computer software for viewing multimedia contents, executing rich Internet applications, and streaming audio and video content created on ...
. It was developed from the gameswf project. Gnash was first announced in late 2005 by software developer
John Gilmore John Gilmore may refer to: * John Gilmore (activist) (born 1955), co-founder of the Electronic Frontier Foundation and Cygnus Solutions * John Gilmore (musician) (1931–1995), American jazz saxophonist * John Gilmore (representative) (1780–1845) ...
. , the project's maintainer is
Rob Savoye Rob Savoye is the primary developer of Gnash. He is a developer for the GNU Project, having worked on Debian, Red Hat and dozens of other free/open source software projects. He was among the first employees of Cygnus Support, which was sold to Re ...
. The main developer's web site for Gnash is located on the
Free Software Foundation The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985, to support the free software movement, with the organization's preference for software being distributed under copyleft ( ...
's GNU Savannah project support server. Gnash supports most SWF v7 features and some SWF v8 and v9, however SWF v10 is not supported.


History

Writing a free software Flash player has been a priority of the
GNU Project The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collabor ...
for some time. Prior to the launch of Gnash, the GNU Project had asked for people to assist the GPLFlash project. The majority of the previous GPLFlash developers have now moved to the Gnash project and the existing GPLFlash codebase will be refocused towards supporting embedded systems. The primary distribution terms for Gnash are those of the GNU GPL. However, since Gnash was started using the codebase of the gameswf project, which is in the
public domain The public domain (PD) consists of all the creative work to which no exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly waived, or may be inapplicable. Because those rights have expired ...
, code developed by the Gnash project which might be useful in gameswf is placed in the public domain.


Technical details


Architecture

Adobe only provides an outdated version (11.2) of its official player for Linux on
IA-32 IA-32 (short for "Intel Architecture, 32-bit", commonly called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnatio ...
and an
AMD64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging m ...
developer preview release in a binary-only form. Gnash, however, can be compiled and executed on many architectures, including x86, ARM, MIPS, and
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM– ...
. It also supports BSD-based operating systems. An early port for
RISC OS RISC OS is a computer operating system originally designed by Acorn Computers Ltd in Cambridge, England. First released in 1987, it was designed to run on the ARM chipset, which Acorn had designed concurrently for use in its new line of Archi ...
, which has never had Macromedia/Adobe Flash support beyond Flash 3, does exist, as well as an early port for
BeOS BeOS is an operating system for personal computers first developed by Be Inc. in 1990. It was first written to run on BeBox hardware. BeOS was positioned as a multimedia platform that could be used by a substantial population of desktop users an ...
, where Flash support terminated at Version 4. Development of a port to
AmigaOS 4 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore, and partially on version 3.9 developed by Haage & Partne ...
.1 has also recently begun. A port to the Haiku Operating System also exists. Gnash requires one of
AGG Agg or AGG may refer to: As an acronym: * Anti-Grain Geometry, computer graphics rendering library * Aesthetic group gymnastics, gymnastics In a group * Abnormal grain growth, materials science phenomenon * Art Gallery of Guelph * AGG (programmin ...
,
Cairo Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo metr ...
, or
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
for rendering. In contrast to most GNU projects, which are typically written in C, Gnash is written in the
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
programming language because of its gameswf heritage.


Flash compatibility

Gnash can play
SWF SWF ( ) is an Adobe Flash file format used for multimedia, vector graphics and ActionScript.Open Screen Pr ...
files up to version 7, and 80% of
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning ...
2.0. The goal of the Gnash developers is to be as compatible as possible with the proprietary player (including behavior on bad
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning ...
code). However, Gnash offers some special features not available in the Adobe player, such as the possibility to extend the ActionScript classes via shared libraries: sample extensions include MySQL support, file system access and more. For security reasons the extension mechanism must be compiled-in explicitly and enabled via configuration files.


Video support

Gnash supports playback of
FLV Flash Video is a container file format used to deliver digital video content (e.g., TV shows, movies, etc.) over the Internet using Adobe Flash Player version 6 and newer. Flash Video content may also be embedded within SWF files. There are ...
videos and allows playing some FLV files from
YouTube YouTube is a global online video sharing and social media platform headquartered in San Bruno, California. It was launched on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim. It is owned by Google, and is the second mo ...
, Myspace, ShowMeDo and other similar websites (older files with sound – newer files without playing sound). FLV support requires
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
or
GStreamer GStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one format, processes the ...
to be installed on the system. Some other free-software programs, such as
MPlayer MPlayer is a free and open-source media player software application. It is available for Linux, OS X and Microsoft Windows. Versions for OS/2, Syllable, AmigaOS, MorphOS and AROS Research Operating System are also available. A port for DOS using ...
,
VLC media player VLC media player (previously the VideoLAN Client and commonly known as simply VLC) is a free and open-source, portable, cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desk ...
or players for
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for se ...
based on the
ffdshow ffdshow is an open-source unmaintained codec library that is mainly used for decoding of video in the MPEG-4 ASP (e.g. encoded with DivX or Xvid) and H.264/MPEG-4 AVC video formats, but it supports numerous other video and audio formats as we ...
DirectShow codecs can play back the FLV format if the file is specially downloaded or
piped A pipe is a tubular section or hollow cylinder, usually but not necessarily of circular cross-section, used mainly to convey substances which can flow — liquids and gases ( fluids), slurries, powders and masses of small solids. ...
to it. Version 0.8.8 was released 22 August 2010.
Rob Savoye Rob Savoye is the primary developer of Gnash. He is a developer for the GNU Project, having worked on Debian, Red Hat and dozens of other free/open source software projects. He was among the first employees of Cygnus Support, which was sold to Re ...
announced that Gnash should now work with all YouTube videos. Version 0.8.8 has GPU support, which pushed it ahead of the proprietary Adobe Flash Player in Linux, until Flash 10.2 came out with hardware acceleration built in. Gnash still suffers from high CPU usage. A Flashblock plugin can be installed by the user, turning on the Flash support on a case-by-case, as needed basis. YouTube video controls and full screen mode is functioning, although version 0.8.8 has a bug that can cause YouTube to display "Invalid parameters". Many popular Flash games do not work with Gnash 0.8.8.


Cygnal

Cygnal is the Gnash Project's Flash Media Server-compatible audio and video server. It handles negotiating the copyright metadata exchange, as well as streaming the content. It will need to handle many thousands of simultaneous network connection, and support running on large Linux clusters. It should support handling multiple streams with differing content, as well as a multicast stream with a single data source. Due to the patent issues surrounding MP3, and the fact that FLV and ON2 are closed formats, one of the main goals of this project is to support free codes and free protocols as the primary way of doing things. There is an optional support for MP3, FLV, and ON2 (VP6 and VP7) when playing existing Flash content. Both FLV and the
VP6 On2 TrueMotion VP6 is a proprietary lossy video compression format and video codec. It is an incarnation of the TrueMotion video codec, a series of video codecs developed by On2 Technologies. This codec is commonly used by Adobe Flash, Flash Vide ...
& VP7 codecs are included in
ffmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
. Users can use the ffmpeg plugin for
GStreamer GStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one format, processes the ...
0.10 to use these proprietary codecs.


Platform availability

Gnash has successfully run on Microsoft Windows, Darwin (OS X), Irix, Solaris, BeOs, OS/2, and Haiku. Gnash has also run on the following 64-bit systems:
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM– ...
, Itanium, UltraSparc and AMD64.


Microsoft Windows

Gnash has been ported to Windows and the plugin works best with
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current ...
1.0.4 or newer, and should work in any Mozilla-based browser. However, in newer browsers the plugin may become unstable or inoperative. Newer Gnash binaries for Windows do not include a plugin and currently there is no newer working Gnash plugin on Windows.


Financial support

The project was financially supported by a commercial company, Lulu.com until July 2010. As of March 2012, the lead developer reported donations were barely enough to pay for hosting the project on the web.


Adobe Flash Player End-User License Agreement

One problem for the project is the difficulty of finding developers. The current developers have never installed Adobe's Flash player, because they fear that anyone who has ever installed the Adobe Flash Player has at the same time accepted an agreement not to modify or reverse engineer Flash player. Therefore, the Gnash project has only about 6 active developers, as of November 2010. Such generic clauses, however, may be against national anticompetition laws when used in normal software license agreements. On May 2, 2012, the
Court of Justice of the European Union The Court of Justice of the European Union (CJEU) (french: Cour de justice de l'Union européenne or "''CJUE''"; Latin: Curia) is the judicial branch of the European Union (EU). Seated in the Kirchberg quarter of Luxembourg City, Luxembour ...
ruled in case C-406/10 of
SAS Institute Inc v World Programming Ltd The SAS Institute, creators of the SAS System filed a lawsuit against World Programming Limited, creators of World Programming System (WPS) in November 2009. The dispute was whether World Programming had infringed copyrights on SAS Institute Pr ...
that the functionality of a computer program is not covered by copyright in the
European Union The European Union (EU) is a supranational union, supranational political union, political and economic union of Member state of the European Union, member states that are located primarily in Europe, Europe. The union has a total area of ...
and that contractual provisions are null and void if they forbid observing, studying and testing a computer program in order to reproduce its behavior in a second program. This holds as long as no source code or object code was copied.


See also

*
Free Software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, n ...
* Lightspark *
Shumway (software) Shumway is a discontinued media player for playing SWF files. It was intended as an open-source replacement for Adobe Flash Player. It is licensed under Apache and SIL Open Font License (OFL). Mozilla started development on it in 2012. It was pr ...
* Swfdec *
Ruffle (software) Ruffle is an emulator for SWF files. Ruffle is freely licensed and developed openly on GitHub. Following the deprecation and disabling of Adobe Flash Player, some websites adopted Ruffle so users could continue to view and interact with legacy ...


Notes


References


External links


Primary Gnash website
(Internet Archive copy) *
Project's official wiki
(archived) *
Gnash at GNU Project
*
Gnash's Savannah Page

FSF/GNU Press Release: FSF announces GNU Gnash – Flash Movie Player

An interview with Gnash project leader about the future of the product

Gnash unofficial and unsupported Windows port
{{Widget toolkits Free software programmed in C++ Interpreters (computing) Free media players GNU Project software Adobe Flash High-priority free software projects 2005 software