オープンソースコンポーネントと対応するソースコード
CineX のメディア処理機能はオープンソースソフトウェアに基づいています。このページでは、私たちが組み込んだコンポーネント、それぞれに適用されるライセンス、そしてそのソースコードの入手方法を記載しています。
組み込まれたオープンソースコンポーネント
CineX はダイナミックフレームワークの形式で次の 8 個のコンポーネントを組み込んでいます(x264 と dav1d は libavcodec に静的リンクされています)。バージョンは成果物そのものから取得しています。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” と書かれているため、GPL-3.0 に基づいて FFmpeg と統合して配布できます。
dav1d(BSD-2-Clause)— AV1 デコーダー。許諾の緩やかなライセンスで、成果物全体のライセンスの性質は変わりません。静的リンクされているため、そのソースコードは対応するソースコードの一部です。
対応するソースコードの取得(GPLv3 §6)
上記の 8 個のフレームワークは GPL-3.0 でライセンスされています(x264 は GPL-2.0 以降、dav1d は BSD-2-Clause で、3 者をまとめて配布できます)。GPL-3.0 第 6 条により、バイナリの形で配布するとき、受け手が対応するソースコードを取得できるようにする必要があります。次の方法で入手できます:
対応するソースコードパッケージ(推奨、1 回でまとめて取得)
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
本プロジェクトはアーカイブ済み(作者によるメンテナンスは終了)ですが、リポジトリは引き続き公開されており、すべてのソースコードとビルドスクリプトをダウンロードできます。⚠️ 上流側のソースコード提供は上流側自身が配布したバイナリに限られます。CineX に組み込まれているスライスは私たちが独自にコンパイルしたもので、対応するソースコードの義務は私たちが負います。上のダウンロードが基準です。
FFmpeg 本体
https://ffmpeg.org/download.html
上流側の公式ソースコードサイトで、バージョン番号を指定して 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も同梱されています)。アプリ内の「アカウント → オープンソースコンポーネントと対応するソースコード」のページには、これらの文書がそのままの形で並びます — ランタイムにお使いのデバイスに実際に含まれているフレームワークから読み取っているため、ページとパッケージ内のファイルが食い違うことはありません。
関連する説明
利用規約にあるリバースエンジニアリングの制限は、上記のオープンソースライセンスによって許諾されたコンポーネントには適用されません。これらのコンポーネントについては、適用されるオープンソースライセンスの条項が優先します。詳しくは利用規約の「ライセンスの範囲」の節を参照してください。
私たちがあなたのデータをどう扱うかについては、以下をご覧ください:プライバシーポリシー。