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。