Компоненты с открытым кодом и соответствующий исходный код

Медиавозможности CineX опираются на открытое программное обеспечение. На этой странице перечислены встроенные компоненты, применимые к каждому из них лицензии и то, как получить их исходный код.

Встроенные компоненты с открытым кодом

CineX встраивает перечисленные ниже компоненты в форме динамических фреймворков (x264 и dav1d статически линкуются в libavcodec; всего 8 компонентов). Версии взяты из самих артефактов: сам FFmpeg — n6.0; 6.0.2 — это номер релиза на уровне CocoaPods, а не версия FFmpeg.

Компонент Версия Лицензия
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
x264Встроено в ffmpeg-kit 6.0.LTSGPL-2.0-or-later
dav1dВстроено в ffmpeg-kit 6.0.LTSBSD-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). Страница «Аккаунт → Компоненты с открытым кодом и соответствующий исходный код» в приложении приводит эти тексты без изменений — она читает их во время работы из тех фреймворков, которые реально установлены на вашем устройстве, поэтому страница и файлы в пакете не могут разойтись.

Связанные примечания

Ограничения на обратный инжиниринг в «Условиях обслуживания» не применяются к компонентам, права на которые даны по указанным открытым лицензиям; для таких компонентов приоритет имеют условия применимой открытой лицензии. См.: Условия использования — раздел «Объём лицензии».

Как мы обрабатываем ваши данные — см. Политика конфиденциальности。