I have written a free and open-source app (available on GitHub) that needs to bundle a static binary build of FFmpeg's command line executable tool, but does not link to its code statically or dynamically. My app invokes the bundled FFmpeg binary as an external (child) process (as if it were installed separately on my machine and I were invoking it from the command line). So, there are no references to any FFmpeg source code or libraries (dylib) anywhere in my app code..

Where I got the ffmpeg binary: FFmpeg download page

I bundle FFmpeg with my app in this way so that my users don't have to worry about having FFmpeg installed and configuring my app to point to their FFmpeg installation.

From my research, I understand that FFmpeg is licensed under GPL V3. I have also read FFmpeg's legal compliance checklist page at FFmpeg legal compliance checklist. The terms of GPL are somewhat clear in the cases of "static linking" and "dynamic linking" of the library (in my case, FFmpeg) with app code. However, my scenario, it seems, is neither of the two.

I have also read this other page here which addresses a similar scenario: (other Stack Exchange question). But what is unclear is - if I need to make the FFmpeg source code available, how exactly? From within my app or in my app's documentation? Do I need to include the source as part of my app bundle? Do I need to provide a link to it from my docs?

I have currently not licensed my own app in any way. It (and its source code) is available for free download on GitHub. So, if I include FFmpeg in the way described above, what must I do to comply with the GPL license terms?

P.S. If you'd like more details about my app and how it uses FFmpeg (including my code), I'll be happy to share.

  • FFmpeg is not GPL v3. Did you build ffmpeg with or without "--enable-gpl" and with or without "--enable-nonfree"? See ffmpeg.org/legal.html
    – Brandin
    Dec 18, 2018 at 5:21
  • I did not build ffmpeg, I simply downloaded it from the official ffmpeg site: ffmpeg.org/download.html. And yes, I read the legal page, which doesn't say anything about my case. ffmpeg -L gives me this: "ffmpeg is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version." Dec 18, 2018 at 5:41
  • FFmpeg does not distribute binaries. There is a Windows build page though on ffmpeg.zeranoe.com/builds and other build pages for other platforms. If you used that page, you need to download the same source from that page, and note that the author said it is GPL 3.0 licensed.
    – Brandin
    Dec 18, 2018 at 6:05
  • The evermeet.cx/ffmpeg page is also not affiliated with the FFmpeg project. That author of that page says that he built it using "--enable-gpl". There is no source code on that page, so to redistribute it you will have to hunt down the same version of the source that he used to make those binaries.
    – Brandin
    Dec 18, 2018 at 6:12
  • I see. I thought that was the official ffmpeg site, so I'm confused. There is, in fact, source code on that page. Look at the right hand column. You will see a download link corresponding to the binary download on the left hand side. Yes, I have downloaded the source from the same snapshot build. And, I need to include it in my app bundle, correct ? And where/how do I "note that the author said it is GPL 3.0 licensed" ? Dec 18, 2018 at 10:35


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.