1. Resumo
O app SnapID Mark carimba vídeos no seu celular com software do projeto FFmpeg, por meio do plugin Flutter ffmpeg_kit_flutter_new_min. Esse software é licenciado sob a GNU Lesser General Public License (LGPL). Esta página informa os nomes, as versões, as licenças, onde obter o código-fonte e como substituir a biblioteca.
A versão usada é a build "min". Ela não contém nenhum componente GPL (sem x264, x265, xvidcore, vid.stab) nem nenhum componente não livre (non-free). A codificação de vídeo usa o codificador do sistema operacional (MediaCodec no Android, VideoToolbox no iOS).
2. Componentes e licenças
| Componente | Versão | Licença | Código-fonte |
|---|---|---|---|
| FFmpeg (libavcodec, libavformat, libavfilter, libavutil, libswscale, libswresample, libavdevice) | n8.1.2 | LGPL 2.1 ou posterior. A build ativa --enable-version3, portanto se aplica a LGPL 3.0 ou posterior | git.ffmpeg.org/ffmpeg.git, tag n8.1.2, commit 38b88335f99e76ed89ff3c93f877fdefce736c13 |
| FFmpegKit (fork de sk3llo), o wrapper do FFmpeg para Android e iOS | Pacote Flutter ffmpeg_kit_flutter_new_min 3.6.2, biblioteca Android com.antonkarpenko:ffmpeg-kit-min 2.2.2, release iOS 8.1.2-min | LGPL 3.0 | github.com/sk3llo/ffmpeg_kit_flutter, release 8.1.2-min (commit 437356ab7efb22ba0a70cbf23ca4bf7b3f693d38) |
Configuração da build (lida a partir das bibliotecas dentro do app): Android e iOS usam --enable-shared --disable-static --enable-version3 e --enable-zlib, sem --enable-gpl e sem --enable-nonfree. O Android acrescenta --enable-jni --enable-mediacodec. O iOS acrescenta --enable-videotoolbox --enable-avfoundation.
3. Aviso de licença
Este software usa código do FFmpeg licenciado sob a GNU Lesser General Public License (LGPL). FFmpeg é uma marca registrada de Fabrice Bellard, criador do projeto FFmpeg. A camada FFmpegKit é licenciada sob a LGPL 3.0. O SnapID Mark não é titular do FFmpeg nem do FFmpegKit. Os detentores dos direitos autorais são os autores desses dois projetos.
Textos completos das licenças:
- GNU Lesser General Public License, version 3 (com a GNU General Public License, version 3 à qual a LGPL 3.0 faz referência)
- GNU Lesser General Public License, version 2.1
Este aviso, com links para as licenças e para o código-fonte, também está dentro do app, em Configurações › Vídeo › Licenças de código aberto.
A licença permite que você use, estude, modifique e redistribua a biblioteca nas condições do texto da licença. Seus direitos sobre essas duas bibliotecas não são restringidos pelos Termos de Serviço do SnapID Mark. Isso inclui fazer engenharia reversa da biblioteca para depurar uma versão dela que você tenha modificado.
4. Oferta de código-fonte
O SnapID Mark não modifica o código-fonte do FFmpeg nem o FFmpegKit. Você pode obter o código-fonte correspondente à versão exata usada no app nos endereços da seção 2:
- Código-fonte do FFmpeg: repositório
https://git.ffmpeg.org/ffmpeg.git, tagn8.1.2, commit38b88335f99e76ed89ff3c93f877fdefce736c13(espelho: github.com/FFmpeg/FFmpeg, tag n8.1.2). - Código-fonte e scripts de empacotamento do FFmpegKit: repositório github.com/sk3llo/ffmpeg_kit_flutter, release
8.1.2-min. - Pacote Android: repo1.maven.org/maven2/com/antonkarpenko/ffmpeg-kit-min/2.2.2/ (inclui um arquivo
-sources.jar).
Se esses endereços deixarem de funcionar, ou se você quiser uma cópia do código-fonte correspondente com a configuração de build da versão usada no app, envie um e-mail para cellhubsapp@gmail.com informando a versão do app. Enviaremos uma cópia ou um link para download e cobraremos no máximo o custo da cópia. Esta oferta é válida enquanto distribuirmos essa versão do app.
5. Como obter e substituir a biblioteca
As bibliotecas do FFmpeg são vinculadas dinamicamente. Elas não são incorporadas ao código do programa SnapID Mark:
- Android: os arquivos
libavcodec.so,libavformat.so,libavfilter.so,libavutil.so,libswscale.so,libswresample.so,libavdevice.soelibffmpegkit.soficam na pastalib/<architecture>/do pacote do app (APK). Você pode descompactar o APK, substituir esses arquivos por uma build própria, feita a partir do código-fonte da seção 4 e com a mesma interface (ABI), e depois reempacotá-lo e assiná-lo novamente. - iOS: as bibliotecas são frameworks dinâmicos (
libavcodec.frameworke os demais do mesmo tipo) na pastaFrameworks/do app.
Para recompilar as bibliotecas a partir do código-fonte, siga a documentação e os scripts do projeto FFmpegKit indicados na seção 4, com a configuração da seção 2. Para mais ajuda, fale conosco pelo endereço de e-mail da seção 8.
6. Código próprio do SnapID Mark
O código-fonte e o software desenvolvidos pelo próprio SnapID Mark não fazem parte do FFmpeg nem do FFmpegKit, e a LGPL dessas duas bibliotecas não se aplica a eles. O app chama as bibliotecas por meio da interface pública delas e não copia o código delas para o código do SnapID Mark.
7. Outros componentes de código aberto
O SnapID Mark também usa outros pacotes de código aberto, incluindo bibliotecas Flutter e Dart. Os nomes, avisos de direitos autorais e licenças deles estão listados no app, em Configurações › Vídeo › Licenças de código aberto.
Os anúncios usam o pacote google_mobile_ads (Apache 2.0, Google). O Google Mobile Ads SDK e o User Messaging Platform SDK contidos nele são software proprietário do Google, não de código aberto, e seguem os termos do Google.
8. Marcas registradas e contato
FFmpeg é uma marca registrada de Fabrice Bellard, criador do projeto FFmpeg. O SnapID Mark não é afiliado ao projeto FFmpeg nem ao autor do FFmpegKit, nem é endossado por eles.
Dúvidas sobre esta página ou solicitações de código-fonte: cellhubsapp@gmail.com.