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 conseguir su código fuente.

Componentes de código abierto integrados

CineX incorpora, como frameworks dinámicos, los 8 componentes siguientes (x264 y dav1d se enlazan estáticamente 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é hace cada componente

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

libavcodec(GPL-3.0) — la biblioteca de códecs (x264 y dav1d se enlazan estáticamente en esta).

libavformat(GPL-3.0) — lectura, escritura y análisis de formatos de contenedor.

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

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

libavdevice(GPL-3.0) — entrada y salida de dispositivos.

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

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

x264(GPL-2.0-or-later) — codificador de software H.264; es la clave que diferencia el build full-gpl del LGPL. Cada uno de sus archivos fuente lleva escrito “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 altera la condición de licencia del conjunto; al ir enlazado estáticamente, su fuente forma parte de la fuente correspondiente.

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. Puede 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, más 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 está archivado (el autor dejó de mantenerlo), pero el repositorio sigue siendo público y se pueden 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 recae en nosotros: prevalece la descarga de arriba.

FFmpeg en sí

https://ffmpeg.org/download.html

Sitio oficial de la fuente del upstream; permite descargar 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 necesita que, con la versión integrada en CineX, la configuración de compilación o el paquete de fuente guarde total correspondencia, escriba a support@getcinex.app y se lo facilitaremos en un plazo razonable.

Texto completo de la licencia

El texto completo de la licencia se distribuye junto con la app: cada framework integrado incluye en su bundle su LICENSE (libavcodec lleva además 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 su 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 y condiciones 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. Consulte Términos y condiciones, sección «Alcance de la licencia».

Cómo tratamos sus datos: vea Política de privacidad。