Componentes de código abierto y código fuente correspondiente

CineX basa su capacidad de procesar medios en software de código abierto. Esta página enumera los componentes que integramos, la licencia aplicable a cada uno y cómo obtener su código fuente.

Componentes de código abierto integrados

CineX incorpora, en forma de frameworks dinámicos, los 8 componentes siguientes (x264 y dav1d quedan enlazados de forma estática en libavcodec). Las versiones salen del propio producto: FFmpeg en sí es n6.0; 6.0.2 es el número del paquete de CocoaPods, no la versión de FFmpeg.

Componente Versión Licencia
ffmpegkit6.0GPL-3.0
libavcodecFFmpeg n6.0GPL-3.0
libavformatFFmpeg n6.0GPL-3.0
libavfilterFFmpeg n6.0GPL-3.0
libavutilFFmpeg n6.0GPL-3.0
libavdeviceFFmpeg n6.0GPL-3.0
libswresampleFFmpeg n6.0GPL-3.0
libswscaleFFmpeg n6.0GPL-3.0
x264ffmpeg-kit 6.0.LTS integradoGPL-2.0-or-later
dav1dffmpeg-kit 6.0.LTS integradoBSD-2-Clause

Qué aporta cada componente

ffmpegkit(GPL-3.0) — la capa de envoltura de FFmpeg, que ofrece una interfaz de llamada por comandos.

libavcodec(GPL-3.0) — la biblioteca de códecs (x264 y dav1d quedan enlazados de forma estática en esta).

libavformat(GPL-3.0) — lectura, escritura y parseo de formatos de contenedor.

libavfilter(GPL-3.0) — procesamiento del grafo de filtros.

libavutil(GPL-3.0) — funciones comunes de utilidad.

libavdevice(GPL-3.0) — entrada y salida del dispositivo.

libswresample(GPL-3.0) — remuestreo de audio y conversión de la disposición de canales.

libswscale(GPL-3.0) — conversión del espacio de color y del formato de píxeles del video.

x264(GPL-2.0-or-later) — codificador de software H.264; es lo que diferencia la compilación full-gpl de la LGPL. Cada uno de sus archivos fuente dice “either version 2 … or (at your option) any later version”, así que puede distribuirse junto a FFmpeg bajo GPL-3.0.

dav1d(BSD-2-Clause) — decodificador AV1. Licencia permisiva que no cambia la condición de licencia del conjunto; como va enlazado de forma estática, su fuente es parte de la fuente correspondiente.

Cómo obtener la fuente correspondiente (GPLv3, §6)

Los 8 frameworks anteriores se licencian bajo GPL-3.0 (x264 bajo GPL-2.0 o posterior, dav1d bajo BSD-2-Clause; los tres pueden distribuirse combinados). Según el artículo 6 de GPL-3.0, al distribuir en forma binaria debe poder obtenerse el código fuente correspondiente. Puedes obtenerlo por estas vías:

Paquete de la fuente correspondiente (recomendado, todo en uno)

https://getcinex.app/cinex-corresponding-source.tar.gz

Incluye la fuente completa de ffmpeg-kit 6.0.LTS, FFmpeg n6.0, x264 y dav1d, además de las recetas y listas de compilación de ambas plataformas (tar.gz, 18,6 MiB).

ffmpeg-kit (el envoltorio y la compilación usados realmente en este proyecto)

https://github.com/arthenica/ffmpeg-kit

El proyecto quedó archivado (el autor dejó de mantenerlo), pero el repositorio sigue público y se puede descargar toda la fuente y los scripts de compilación. ⚠️ La oferta de fuente del upstream solo cubre los binarios que el propio autor publica; las piezas integradas en CineX las compilamos nosotros, así que la obligación de la fuente correspondiente es nuestra: la referencia es la descarga de arriba.

FFmpeg en sí

https://ffmpeg.org/download.html

Sitio oficial de la fuente del upstream; permite bajar la fuente de n6.0 por número de versión.

x264

https://www.videolan.org/developers/x264.html

Sitio oficial de fuente de VideoLAN.

dav1d

https://code.videolan.org/videolan/dav1d

Repositorio oficial de VideoLAN.

Si necesitas que, con la versión integrada en CineX, la configuración de compilación o el paquete de fuente guarde total correspondencia, escribe a support@getcinex.app y te lo facilitaremos en un plazo razonable.

Texto completo de la licencia

El texto completo de la licencia se reparte junto con la app: cada framework integrado trae en su bundle su LICENSE (libavcodec incluye también LICENSE.X264 y LICENSE.DAV1D). La página «Cuenta → Componentes de código abierto y fuente correspondiente» dentro de la app lista estos textos tal cual: los lee en tiempo de ejecución del framework real de tu dispositivo, así que la página y los archivos del paquete no pueden diferir.

Notas relacionadas

Las restricciones de ingeniería inversa de los Términos de Servicio no se aplican a los componentes anteriores autorizados por una licencia de código abierto; para esos componentes, prevalecen las condiciones de la licencia de código abierto aplicable. Consulta Términos de Servicio, sección «Alcance de la licencia».

Cómo tratamos tus datos: mira Política de Privacidad。