Sí, puede usar FFmpeg en un producto comercial
FFmpeg tiene la licencia GNU Lesser General Public License ( LGPL ) versión 2.1 o posterior.
Algunas características, como la compatibilidad con algunas bibliotecas externas (libx264 y libx265, por ejemplo) y varios filtros, están cubiertas por la Licencia Pública General GNU ( GPL ) versión 2 o posterior (consulte la excepción de licencia comercial x264 a continuación). Si esas partes se utilizan, la GPL se aplica a todo FFmpeg. Consulte LICENSE.md
en el código fuente para ver una lista de las partes GPL de FFmpeg y qué bibliotecas externas requieren GPL.
Entonces, sí, definitivamente puede usar FFmpeg en productos comerciales , y ambas licencias permiten el uso comercial, la distribución y la modificación. FFmpeg es gratis pero no está disponible bajo ningún otro término de licencia.
La licencia que use depende de usted, y depende de sus necesidades y de cómo esté configurada su compilación de FFmpeg, pero debes cumplir con cualquier licencia que termines usando . A FFmpeg no le importa si lo usa con un propósito comercial o no: solo que siga correctamente la licencia.
¿Qué debo hacer para cumplir?
Si » simplemente usando FFmpeg para uso privado o interno, o no estás distribuyendo nada de FFmpeg, entonces no necesitas hacer nada. De lo contrario, para obtener una lista muy detallada, consulte la Lista de verificación de cumplimiento de la licencia FFmpeg . Para resumir, debe:
GPL 2.0+
- Hacer disponible el código fuente exacto de FFmpeg que utilizó.
- Proporcionar una copia del Licencia FFmpeg con su software distribuido (consulte
COPYING.GPLv2
o COPYING.GPLv3
).
- Cambios de estado. Si modifica el código fuente de FFmpeg, debe documentar los cambios.
- Utilice la misma licencia. Si modifica el código fuente de FFmpeg, debe permanecer bajo la misma licencia.
LGPL 2.1+
- Ponga a disposición el código fuente exacto de FFmpeg que utilizó.
- Proporcione una copia de la licencia FFmpeg apropiada con su software distribuido (consulte
COPYING.LGPLv2.1
o COPYING.LGPLv3
).
- Cambios de estado. Si modifica el código fuente de FFmpeg, debe documentar los cambios.
- Utilice la misma licencia. Si modifica el código fuente de FFmpeg, debe permanecer bajo la misma licencia. Esto no se aplica si solo está utilizando bibliotecas vinculadas de FFmpeg.
¿Qué licencia usa mi FFmpeg?
La ffmpeg -L
comando generará un párrafo que indica su licencia. Ejemplo para LGPL v2.1 +:
ffmpeg es un software gratuito; puede redistribuirlo y / o modificarlo según los términos de la Licencia Pública General Reducida GNU publicada por la Free Software Foundation; ya sea la versión 2.1 de la licencia, o (a su elección) cualquier versión posterior.
¿Qué pasa con la licencia comercial x264?
La licencia comercial x264 es compatible con LGPL, pero FFmpeg no tiene una opción que deshabilite el requisito de GPL para x264 con licencia comercial, por lo que debe hacerlo manualmente. Por lo tanto, si adquiere una licencia comercial de licencias x264 , podrá:
- Compilar x264 con
--disable-gpl
.
- Modifique el archivo
configure
en el código fuente de FFmpeg para mover libx264 de EXTERNAL_LIBRARY_GPL_LIST
a EXTERNAL_LIBRARY_LIST
.
- Compile ffmpeg sin
--enable-gpl
y vincular a tu x264 que se ha compilado con --disable-gpl
.
La LGPL todavía se aplica en este caso, así que no olvide poner a disposición el código fuente exacto de FFmpeg que utilizó e indicar los cambios que realizó.
¿Necesito una licencia comercial de x264?
La necesita si su aplicación no es compatible con GPL y se distribuye con x264 vinculado. Consulte [x264-devel] Anuncio de licencia comercial para x264 para agregar todos los detalles.
Consulte también
Comentarios
- ¡guau! ¡Qué gran respuesta!
- @AJ Henderson, ¿te gustaría abrir esto? parece una pregunta y respuesta popular 🙂
- ¡Excelente respuesta! ¿Podría aclarar qué significa " distribuido con x264 " vinculado? ¿Qué sucede si distribuyo software que se basa en la instalación de ffmpeg y lo llama, p. Ej. a través de shell o subproceso? ¿Qué pasa si instalo ffmpeg (sin modificarlo) de forma silenciosa y posteriormente lo llamo desde mi software?