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 |
|---|---|---|
| ffmpegkit | 6.0 | GPL-3.0 |
| libavcodec | FFmpeg n6.0 | GPL-3.0 |
| libavformat | FFmpeg n6.0 | GPL-3.0 |
| libavfilter | FFmpeg n6.0 | GPL-3.0 |
| libavutil | FFmpeg n6.0 | GPL-3.0 |
| libavdevice | FFmpeg n6.0 | GPL-3.0 |
| libswresample | FFmpeg n6.0 | GPL-3.0 |
| libswscale | FFmpeg n6.0 | GPL-3.0 |
| x264 | ffmpeg-kit 6.0.LTS integrado | GPL-2.0-or-later |
| dav1d | ffmpeg-kit 6.0.LTS integrado | BSD-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。