1. 摘要
SnapID Mark 應用程式透過 Flutter 外掛程式 ffmpeg_kit_flutter_new_min,使用 FFmpeg 專案的軟體,在您的手機上為影片加上戳記。此軟體依 GNU Lesser General Public License(LGPL)授權。本頁列出名稱、版本、授權、原始碼取得位置,以及替換程式庫的方式。
所使用的版本為「min」建置版本,不含任何 GPL 元件(無 x264、x265、xvidcore、vid.stab),也不含任何非自由(non-free)元件。影片編碼使用作業系統的編碼器(Android 上為 MediaCodec,iOS 上為 VideoToolbox)。
2. 元件與授權
| 元件 | 版本 | 授權 | 原始碼 |
|---|---|---|---|
| FFmpeg(libavcodec、libavformat、libavfilter、libavutil、libswscale、libswresample、libavdevice) | n8.1.2 | LGPL 2.1 或更新版本。建置時啟用了 --enable-version3,因此適用 LGPL 3.0 或更新版本 | git.ffmpeg.org/ffmpeg.git,標籤 n8.1.2,提交 38b88335f99e76ed89ff3c93f877fdefce736c13 |
| FFmpegKit(sk3llo 分支),適用於 Android 和 iOS 的 FFmpeg 封裝層 | Flutter 套件 ffmpeg_kit_flutter_new_min 3.6.2、Android 程式庫 com.antonkarpenko:ffmpeg-kit-min 2.2.2、iOS 發行版本 8.1.2-min | LGPL 3.0 | github.com/sk3llo/ffmpeg_kit_flutter,發行版本 8.1.2-min(提交 437356ab7efb22ba0a70cbf23ca4bf7b3f693d38) |
建置設定(讀取自應用程式內的程式庫):Android 與 iOS 皆使用 --enable-shared --disable-static --enable-version3 及 --enable-zlib,未使用 --enable-gpl,也未使用 --enable-nonfree。Android 另加上 --enable-jni --enable-mediacodec。iOS 另加上 --enable-videotoolbox --enable-avfoundation。
3. 授權聲明
本軟體使用依 GNU Lesser General Public License(LGPL)授權的 FFmpeg 程式碼。FFmpeg 是 FFmpeg 專案創始人 Fabrice Bellard 的商標。FFmpegKit 層依 LGPL 3.0 授權。SnapID Mark 並不擁有 FFmpeg 或 FFmpegKit,著作權人為這兩個專案的作者。
授權條款全文:
- GNU Lesser General Public License, version 3(以及 LGPL 3.0 所引用的 GNU General Public License, version 3)
- GNU Lesser General Public License, version 2.1
本聲明以及授權條款與原始碼的連結,也收錄在應用程式內的 設定 › 影片 › 開放原始碼授權。
依授權條款文字所定的條件,您可以使用、研究、修改及再散布該程式庫。您對這兩個程式庫的權利不受 SnapID Mark 服務條款的限制,包括為了對您修改過的程式庫版本進行除錯而對其進行還原工程。
4. 原始碼提供
SnapID Mark 並未修改 FFmpeg 原始碼,也未修改 FFmpegKit。您可以在第 2 節所列的位址,取得與應用程式內版本完全相同的對應原始碼:
- FFmpeg 原始碼:儲存庫
https://git.ffmpeg.org/ffmpeg.git,標籤n8.1.2,提交38b88335f99e76ed89ff3c93f877fdefce736c13(鏡像:github.com/FFmpeg/FFmpeg,標籤 n8.1.2)。 - FFmpegKit 原始碼及封裝指令碼:儲存庫 github.com/sk3llo/ffmpeg_kit_flutter,發行版本
8.1.2-min。 - Android 套件:repo1.maven.org/maven2/com/antonkarpenko/ffmpeg-kit-min/2.2.2/(含
-sources.jar檔案)。
若上述位址失效,或您希望取得應用程式內版本的對應原始碼及其建置設定的副本,請附上應用程式版本,寄信至 cellhubsapp@gmail.com。我們會寄送副本或下載連結,收費最多不超過複製成本。只要我們仍在散布該應用程式版本,本提供即持續有效。
5. 如何取得及替換程式庫
FFmpeg 程式庫採動態連結,並未併入 SnapID Mark 的程式碼中:
- Android:檔案
libavcodec.so、libavformat.so、libavfilter.so、libavutil.so、libswscale.so、libswresample.so、libavdevice.so及libffmpegkit.so位於應用程式套件(APK)的lib/<architecture>/資料夾中。您可以解開 APK,以您根據第 4 節原始碼自行建置、具有相同介面(ABI)的檔案替換這些檔案,然後重新封裝並重新簽署。 - iOS:程式庫為動態框架(
libavcodec.framework及其他同類框架),位於應用程式的Frameworks/資料夾中。
若要從原始碼重新建置程式庫,請依照第 4 節所列 FFmpegKit 專案的文件與指令碼,並使用第 2 節的設定。如需進一步協助,請透過第 8 節的電子郵件地址與我們聯絡。
6. SnapID Mark 自有的程式碼
SnapID Mark 自行開發的原始碼與軟體不屬於 FFmpeg 或 FFmpegKit 的一部分,這兩個程式庫的 LGPL 不適用於這些程式碼。應用程式透過公開介面呼叫這些程式庫,並未將其程式碼複製到 SnapID Mark 的程式碼中。
7. 其他開放原始碼元件
SnapID Mark 也使用其他開放原始碼套件,包括 Flutter 和 Dart 程式庫。其名稱、著作權聲明及授權條款列於應用程式內的 設定 › 影片 › 開放原始碼授權。
廣告使用 google_mobile_ads 套件(Apache 2.0,Google)。其中的 Google Mobile Ads SDK 與 User Messaging Platform SDK 為 Google 的專有軟體,並非開放原始碼,適用 Google 的條款。
8. 商標與聯絡方式
FFmpeg 是 FFmpeg 專案創始人 Fabrice Bellard 的商標。SnapID Mark 與 FFmpeg 專案或 FFmpegKit 的作者並無關聯,亦未獲其背書。
有關本頁的問題或原始碼索取:cellhubsapp@gmail.com。