8

Scenario:

I am working on a Android project where in one particular openGL page, I display videos.

FFmpeg is used to obtain frames from videos(as openGL does not support video as texture) and I am using the frames to obtain a video effect.

I am using pre-compiled FFmpeg binaries in the project.


I was not aware of the level of legal implications of using the FFmpeg library. My superior brought this to my notice FFmpeg legal reference

Problem:

I am no legal expert, so only thing that I understood is that using FFmpeg in a comercial free app (but service needs to be paid for) is going to get me and my company into trouble :(


In no way the source or any part of the source of the project can be released.(The client is very strict about this.)


Questions?

1) Is there any alternative to FFmpeg (which uses Apache or MIT license) that I can use to obtain video frames?

2) In openGL, getting the video frames and looping through - Is it the only way of playing a video? Is there any alternate method to achieve this functionality?

genpfault
  • 51,148
  • 11
  • 85
  • 139
AjOnFire
  • 2,868
  • 3
  • 25
  • 39
  • Is this running server-side, or did you get FFMPEG to run an Android somehow? Are the legal concerns solely with the FFMPEG license, or with some of the codecs that can be compiled into it? – Brad Feb 14 '12 at 04:12
  • How About metadata retriever? Android has a class MetadataRetriever http://developer.android.com/reference/android/media/MediaMetadataRetriever.html It has a method to retrieve video frames getFrameAtTime(long, int) – avepr Feb 14 '12 at 04:13
  • @Brad - The FFmpeg runs from the Android program ( Somehow got it to blend with my project :) ) Yes the legal concerns are with the FFmpeg license. – AjOnFire Feb 14 '12 at 04:17
  • @alex.veprik - Thank you but MetaDataReceiver is not guaranteed to return a video frame(It is there in the documentation). I actually tried it first but then moved onto FFmpeg. – AjOnFire Feb 14 '12 at 04:19

1 Answers1

2

IANAL, but LGPL means that if you compile and use ffmpeg as shared library (.so file) or standalone executable, then you are fine - even in closed source application that you sell for money.

Mārtiņš Možeiko
  • 12,733
  • 2
  • 45
  • 45
  • 2
    "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 can I be sure if these parts are not used internally? – AjOnFire Feb 14 '12 at 06:29
  • 2
    When you are building ffmpeg, you must pass --enable-gpl to ./configure script of ffmpeg to enable code under GPL. If you don't specify this switch then compiled binary will contain no code under GPL. It's written here: http://ffmpeg.org/legal.html – Mārtiņš Možeiko Feb 14 '12 at 06:55
  • Thanks Martins - I got confused with the point "18) Make sure your program is not using any GPL libraries (notably libx264)." and can you please tell if all the 18 points are mandatory (i.e) points 9, 10 or 11 can they be ignored? Is there any official link that says 'LGPL' can be used without releasing the source? I need to explain it to my superior.(Without real proof my argument would not be strong) Thank you for your effort. – AjOnFire Feb 14 '12 at 07:36
  • 1
    Don't take my word on this, I'm not a legal expert To be 100% sure - get a lawyer and examine how license applies to your specific case. But here's a nice summary on LGPL: http://stackoverflow.com/a/1114076/675078 – Mārtiņš Možeiko Feb 14 '12 at 08:20
  • I do understand. I just want to have some thoughts on licensing clarified before I approach my superior. – AjOnFire Feb 14 '12 at 09:48