FFmpeg

위키백과, 우리 모두의 백과사전.

FFmpeg

개발자
FFmpeg team

운영 체제
크로스 플랫폼

종류
멀티미디어 프레임워크

라이선스
LGPL

웹사이트
http://www.ffmpeg.org/

FFmpeg은 디지털 음성 스트림과 영상 스트림에 대해서 다양한 종류의 형태로 기록하고 변환하는 컴퓨터 프로그램이다.[1] FFmpeg는 명령어를 직접 입력하는 방식으로 동작하며 여러가지 자유 소프트웨어오픈 소스 라이브러리로 구성되어 있다. 라이브러리 중에는 libavcodec도 들어있는데, 이 라이브러리는 음성/영상 코덱 라이브러리로 여러 프로젝트에서 쓰이고 있다. 또, libavformat 라는 음성/영상 다중화, 역다중화 라이브러리도 있다. 이 프로젝트의 이름은 MPEG 영상 표준화 그룹에서 유래했고, "mpeg" 앞에 붙은 "FF"는 "fast forward"를 의미한다.[2]

이 프로젝트는 'Fabrice Bellard'에 의해 시작 되었고, 지금은 'Michael Niedermayer'에 의해서 지속 되고 있다. 많은 FFmpeg개발자 들이 'MPlayer'프로젝트에 포함되어 있고, 'FFmpeg'는 MPlayer 프로젝트 서버의 호스트로 있다(?).

FFmpeg은 리눅스 기반 하에 개발 되었지만, 'Apple Inc. Mac OS X', 'Microsoft Windows', 'AmigaOS' 등 대부분의 운영체제에서 컴파일이 가능 하다.

http://ko.wikipedia.org/wiki/FFmpeg

FFmpeg

From Wikipedia, the free encyclopedia

Question book-new.svg

This article needs references that appear in reliable third-party publications. Primary sources or sources affiliated with the subject are generally not sufficient for a Wikipedia article. Please add more appropriate citations fromreliable sources. (July 2009)

This article needs attention from an expert on the subject. See the talk page for details. WikiProject Computing or the Computing Portal may be able to help recruit an expert. (April 2009)

FFmpeg

Ffmpeg logo.svg

Developer(s)
FFmpeg team

Stable release
0.6.1 / October 18, 2010; 3 months ago

Preview release
Git

Development status
Active

Written in
C[1]

Operating system
Cross-platform

Platform
Multi-platform

Type
Multimedia framework

License
GNU LGPL 2.1+
GNU GPL 2+

Website
http://FFmpeg.org/

FFmpeg is a free software / open source project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects,libavformat, an audio/video container mux and demux library, and the ffmpeg command line program for transcodingmultimedia files. FFmpeg is published under the GNU Lesser General Public License 2.1+ or GNU General Public License2+ (depending on which options are enabled).[2]

Contents

[hide]

[edit]History

The project was started by Fabrice Bellard[2] (using the pseudonym “Gerard Lantau”), and was maintained by Michael Niedermayer from 2004 to 2011. On January 18, 2011, a group of 18 FFmpeg developers announced a new team of seven maintainers that would review and approve all patches.[3] Many FFmpeg developers are also part of the MPlayer project. The name of the project comes from the MPEG video standards group, together with "FF" for "fast forward".[4] The logo uses a zigzag pattern that shows how MPEG video codecs handle entropy encoding.

FFmpeg is developed under GNU/Linux, but it can be compiled under most operating systems, including Mac OS X, Microsoft Windows, AmigaOS and its heir MorphOS. Most computing platforms and microprocessor instruction set architectures are also supported, like x86 (IA-32 and x86-64), PPC (PowerPC), ARM, DEC Alpha, SPARC, and MIPS architecture.[5]

FFmpeg version 0.5 appeared after a long time without formal releases. FFmpeg developers still always recommend using the latest neutral build from their source codeGit version control system.

There are two video codecs and one video container invented in the FFmpeg project during its development. The two video codecs are the lossless "FFV1", and the lossless and lossy "Snow codec", which is still in a sporadic development, but its bitstream format hasn't been finalized yet, making it experimental for now (January 2010), and the multimedia container is "NUT" which is not being actively developed anymore.

On June 17, 2010, with version 0.6 FFmpeg also supports WebM and VP8.[6]

On July 23, 2010 Jason Garrett-Glaser, Ronald Bultje, and David Conrad of the FFmpeg Team announced the ffvp8 decoder. Through testing they determined that ffvp8 was faster than Google's own libvpx decoder.[7][8]

[edit]Components

Diagram showing different applications (VDR,MPlayer, Xine and VideoLAN) using FFmpeg

The project is made of several components:

  • ffmpeg is a command line tool to convert one video file format to another. It can also grab and encode in real time from a TV card.
  • ffserver is an HTTP and RTSP multimedia streaming server for live broadcasts. It can also time shift live broadcast.
  • ffplay is a simple media player based on SDL and on the FFmpeg libraries.
  • ffprobe is a command line tool to show media information.
  • libavcodec is a library containing all the FFmpeg audio/video encoders and decoders. Most codecs were developed from scratch to ensure best performance and high code reusability.
  • libavformat is a library containing demuxers and muxers for audio/video container formats.
  • libavutil is a helper library containing routines common to different parts of FFmpeg. This library includes adler32, crc, md5, sha1, lzo decompressor, Base64encoder/decoder, des encrypter/decrypter, rc4 encrypter/decrypter and aes encrypter/decrypter.
  • libpostproc is a library containing video postprocessing routines.
  • libswscale is a library containing video image scaling and colorspace/pixelformat conversion routines.
  • libavfilter is the substitute for vhook which allows the video/audio to be modified or examined between the decoder and the encoder.

[edit]Codecs, formats and protocols supported

[edit]Codecs

For more details on this topic, see libavcodec.

Codecs with the origin in the project:

The FFmpeg developers have implemented among others:

The default MPEG-4 codec used by FFmpeg for encoding has the FourCC of FMP4.

[edit]Formats
[edit]Protocols
  • IETF standards: TCP, UDP, Gopher, HTTP, RTP, RTSP and SDP
  • Apple related protocols: HTTP Live Streaming
  • RealMedia related protocols: RealMedia RTSP/RDT
  • Adobe related protocols: RTMP, RTMPT (via librtmp), RTMPE (via librtmp), RTMPTE (via librtmp) and RTMPS (via librtmp)
  • Microsoft related protocols: MMS over TCP and MMS over HTTP

[edit]Projects using FFmpeg

FFmpeg is used by many open source (and proprietary) projects, including ffmpeg2theora, VLC, MPlayer, HandBrake, Blender, Google Chrome, and others.[17]

FFmpeg handles the HTML5 Video and Audio media content in the Origyn Web Browser for MorphOS Operating System.[18][19]

[edit]Multimedia frameworks using FFmpeg

[edit]Legal status of codecs

FFmpeg contains more than 100 codecs [20] most of which do not just store uncompressed data. At least all codecs that compress information could be claimed by patent holders.[21] Such claims may be enforceable in countries like the United States which have implemented software patents, but are considered unenforceable or void in countries that have not implemented software patents. Furthermore, many of these codecs are only released under terms that forbid reverse engineering, even for purposes of interoperability. These terms of use are forbidden in certain countries. For example, some European Union nations have not implemented software patents and have laws expressly allowing reverse engineering for purposes of interoperability.[22]

Most GNU/Linux distributions include a stripped version of FFmpeg only including certain codecs to avoid legal complications, instead contributors maintain unofficial repositories containing such software.[23][24]

[edit]See also

Portal-puzzle.svg
Free software portal

http://en.wikipedia.org/wiki/FFmpeg

 

FFmpeg

Home/News About Download Documentation Bug Reports Contact Consulting Legal

Project Description

FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. It includes libavcodec - the leading audio/video codec library. See the documentation for a complete feature list and the Changelog for recent changes.

FFmpeg is free software licensed under the LGPL or GPL depending on your choice of configuration options. If you use FFmpeg or its constituent libraries, you must adhere to the terms of the license in question. You can find basic compliance information and get licensing help on our license and legal considerations page. Note that if you violate our license terms, we will track you down, list you on our Hall of Shame and eventually sue you.

Looking for help? Contact us, but before you report any bugs, read the guidelines that we created for this purpose.

Want to participate in the active development of FFmpeg? Keep up with the latest developments by subscribing to both the ffmpeg-devel and ffmpeg-cvslog lists.

http://www.ffmpeg.org/

 

아이폰 AVPlayer가 FFmpeg 라이센스를 위반했다는군요.

chmaron의 아바타

글쓴이: chmaron 작성 일시: 화, 2010/11/23 - 10:05오전

아이폰의 가장 골치거리였던 동영상 인코딩 없이 바로 동영상을 볼 수 있는 유로 어플을 한국 개발자가 만들어서 요즘 엄청 많이 팔리고 있습니다.

그런데 ffmpeg 라이브러리를 사용했는데 현재 LGPL 라이센스 위반 상태라고 하네요. 이미 여러 사람들이 개발자에게 소스코드 공개를 요청했는데 명확한 대응이 없는 상태인것 같습니다.

댓글에서는 ffmpeg에 라이센스 위반이 보고되었다고 하는데, 아직 메일링 리스트나 이슈 트래커에는 안 올라온것 같네요.

자세한 내용은 http://www.eplayworks.com/2010/10/avplayer-license.html 참조하세요.

‹ 요새 북한이 남침할것 같습니까?개발자 고민상담실에 특허 사기당했다고 올리신 분. ›

»

ironiris의 아바타

LGPL 라이센스인데 왜 소스를 공개해야 하지요??

글쓴이: ironiris 작성 일시: 화, 2010/11/23 - 10:45오전

LGPL 라이센스인데 왜 소스를 공개해야 하지요??

»

bootmeta의 아바타

잘못된 댓글이라 삭제...

글쓴이: bootmeta 작성 일시: 화, 2010/11/23 - 10:56오전

^^;

»

cwryu의 아바타

LGPL도 LGPL인 라이브러리의 소스는 배포해야

글쓴이: cwryu 작성 일시: 화, 2010/11/23 - 12:01오후

LGPL도 LGPL인 라이브러리의 소스는 배포해야 합니다. (아예 배포하지 않는다면 모르겠지만.)

»

하승수의 아바타

좀 상황이 복잡한게,

글쓴이: 하승수 작성 일시: 화, 2010/11/23 - 1:13오후

제대로 모르고 쓴 글인 것 같아 지웁니다 ;;

»

chmaron의 아바타

static linking 때문입니다.

글쓴이: chmaron 작성 일시: 화, 2010/11/23 - 9:13오후

AVPlayer는 FFmpeg을 static link해서 배포하고 있습니다. LGPL 라이브러리를 static link해서 배포하려면 라이브러리를 직접 호출하는 부분은 소스코드를 공개하고, 그 외 나머지 부분은 오브젝트 파일을 공개해야 합니다.

»

ironiris의 아바타

그랬군요.

글쓴이: ironiris 작성 일시: 수, 2010/11/24 - 10:01오전

그랬군요.

»

Necromancer의 아바타

직접 호출하지 않는 나머지 부분도 다 공개해야

글쓴이: Necromancer 작성 일시: 수, 2010/11/24 - 10:34오후

직접 호출하지 않는 나머지 부분도 다 공개해야 될텐데요. 소스까지 풀로.

공개 안해도 되는 부분은 통상적으로 말하는 별도 프로세스로 나뉘어진 경우입니다.
시스템콜이나 스크립트 등으로 엮여 돌게 한 경우 LGPL 라이브러리 static link한 실행파일 부분을 공개하고, 그것을 호출하거나 호출 받는 실행파일쪽은 안해도 됩니다.

Written By the Black Knight of Destruction

»

RedCarrottt의 아바타

허허 이런 라이브러리도 잘 보고 써야겠습니다.

글쓴이: RedCarrottt 작성 일시: 화, 2010/11/23 - 10:48오전

허허 이런 라이브러리도 잘 보고 써야겠습니다.

»

preisner의 아바타

그러게요.. 중요한 문제인데 의외로 이런 문제를

글쓴이: preisner 작성 일시: 수, 2010/11/24 - 1:47오후

그러게요.. 중요한 문제인데 의외로 이런 문제를 사소하게 생각하시는 분들이 많으시더군요.
앞으로는 더욱 중요한 문제가 될것 같습니다.

»

JuEUS-U의 아바타

'LGPL을 사용하는 유료 어플리케이션'은 뭔가

글쓴이: JuEUS-U 작성 일시: 수, 2010/11/24 - 3:50오전

'LGPL을 사용하는 유료 어플리케이션'은 뭔가 느낌이 이상하군요.

»

나빌레라의 아바타

LGPL이건 GPL이건 소스공개만 한다면 유료로

글쓴이: 나빌레라 작성 일시: 수, 2010/11/24 - 1:21오후

LGPL이건 GPL이건 소스공개만 한다면 유료로 팔아도 상관없지 않나요?

----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라

»

JuEUS-U의 아바타

상관이 없는게 맞습니다만, 소스를 공개하지 않고 계속

글쓴이: JuEUS-U 작성 일시: 목, 2010/11/25 - 7:06오전

상관이 없는게 맞습니다만,
소스를 공개하지 않고 계속 판다는게 마음에 들지 않습니다. 어디까지나 사적으로.

더군다나 코드를 정리해서 공개하겠다는 대사는 핑계로 쓰인적이 많습니다.
오픈소스라는게 지속적인 수정이 전제되는 프로젝트 방법론인데
굳이 코드를 다듬어서 공개하겠다는건 오픈소스에 대한 이해도 없을 뿐더러
그 생태계에 적극적으로 참여할 의사가 없다는 겁니다.
그러면서 오픈소스 라이브러리를 가져다가 수익을 내고있는데 좋은 눈으로 볼 수는 없죠.
소스코드가 아무리 더럽더라도 지금 당장이라도 압축파일을 올릴 수도 있는것 아니겠습니까.
그리고 무료로 repository 제공하는 서비스도 있는데 뭐가 어려울까요.

제가 보기에는 어떤 변명/해명이 나오더라도 비판을 피할 수는 없는 상황입니다.

»

upriser의 아바타

여전히 국내 앱스토어에서 1위를 달리고 있군요.

글쓴이: upriser 작성 일시: 수, 2010/11/24 - 2:10오후

FFmpeg을 사용해서 만들었다면 나머지 부분에 특별히 공개 못 할 핵심기술이 있는 것도 아닐텐데...

결국 변호사에게 전화가 올때까지 버티다가 소스를 공개할 작정인가보죠?

쯔쯔...

»

hbell의 아바타

...같은 개발자로서 창피하군요;

글쓴이: hbell 작성 일시: 수, 2010/11/24 - 3:15오후

프로그램에 있어서
확실히 아이디어도 중요하긴 하지만
그 아이디어를 떠오르게 도와 준 선현(?)들에 대한 예의가 더 중요하다고 생각하는데...

-------------------------------------------
이번에 슬쩍 가입한 hbell입니닷 x.x;

»

eyeda99의 아바타

그래도 돈은 벌겠군요.그 개발자분(!)

글쓴이: eyeda99 작성 일시: 수, 2010/11/24 - 3:19오후

그래도 돈은 벌겠군요.그 개발자분(!)

If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut.
- Albert Einstein -

»

chmaron의 아바타

개발자 사이트를 보면 FFmpeg을 dynamic

글쓴이: chmaron 작성 일시: 수, 2010/11/24 - 4:44오후

개발자 사이트를 보면 FFmpeg을 dynamic link해서 LGPL을 위반하지 않고 배포하는 방법을 찾고 있는것 같습니다. 아마도 본인의 소스를 공개할 의사는 없고, 문제가 된 라이센스 위반 사항을 해결하려는것 같네요. 암튼 라이센스 위반을 하던 말던 본인은 돈은 번거죠. 그리고 여러 사람들의 문제 제기가 없었다면 앞으로도 계속 그랬을거고요.

»

upriser의 아바타

아이폰에는

글쓴이: upriser 작성 일시: 수, 2010/11/24 - 5:56오후

shared library 가 없는걸로 알고있어요. 현재까지는...

애플이 지원하기 전까지는 방법이 없죠.

그래서 유명한 iPhone 용 Video Player인 AirVideo는 PC에서 FFmpeg을

shared library (dynamic link library)로 사용해서 인코딩하고

이를 iPhone 으로 전송하는 방법으로 GPL 위반을 피했죠.

Video Player 개발자 정도 됐으면 이런 사실을 모를리 없을텐데

"무인코딩" 이라고 자랑하면서 팔고 있는걸 작태를 보면 정말

비양심적이라고 하지 않을 수 없습니다.

--

전 처음봤을 때 무 인코딩이라길래 GPL 때문에 FFmpeg은 썼을리 없을테고 기술력이 상당하겠다고 내심 감탄했었는데...

»

developer0080의 아바타

avplayer 개발자입니다.

글쓴이: developer0080 작성 일시: 수, 2010/11/24 - 9:53오후

아,제가 LGPL을 정확히 이해해지 못해 문제를 일으켰네요,

위반할 생각이 있었다면 처음부터 LGPL을 사용을 알리지 않았겠죠, 사실 이렇게 국내에서 많이 받으실줄은 전혀 몰랐거든요, 대부분은 그냥 아무런 관심을 받지 못하고 묻히게 되니까요,

LGPL에 대해서는 경쟁제품을 올려놓은 싸이트들 둘러보고는, 그중에 이미 오래전부터 판매되고 있는 OPlayer가 비교적 잘 언급해 놓은것 같아, 따라하면서 이렇게 하면 문제가 없는건 줄 알았습니다.

그리고 약간 사실과 다르게 작성하신 부분도 있는것 같습니다. 지금까지 딱 한분이 오브젝트를 요청하셨고 사이트를 보시면 아실수 있는데요, 계속 대응을 하고 있습니다.

Jammy라는 분이 ffmpeg의 소스와 avplayer의 obj코드(not source)를 요청하셨고, 제가 ffmpeg 받는 법을 알려드렸고, 다시 Jammy란 분이 object는 LGPL이라도 배포해야 한다라고 알려주시고 배포 방법 예제를 링크해 주셔서 같은 방법으로 빌드할수 있도록 해보는 중이었습니다. (그 이외에 ffmpeg이나 다른 그룹으로부터 위반사실을 통지 받거나 따로 소스를 요청하신분은 없었습니다.)

완전히 LGPL만 사용하였고 (몰래 GPL을 사용하지 않았기 때문에) 오브젝트 파일과 ffmpeg소스를 배포하여 빌드할수 있게하면 되는데요, xcode란 툴에서 icon과 xib 파일 없이는 빌드가 안되어서요, icon image들을 재배포 해도되는지 저작자와 확인이 필요해서요, 아니면 실행파일만 나오게 할수 있으면 깔끔할것 같은데요, 이부분에서 시간이 걸리고 있고 가급적 빨리 해결하려고 하고 있습니다.

LGPL이고 소스에 별다른 기술은 없지만, 사실 공개하기 부끄러운(날코딩) 부분이 많아 제 사이트 댓글에도 작성했지만 나중에 깔끔하게 정리할수 있으면 공개하려는 마음이 없었던건 아닙니다.

이유가 어떻든 제가 잘못한거니까 빨리 해결하겠습니다. 그저 개발자의 변병이었습니다.ㅜㅜ

아, 그리고 GPL이면 상용으로 만들수 없는것 아닌가요,

»

peremen의 아바타

상용 프로그램이라고 해도 GPL을 적용할 수 없는 건

글쓴이: peremen 작성 일시: 수, 2010/11/24 - 10:11오후

상용 프로그램이라고 해도 GPL을 적용할 수 없는 건 아닙니다. GPL의 '소스 공개'는 정당한 구매자에게만 하면 되는 것이기 때문에, 바이너리를 구매한 사람에게만 소스를 준다고 해서 GPL 위반은 아니라고 알고 있습니다. 그 대신 바이너리를 구매한 사람이 받은 소스를 재배포하는 것을 제한할 수는 없습니다.

---- 절취선 ----
http://blog.peremen.name

»

unipro의 아바타

"그 대신 바이너리를 구매한 사람이 받은 소스를

글쓴이: unipro 작성 일시: 목, 2010/11/25 - 10:30오전

"그 대신 바이너리를 구매한 사람이 받은 소스를 재배포하는 것을 제한할 수는 없습니다."

위 조항 때문에 상용으로 팔 수 있다는 말이 무색해지는 것 같습니다.
순수하게 소프트웨어 판매로 수익을 얻으려는 기업이나 개인에게 "상용 판매를 제한하지 않는다"는 말은 실제로 거의 불가능한 이야기입니다.
많은 오픈소스들이 하드웨어 벤더, 컨설팅 업체, 서비스 업체들에서 지원하거나 듀얼 라이센스로 가는 것은 이와 같은 이유때문이 아닐런지요.

따라서, "GPL, LGPL은 상용 판매를 제한하지 않지만, 실제로는 거의 불가능하다."라고 말하고 인식이 되어야 한다고 생각합니다.
"GPL, LGPL의 적용을 받는 소프트웨어를 상용으로 팔 수 있다."라는 문구만 보면 사람들이 오해할 수 있습니다.
조금 심하게 말하면, 찌라시 언론이 종종 쓰는 수법으로, 거짓없는 사실을 말하면서, 일부의 내용을 생략하여 독자들을 기만하는 것과 비슷합니다.
비록 찌라시의 의도적인 행동과 다르게 그냥 순수한 언급이지만 결국 비슷한 효과를 내게 됩니다.

내 블로그: http://unipro.tistory.com

»

cwryu의 아바타

용어를 그렇게 해석하기 때문인데요. 흔히 국내

글쓴이: cwryu 작성 일시: 목, 2010/11/25 - 1:50오후

용어를 그렇게 해석하기 때문인데요. 흔히 국내 대부분의 사람들이 "상용"이라는 말을 독점적인 권리를 누리는 것으로 생각하는데, (L)GPL에서 허용하는 "commercial use"는 "proprietary"와 구분됩니다. 조건이 어떻든 돈을 받고 파는 것, 영리 회사에서 사용하는 것 다 상용이라고 합니다.

그리고 분야에 따라 다르겠지만 재배포를 제한하지 못하더라도 커스터마이즈된 소프트웨어라든지 서포트와 함께 공급되는 경우라든지 등등 (L)GPL 소프트웨어를 파는 것도 먹히는 분야가 많기 때문에 충분히 가치가 있습니다.

»

han002의 아바타

왜 상용판매가 안된다고 생각하시죠?

글쓴이: han002 작성 일시: 수, 2010/11/24 - 9:58오후

http://www.gnu.org/licenses/gpl-faq.ko.html#DoesTheGPLAllowMoney

..

»

upriser의 아바타

헐~ 직접 오셨군요.

글쓴이: upriser 작성 일시: 수, 2010/11/24 - 10:37오후

계속 무대응으로 버티신건 아니라니 뭐 잠시나마 계발자로서 분노했던건 좀 사그러지는군요.

어찌되었건 조속히 해결하시기 바랍니다.

한국 소프트웨어가 Hall of Shame에 등록되는 일없었으면 합니다.

»

chmaron의 아바타

본인은 그렇게 생각하실지도 모르겠지만... 다른

글쓴이: chmaron 작성 일시: 목, 2010/11/25 - 1:16오전

본인은 그렇게 생각하실지도 모르겠지만...

다른 사람(특히 개발자) 입장에서는 여러 개발자들의 노력으로 만들어진 오픈소스 코드를 라이센스 위반하면서 사용하셨고, 또한 현재도 계속적으로 수익을 올리고 계시며, 라이센스 위반이므로 소스코드를 공개하라는 요청에는 명확한 대응을 하지 않으신게 문제가 아닐까 싶네요.

개발자님의 사이트에서는 "공개할 의무가 없다; 잘못 알고 있었다; 방법을 찾고 있다; 시간을 달라"라고 대응을 하셨기 때문에 명확한 대응을 하지 않는다고 적었습니다. 그 밑에 댓글로 다른 분들이 명확한 해결 방법을 알려주셨는데 어떤 방법을 더 찾으신다는건지..

»

jkhl의 아바타

참고로 LGPL이나 GPL이라도 상용으로 만들 수

글쓴이: jkhl 작성 일시: 목, 2010/11/25 - 5:04오전

참고로 LGPL이나 GPL이라도 상용으로 만들 수 있습니다. 그러니까, avplayer로 다운로드 한 건당 얼마씩 돈을 번다고 해도 이건 라이센스 위반이 아닙니다. GPL이면 소스코드를 무조건 공개해야 하지만 LGPL이면 특정 조건 하에서 공개하지 않아도 됩니다.

배포를 할 때 라이브러리를 dynamic하게 분리시켜야 한다는 LGPL의 조항은 아마 우회가 가능할겁니다. 잘은 모르겠지만 예를들어 ffmpeg이 없는 avplayer를 앱스토어에 올리고 avplayer를 아이폰에서 실행하면 avplayer가 특정 웹사이트에 접속해서 ffmpeg 라이브러리를 다운받아 완전한 avplayer를 만드는 방법이 있지 않을까 싶습니다. 예를들어, 우분투에서처럼 mp3 재생기는 mp3 재생 라이브러리를 갖고 있지 않지만 (따라서 우분투 배포본은 mp3 재생 라이브러리의 배포권 제한에서 벗어나지만) mp3 재생기를 실행시키면 ok 클릭 한번으로 mp3 재생 라이브러리를 받아옵니다. avplayer도 같은 방법을 쓸 수 있는지 한번 알아보시길.

»

neocoin의 아바타

아이폰에서는 그렇게 못합니다.

글쓴이: neocoin 작성 일시: 목, 2010/11/25 - 5:39오전

iOS는 static link 밖에 지원하지 않습니다. 말씀하시는건 dynamic link가 지원되어야 합니다.

LGPL 이니 구입한 분들에게 object 파일 공개 정도로 하시면 될듯하네요.

»

jkhl의 아바타

iOS가 그런 단점이 있군요. iOS는 BSD

글쓴이: jkhl 작성 일시: 목, 2010/11/25 - 8:03오전

iOS가 그런 단점이 있군요. iOS는 BSD 기반이지 싶은데 어쩌다 dynamic link가 안되나요?

그렇다면 차선책으로 FFmpeg 원저자와 협의해서 ffmpeg을 상용 라이센스나 non-GPL 라이센스로 dual-licensing 하는 방법도 있지 않을까 싶습니다. ffmpeg 저작권자가 너무 많으면 이것 또한 문제가 있겠습니다만.

»

neocoin의 아바타

제 생각에는 현재 iOS에서는 이점이 단점 보다는 장점으로 작용합니다.

글쓴이: neocoin 작성 일시: 목, 2010/11/25 - 10:12오전

dynamic link 를 허용하지 않아서 바이너리간에 의존성이 없습니다.
최종 파일이 단일 실행 파일로 떨어지는 형태로 컴파일 됩니다. 이를 zip으로 묶어서 apple에 보냅니다.
덕분에 os에서는 이 파일 하나를 관리해서, 설치 삭제, sandbox 를 모델을 os에서 제공합니다.

이건 비단 iOS 뿐만이 아니라, Mac OS에서 일반 GUI 프로그램 들도 이런 경향이 많습니다.
(뭐 좀 많이 다르지만 ;;)
설치하려하면, 그냥 원하는 폴더에 복사하고 프로그램을 실행시키죠.

Mac OS 쓰면서 이런 설치 삭제가 가장 마음에 들더군요.

»

cwryu의 아바타

다른 이슈

글쓴이: cwryu 작성 일시: 목, 2010/11/25 - 1:48오전

- FSF가 앱스토어에서 GNU go 삭제 요청 http://www.fsf.org/news/2010-05-app-store-compliance

- 앱스토어에서 VLC 기반 소프트웨어 삭제 요청 http://www.macstories.net/news/vlc-for-ios-may-soon-be-gone-from-the-app...

문제는 소스코드 공개가 아니라, 5개 이상의 장치에서 사용하지 못하게 제한하고 있는 아이튠즈의 DRM 때문입니다. 아이튠즈 이용약관에 쓰여 있고요. 복사를 제한하지 않는 GPL 조건과 정면으로 충돌하죠.

제가 이해하는 한, 애플에 보고하면 이 앱은 삭제될 겁니다.

»

peremen의 아바타

ffmpeg의 이슈 트래커에 아이폰용 아프리카

글쓴이: peremen 작성 일시: 목, 2010/11/25 - 2:04오전

ffmpeg의 이슈 트래커에 아이폰용 아프리카 프로그램도 올라와 있던데 이게 삭제된다면 그것도 같은 이유로 삭제될 수도 있겠네요. 또 국내에서 개발된 것 같은 yxflash라는 플래시 플레이어로 보이는 것도 이슈 트래커에 올라와 있습니다.

버그 트래커에 라이선스 위반을 따로 만들어 둔 것을 보면 심각하게 주의할 필요가 있어 보입니다.

* https://roundup.ffmpeg.org/issue2271 : 아프리카
* https://roundup.ffmpeg.org/issue1995 : yxflash
* https://roundup.ffmpeg.org/issue1934 : yxflash

---- 절취선 ----
http://blog.peremen.name

»

jkhl의 아바타

조금 오해의 소지가 있네요. 기사를 읽어보니 애플은

글쓴이: jkhl 작성 일시: 목, 2010/11/25 - 8:08오전

조금 오해의 소지가 있네요. 기사를 읽어보니 애플은 여기서 앱스토어의 Terms of condition의 5개 복사본 제한을 고칠 수도 있었고 단순히 GPL 앱을 삭제할 수도 있었는데 애플은 여기서 GPL앱을 삭제하는 쪽으로 선택을 했다는 얘기입니다. FSF나 VLC쪽에서는 Terms of condition 변경을 원했던 것 같네요.

»

런맨의 아바타

주제랑 상관없는 글 적어서 우선 죄송합니다. 어떻게

글쓴이: 런맨 작성 일시: 금, 2010/11/26 - 2:24오후

주제랑 상관없는 글 적어서 우선 죄송합니다.

어떻게 해결되는지 궁금해서 댓글 달아 놓습니다.^^

kldp는 제가 보고 싶은 글 담아 놓기 이런기능 없죠??

»

하승수의 아바타

현재 업데이트

글쓴이: 하승수 작성 일시: 수, 2010/12/01 - 6:33오전

http://www.eplayworks.com/p/lgplinformation.html

잘 마무리 된건가요??

http://kldp.org/node/119469

 

10.16.2010

AVPlayer License

* This article is out of date. Please see LGPL Information on the top of this site.
AVPlayer has used the FFmpeg and SoundTouch for video/audio decoding and processing.
FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later. However, FFmpeg incorporates several optional parts and optimizations that are covered by the GNU General Public License (GPL) version 2 or later. If those parts get used the GPL applies to all of FFmpeg.

How to compile FFmpeg for iPhone

  1. Download and install the iPhone SDK 3.1 or above
  2. Get the latest gas-preprocessor and install it in /usr/local/bin or some other directory in your $PATH.
    http://github.com/yuvi/gas-preprocessor/
  3. Get the latest FFmpeg from SVN (minimum r20151). You can get source codes fromhttp://ffmpeg.org/
  4. Configure FFmpeg with one of the following commands. These give a
    clean build with a default installation of iPhone SDK 3.1 on OSX Leopard.
    Other versions may vary.
  5. (1)  For iPhone 3GS or iPod Touch 3G 32GB/64GB, use this command:

./configure --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1 --as='gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk --enable-cross-compile --target-os=darwin --arch=arm --cpu=cortex-a8 --enable-pic
          (2)    ./configure --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1 --as='gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk --enable-cross-compile --target-os=darwin --arch=arm --cpu=arm1176jzf-s
- run make.

http://www.eplayworks.com/2010/10/avplayer-license.html

LGPL Information

AVPlayer is built on the following open source projects licensed under the LGPLv2.1:
* FFmpeg
* SoundTouch
Source code for FFmpeg and SoundTouch can be downloaded using the link below. A Xcode project is also included, which allows AVPlayer to be rebuilt with different versions of the libraries (requires iPhone SDK 4.2 or later.)
* AVPlayer-XCode download.
Copyright © 2010 EPlayworks. All rights reserved.

피드 구독하기: 게시물 (Atom)

http://www.eplayworks.com/p/lgplinformation.html

+ Recent posts