Компоненты с открытым кодом и соответствующий исходный код
Медиавозможности CineX опираются на открытое программное обеспечение. На этой странице перечислены встроенные компоненты, применимые к каждому из них лицензии и то, как получить их исходный код.
Встроенные компоненты с открытым кодом
CineX встраивает перечисленные ниже компоненты в форме динамических фреймворков (x264 и dav1d статически линкуются в libavcodec; всего 8 компонентов). Версии взяты из самих артефактов: сам FFmpeg — n6.0; 6.0.2 — это номер релиза на уровне CocoaPods, а не версия FFmpeg.
| Компонент | Версия | Лицензия |
|---|---|---|
| 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 | GPL-2.0-or-later |
| dav1d | Встроено в ffmpeg-kit 6.0.LTS | BSD-2-Clause |
За что отвечает каждый компонент
ffmpegkit (GPL-3.0) — обёртка FFmpeg с интерфейсом командного вызова.
libavcodec (GPL-3.0) — библиотека кодеков (x264 и dav1d статически линкуются в эту часть).
libavformat (GPL-3.0) — чтение, запись и разбор контейнерных форматов.
libavfilter (GPL-3.0) — обработка графа фильтров.
libavutil (GPL-3.0) — общие служебные функции.
libavdevice (GPL-3.0) — ввод и вывод устройств.
libswresample (GPL-3.0) — передискретизация звука и преобразование раскладки каналов.
libswscale (GPL-3.0) — преобразование цветового пространства и пиксельного формата видео.
x264 (GPL-2.0-or-later) — программный кодировщик H.264; именно он и отличает сборку full-gpl от сборки LGPL. В каждом его исходном файле написано “either version 2 … or (at your option) any later version”, поэтому его можно объединить с FFmpeg и распространять под GPL-3.0.
dav1d (BSD-2-Clause) — декодер AV1. Разрешительная лицензия, она не меняет лицензионный статус всей сборки; так как он линкуется статически, его исходный код входит в состав соответствующего исходного кода.
Получение соответствующего исходного кода (пункт 6 GPLv3)
Все 8 фреймворков выше распространяются под лицензией GPL-3.0 (x264 — под GPL-2.0 или более поздней, dav1d — под BSD-2-Clause; все три можно объединять и распространять вместе). Согласно пункту 6 GPL-3.0, распространяя программу в бинарном виде, вы должны дать получателям возможность получить соответствующий исходный код. Вот как это можно сделать:
Пакет соответствующего исходного кода (рекомендуем — всё за один раз)
https://getcinex.app/cinex-corresponding-source.tar.gz
Полные исходники ffmpeg-kit 6.0.LTS, FFmpeg n6.0, x264 и dav1d, плюс рецепты сборки для обеих платформ и манифест (tar.gz, 18.6 MiB).
ffmpeg-kit (обёртка и сборка, которые в этом проекте реально используются)
https://github.com/arthenica/ffmpeg-kit
Проект отправлен в архив (автор прекратил сопровождение), но репозиторий по-прежнему открыт: оттуда можно скачать все исходники и скрипты сборки. ⚠️ Предложение исходного кода от upstream распространяется только на опубликованные им самим бинарные файлы, а встраиваемые в CineX части мы собираем сами, поэтому обязанность предоставить соответствующий исходный код лежит на нас — действует указанная выше загрузка.
Сам FFmpeg
https://ffmpeg.org/download.html
Официальный сайт исходников upstream; исходники n6.0 можно скачать по номеру версии.
x264
https://www.videolan.org/developers/x264.html
Официальный сайт исходников VideoLAN.
dav1d
https://code.videolan.org/videolan/dav1d
Официальный репозиторий VideoLAN.
Если вам нужна конфигурация сборки или пакет исходного кода, полностью соответствующие версии, встроенной в CineX, — напишите нам на support@getcinex.app, и мы предоставим нужное в разумный срок.
Полные тексты лицензий
Полные тексты лицензий распространяются вместе с приложением: каждый встроенный фреймворк содержит в своём bundle его LICENSE файл (libavcodec содержит ещё LICENSE.X264 и LICENSE.DAV1D). Страница «Аккаунт → Компоненты с открытым кодом и соответствующий исходный код» в приложении приводит эти тексты без изменений — она читает их во время работы из тех фреймворков, которые реально установлены на вашем устройстве, поэтому страница и файлы в пакете не могут разойтись.
Связанные примечания
Ограничения на обратный инжиниринг в «Условиях обслуживания» не применяются к компонентам, права на которые даны по указанным открытым лицензиям; для таких компонентов приоритет имеют условия применимой открытой лицензии. См.: Условия использования — раздел «Объём лицензии».
Как мы обрабатываем ваши данные — см. Политика конфиденциальности。