맨위로가기

Gnash

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Gnash는 GameSWF의 코드를 기반으로 개발된 자유 소프트웨어 플래시 플레이어이다. GNU 프로젝트의 우선 과제 중 하나였으며, 2005년 12월 GameSWF가 포크된 후 파이어폭스 플러그인 개발을 시작으로 GNU GPL 라이선스 하에 배포되었다. Gnash는 SWF 파일 7버전까지 재생 가능하며, ActionScript 2.0의 80%를 지원한다. 2010년 8월 0.8.8 버전에서 유튜브 동영상 재생을 100% 지원하며, FLV 비디오 재생 및 FFmpeg 또는 GStreamer를 통한 비디오 지원 기능을 제공한다. 다양한 아키텍처 및 운영 체제를 지원하며, 플래시 미디어 서버인 Cygnal을 포함한다. Gnash는 개발 관련 문제로 인해 어려움을 겪었으나, 현재는 여러 플랫폼에서 사용 가능하며, 오픈 소스 프로젝트로 유지되고 있다.

더 읽어볼만한 페이지

  • 인터프리터 - REPL
    REPL은 사용자의 입력을 읽고 평가하여 결과를 출력하는 과정을 반복하는 인터랙티브한 프로그래밍 환경으로, 인터프리터 환경에서 주로 사용되며 소프트웨어 프로토타이핑, 디버깅, 언어 학습에 유용하고 다양한 기능을 제공한다.
  • 인터프리터 - 이진 변환
    이진 변환은 바이너리 코드를 다른 아키텍처에서 실행 가능하도록 변환하는 기술로, 정적 방식과 동적 방식이 있으며, 동적 방식은 실행 중인 코드의 일부를 변환하여 성능을 향상시킨다.
  • 어도비 플래시 - 플래시 애니메이션
    플래시 애니메이션은 어도비 플래시 기술을 활용하여 제작되었으며, 1990년대 후반 웹에서 인기를 얻어 다양한 콘텐츠 제작에 활용되었고, 현재는 어도비 애니메이트로 이름이 변경되어 지속적인 지원을 받고 있다.
  • 어도비 플래시 - 플래시 비디오
    플래시 비디오는 어도비 플래시 환경에서 스크립트 처리 및 제어가 가능한 비디오 형식으로, FLV와 F4V 파일 형식이 있으며, 과거 유튜브 등에서 사용되어 인터넷 동영상 재생에 기여했으나 HTML5 등장 후 쇠퇴하였다.
  • 2005년 소프트웨어 - 밴시 (미디어 플레이어)
    밴시는 플러그인을 통해 기능을 확장할 수 있으며, Mac OS X, 리눅스, 윈도우를 지원하는 미디어 플레이어이다.
  • 2005년 소프트웨어 - ZFS
    ZFS는 Jeff Bonwick 등이 설계하고 구현한 파일 시스템으로, 데이터 무결성, 스냅샷, RAID-Z 등의 기능을 제공하며, 썬 마이크로시스템즈에서 개발되어 OpenZFS 프로젝트를 통해 다양한 운영체제에서 사용된다.
Gnash - [IT 관련 정보]에 관한 문서
기본 정보
GNU Gnash 로고
GNU Gnash 로고
테스트 SWF 파일을 이용한 Gnash 0.8.0 GTK GUI의 스크린샷
테스트 SWF 파일을 이용한 Gnash 0.8.0 GTK GUI의 스크린샷
개요
개발자Rob Savoye
Sandro Santilli
Bastiaan Jacques
Benjamin Wolsey
Zou Lunkai
Tomas Groth
Udo Giacomozzi
Hannes Mayr
John Gilmore
Markus Gothe
출시일2007년 (GPL-3.0-or-later)
2005년 (GPL-2.0-or-later)
최신 버전0.8.10
최신 버전 출시일2012년 2월 15일
프로그래밍 언어C++, GTK+ / Qt
운영체제BSD, 리눅스, 마이크로소프트 윈도우, AmigaOS
장르미디어 플레이어
라이선스GNU 일반 공중 사용 허가서
웹사이트GNU Gnash 공식 웹사이트

2. 역사

Gnash는 2005년 12월, GameSWF의 퍼블릭 도메인 코드를 기반으로 제작되었다. GameSWF가 포크되어 GNU 프로젝트 스타일로 재구성된 후, Gnash 프로젝트로서 파이어폭스 플러그인 개발이 시작되었다.[9] Gnash의 주요 배포 조건은 GNU GPL이지만, gameswf 프로젝트의 코드베이스를 사용하여 시작되었으므로, gameswf에 유용할 수 있는 Gnash 프로젝트에서 개발된 코드는 퍼블릭 도메인에 배치된다.[9]

2. 1. 개발 배경

자유 소프트웨어 진영에서는 오랫동안 플래시 플레이어 개발을 GNU 프로젝트의 주요 과제로 여겨왔다.[7] Gnash 이전, GNU 프로젝트는 GPLFlash 프로젝트를 지원할 사람들을 요청했다. 이전 GPLFlash 개발자 대부분이 현재 Gnash 프로젝트로 이동했으며, 기존 GPLFlash 코드베이스는 임베디드 시스템 지원에 초점을 맞출 것이다.[8]

2. 2. 주요 버전

버전출시일주요 기능
0.7.12006년 5월 6일 [37]최초의 알파 버전
0.8.02007년 6월 9일 [38]유튜브 등의 스트리밍 동영상 지원
0.8.22008년 3월 5일 [39]최초의 베타 버전
0.8.82010년 8월 22일 [40]유튜브 동영상 재생 100% 지원.


2. 3. 아키텍처

Gnash는 C++로 구현되었으며, Boost를 이용한다. Gnash는 여러 백엔드를 가지고 있으며, 렌더링에는 OpenGL, AGG (Anti-Grain Geometry), Cairo 등을, 사운드에는 SDL, GStreamer 등을 선택할 수 있다.[46] AGG는 주로 임베디드 시스템 등 OpenGL을 사용할 수 없는 환경에서 이용을 상정하고 있다.[46] GUI로는 GTK+ 및 Qt, 프레임 버퍼 등이 준비되어 있다.[46]

2. 4. 플래시 호환성

Gnash는 SWF 파일 7버전까지 재생할 수 있으며, ActionScript 2.0의 80%를 지원한다.[16]

Gnash 개발자들의 목표는 독점 플레이어와 최대한 호환성을 유지하는 것이다(잘못된 ActionScript 코드에서의 동작 포함). 하지만, Gnash는 어도비 플레이어에서는 사용할 수 없는 몇 가지 특수한 기능을 제공한다. 예를 들어 공유 라이브러리를 통해 ActionScript 클래스를 확장하는 기능이 있는데, MySQL 지원, 파일 시스템 접근 등이 그 예이다. 보안상의 이유로 확장 메커니즘은 명시적으로 컴파일되어야 하며, 구성 파일을 통해 활성화되어야 한다.[44][45]

2. 5. 확장 기능

Gnash는 어도비 플래시 플레이어에는 없는 확장 기능을 제공한다. 이는 Flash 사양에 없는 기능을 추가하는 것이다.[44] 확장 기능은 기본적으로 비활성화되어 있으며, 활성화하려면 사용자 설정 파일에서 명시적으로 켜야 한다.[45]

2. 6. 비디오 지원

Gnash는 FLV 비디오 재생을 지원하며, 유튜브, 마이스페이스 등에서 일부 FLV 파일을 재생할 수 있다. FLV 지원을 위해서는 FFmpeg 또는 GStreamer가 설치되어 있어야 한다.[17]

2010년 8월 22일에 출시된 버전 0.8.8은 롭 사보이에 따르면 모든 유튜브 비디오를 지원한다.[20] 이 버전은 GPU를 지원하며, 리눅스에서 독점 Adobe Flash Player보다 뛰어난 성능을 보이기도 했다.[21][22] 그러나 높은 CPU 사용률 문제는 여전하며, 사용자는 Flashblock 플러그인을 설치하여 필요에 따라 Flash 지원을 켤 수 있다.[23] 유튜브 비디오 컨트롤과 전체 화면 모드는 작동하지만, 일부 버그가 존재한다. 또한, 많은 인기 있는 플래시 게임은 Gnash 0.8.8에서 작동하지 않는다.

3. Cygnal

플래시 미디어 서버 호환 오디오 및 비디오 서버인 시그널(Cygnal)은 Gnash 프로젝트의 일환으로 개발되었다.[24] 시그널은 저작권 메타데이터 교환 및 콘텐츠 스트리밍을 처리하며, 수천 개의 동시 네트워크 연결과 대규모 리눅스 클러스터에서의 실행을 지원한다. 또한 단일 데이터 소스를 가진 멀티캐스트 스트림뿐만 아니라 여러 다른 스트림으로부터의 콘텐츠도 지원한다.[25]

MP3 관련 특허 문제와 FLV 및 ON2가 폐쇄형 형식이라는 점 때문에, 이 프로젝트는 무료 코드와 무료 프로토콜을 우선적으로 지원하는 것을 주요 목표로 한다. 기존 플래시 콘텐츠 재생 시 MP3, FLV, ON2(VP6 및 VP7)를 선택적으로 지원한다. FLV, VP6, VP7 코덱은 모두 ffmpeg에 포함되어 있으며, 사용자는 GStreamer 0.10용 ffmpeg 플러그인을 통해 이러한 독점 코덱을 사용할 수 있다.[25]

4. 플랫폼 지원

Gnash는 리눅스, macOS, FreeBSD, NetBSD, OpenBSD, IRIX, Windows, OS/2 등에서 작동한다.[46] 어도비 플래시 플레이어의 Linux 버전은 x86 호환 CPU에서만 작동하며, PowerPC 및 SPARC 상의 Linux와 FreeBSD는 지원하지 않는다.[47] 또한, 64비트 대응 어도비 플래시 플레이어는 Linux 버전이 알파 버전으로 존재하지만,[48] 안정 버전은 없다.[49]

Gnash는 x86, ARM, MIPS, PowerPC를 포함한 많은 아키텍처에서 컴파일 및 실행할 수 있으며, BSD 기반 운영 체제도 지원한다. Gnash는 64비트 시스템 (PowerPC, Itanium, UltraSparc 및 AMD64)에서 실행되었다.[26]

이 외에도, 대응 Flash Player가 출시되지 않은 RISC OS[50]나 최신 Flash Player가 버전 4인 BeOS[51]에도 Gnash가 이식되었다. 또한, 스마트폰이나 PDA 등의 임베디드 시스템에서도 작동한다.

5. 개발 관련 이슈

Gnash 개발의 어려움 중 하나는 개발자 확보였다. 어도비 플래시 플레이어 최종 사용자 사용권 계약(EULA)은 리버스 엔지니어링을 금지하고 있어, 개발자들은 어도비 플래시 플레이어를 설치하면 안 되었다. 이 때문에 2010년 11월 기준으로 Gnash 프로젝트의 활성 개발자는 약 6명에 불과했다.[32][33][34]

그러나 이러한 조항은 국가의 반독점법에 위배될 수 있다. 2012년 5월 2일, 유럽 연합 사법 재판소는 SAS Institute Inc. 대 World Programming Ltd. 사건(C-406/10)에서, 컴퓨터 프로그램 기능은 유럽 연합 저작권 보호 대상이 아니며, 프로그램 복제를 위한 관찰, 연구, 테스트를 금지하는 계약 조항은 무효라고 판결했다. 단, 소스 코드나 객체 코드 복사는 금지된다.[35]

어도비는 Flash 사양서를 공개했지만, 이전에는 Flash 재생 소프트웨어 개발에 사용하는 것을 허가하지 않았다. 따라서 Gnash 개발자들은 어도비 라이선스 제약 없이 클린룸 설계 방식으로 개발해야 했다. 즉, 어도비 개발 도구를 사용하지 않고 웹상의 Flash 파일을 분석해야 했다.[52] 2008년 5월 1일, 어도비의 Open Screen Project 시작으로 라이선스가 변경되어 사양서를 참조하며 호환 플레이어를 개발할 수 있게 되었다.[53]

6. 재정 지원

이 프로젝트는 2010년 7월까지 상업 회사인 Lulu.com의 재정 지원을 받았다.[29][30]

2012년 3월 기준으로, 수석 개발자는 기부금이 프로젝트를 웹에 호스팅하는 비용을 지불하기에도 턱없이 부족하다고 보고했다.[31]

참조

[1] 웹사이트 For Flash on Linux, There Are Open Player Alternatives http://www.pcworld.c[...] 2016-08-10
[2] 웹사이트 Gnash Project http://www.gnashdev.[...] 2007-04-23
[3] 웹사이트 Gnash 0.8.8 Claims To Support All YouTube Videos, But Is It Good Enough? http://www.webupd8.o[...] 2010-08-23
[4] 웹사이트 Why do you use C++ and not C? FAQ entry http://www.gnashdev.[...] Gnash Project 2011-03-25
[5] 간행물 Welcome to the Gnash project! http://lists.gnu.org[...] Gnash mailing list 2005-12-20
[6] 웹사이트 GNU Gnash - GNU Project - Free Software Foundation https://www.gnu.org/[...] Free Software Foundation 2016-08-10
[7] 웹사이트 High Priority Free Software Projects http://www.fsf.org/c[...] 2008-08-05
[8] 웹사이트 GPLFlash homepage http://gplflash.sour[...] 2007-04-17
[9] 웹사이트 Welcome to the Gnash project! http://lists.gnu.org[...] 2005-12-20
[10] 웹사이트 Adobe TechNote: Flash Player support on 64-bit operating systems https://www.adobe.co[...] Adobe 2007-04-22
[11] 웹사이트 Flash Player "Square" Preview Release http://labs.adobe.co[...] Adobe 2010-11-04
[12] 웹사이트 RISC OS To Get Flash, Word Support http://osnews.com/st[...] Thom Holwerda, osnews.com 2007-04-22
[13] 웹사이트 Gnash for BeOS (Take 2) http://joomla.iscomp[...] DaaT, joomla.iscomputeron.com 2007-04-22
[14] 웹사이트 Gnash – The GNU SWF movie player http://www.amigasoft[...] Amigasoft.net 2009-06-15
[15] 웹사이트 Gnash 0.8.6 http://www.haikuware[...] Haikuware.com 2009-11-28
[16] 웹사이트 Gnash Reference Manual https://www.gnu.org/[...] www.gnu.org 2011-11-12
[17] 웹사이트 Task #5930 on GNU Gnash Savannah Site http://savannah.gnu.[...] Gnash Developers 2007-04-22
[18] 웹사이트 FFmpeg Documentation – Supported Video Formats http://ffmpeg.mplaye[...] MPlayer Developers 2007-04-22
[19] 웹사이트 VideoLAN Client Features List http://www.videolan.[...] VideoLAN Developers 2007-04-22
[20] 웹사이트 Gnash Project Rob's Blog http://gnashdev.org/[...] 2010-08-26
[21] 웹사이트 Gnash 0.8.8 Released with GPU support http://u8untu.bloget[...] 2010-11-03
[22] 웹사이트 Adobe Flash 10.2 Brings Linux Video Acceleration https://www.phoronix[...] 2012-06-10
[23] 웹사이트 Gnash 0.8.8: A Huge Improvement Over Previous Versions http://broadcast.ore[...] 2010-08-27
[24] 웹사이트 Linux Fund: Gnash http://www.linuxfund[...] Linux Fund 2016-08-10
[25] 웹사이트 Cygnal - Gnash Project Wiki http://wiki.gnashdev[...] Free Software Foundation 2016-08-09
[26] 웹사이트 Gnash User Manual https://www.gnu.org/[...] Free Software Foundation 2016-08-09
[27] 웹사이트 Gnash 0.8.3 release https://www.gnu.org/[...] Free Software Foundation 2010-11-04
[28] 웹사이트 Gnash unsupported windows port http://benjaminwolse[...] Open Media Now! 2010-11-04
[29] 웹사이트 John Gilmore's home page http://www.toad.com/[...] John Gilmore
[30] 웹사이트 Gnash Developers' Blog – "Funding Plea" http://www.gnashdev.[...] Gnash 2010-11-29
[31] 웹사이트 Gnash, Lightspark, and Shumway https://lwn.net/Arti[...]
[32] 웹사이트 Gnash FAQ – How do Gnash developers work with the Adobe/Macromedia EULA? http://www.gnashdev.[...] Gnash Project 2010-11-03
[33] 웹사이트 Adobe Flash Player "Square" End User License Agreement http://labs.adobe.co[...] Adobe Labs 2010-11-03
[34] 웹사이트 Two approaches to Flash https://lwn.net/Arti[...] Gnash Project 2010-11-04
[35] 웹사이트 Presse et Information http://curia.europa.[...] Court of Justice of the European Union 2012-06-07
[36] 웹사이트 Gnash メーリングリストの最初の投稿 "Welcome to the Gnash project!" http://lists.gnu.org[...] 2008-05-13
[37] 웹사이트 最初のアルファリリースのメッセージ http://www.gnu.org/s[...] 2008-05-13
[38] 웹사이트 三番目のアルファリリースのメッセージ http://www.gnu.org/s[...] 2008-05-13
[39] 웹사이트 最初のベータリリースのメッセージ http://www.gnu.org/s[...] 2008-05-13
[40] 웹사이트 Gnash 0.8.8 Released http://www.gnashdev.[...] Gnash Project 2010-08-25
[41] 웹사이트 What does Gnash stand for? http://www.gnashdev.[...] 2009-03-12
[42] 웹사이트 フリーソフトウェア財団の高優先フリーソフトウェアプロジェクトのリスト http://www.fsf.org/c[...] 2008-05-13
[43] 웹사이트 Gnash GPLv3 http://www.gnashdev.[...] 2008-05-13
[44] 웹사이트 用語集 http://www.gnu.org/s[...] 2008-05-13
[45] 웹사이트 ユーザ設定ファイル http://www.gnu.org/s[...] 2008-05-13
[46] 웹사이트 BuildMatrix http://wiki.gnashdev[...] 2008-05-13
[47] 웹사이트 Flash Player 必要システム構成 http://www.adobe.com[...] 2008-05-13
[48] 웹사이트 Adobe Labs - Downloads: Flash Player 10 http://labs.adobe.co[...] 2009-03-08
[49] 웹사이트 Flash Player の 64 ビット版オペレーティングシステム対応状況 http://www.adobe.com[...] 2008-05-13
[50] 웹사이트 RISC OS To Get Flash, Word Support http://osnews.com/st[...] 2008-05-13
[51] 웹사이트 Gnash for BeOS (Take 2). http://joomla.iscomp[...] 2008-05-13
[52] 웹사이트 How do Gnash developers work with the Adobe/Macromedia EULA? http://www.gnashdev.[...] 2008-05-13
[53] 웹사이트 Adobe and Industry Leaders Establish Open Screen Project http://www.adobe.com[...] 2009-09-10
[54] 웹인용 "[Gnash] Gnash 0.8.10 released" http://lists.gnu.org[...]
[55] 웹인용 For Flash on Linux, There Are Open Player Alternatives http://www.pcworld.c[...] 2016-08-10
[56] 웹인용 Gnash Project http://www.gnashdev.[...] 2021-08-22
[57] 웹인용 Gnash 0.8.8 Claims To Support All YouTube Videos, But Is It Good Enough? http://www.webupd8.o[...] 2010-11-03
[58] 웹인용 Why do you use C++ and not C? FAQ entry http://www.gnashdev.[...] Gnash Project 2011-03-25
[59] 문서 Welcome to the Gnash project! http://lists.gnu.org[...]
[60] 웹인용 GNU Gnash - GNU Project - Free Software Foundation https://www.gnu.org/[...] 자유 소프트웨어 재단 2016-08-10



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com