Código-fonte
Alguns dos nossos apps incluem bibliotecas de código aberto licenciadas sob a GNU LGPL. Aqui você pode baixar o código-fonte correspondente, os scripts exatos com que as compilamos e o nosso próprio código que se vincula a elas.

1B Music 0.1.7
Para o 1B Music 0.1.7. Tudo o que está abaixo é exatamente o que foi usado para compilar esta versão.
- ffmpeg-9.0.2.tar.xzFFmpeg 9.0.2: o código-fonte original, sem modificações, de ffmpeg.org (LGPL 2.1 ou posterior)12,0 MB
SHA-256 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e - ffmpeg-9.0.2.tar.xz.ascAssinatura OpenPGP da versão do FFmpeg (chave de assinatura de versões do FFmpeg)520 B
SHA-256 d617fd94ea354dadd2a8bb16243d37c44e1e9729b06b6ad58fe30bfb0fa943f2 - 1bmusic-0.1.7-lgpl-src.tar.gzTodo o resto em um só arquivo compactado: script e configuração de compilação, nosso decodificador JNI e o arquivo CMake dele, as portas para Kotlin do Chromaprint e da libswresample, avisos de licença e instruções (README.txt)39 KB
SHA-256 36e3b0bea34daf26a99a7bdbfcafe27beaba16573c6f82e5db51c319093b1954 - build-ffmpeg-android.shScript de compilação do FFmpeg com as opções exatas do configure5 KB
SHA-256 2c4f30a3299070f0ffa7df5c91444128d2950dd68139f1a14372d02daeba4c10 - onebaudio.cNosso decodificador JNI (C), vinculado dinamicamente ao FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtArquivo CMake do decodificador JNI1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMSSomas de verificação SHA-256 de todos os arquivos acima521 B
SHA-256 f251327bf6245991f05e94799e9b76b34a86383c1c05ce1017b506468e943b4b

1B Music 0.1.6
Para o 1B Music 0.1.6. Tudo o que está abaixo é exatamente o que foi usado para compilar esta versão.
- ffmpeg-9.0.2.tar.xzFFmpeg 9.0.2: o código-fonte original, sem modificações, de ffmpeg.org (LGPL 2.1 ou posterior)12,0 MB
SHA-256 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e - ffmpeg-9.0.2.tar.xz.ascAssinatura OpenPGP da versão do FFmpeg (chave de assinatura de versões do FFmpeg)520 B
SHA-256 d617fd94ea354dadd2a8bb16243d37c44e1e9729b06b6ad58fe30bfb0fa943f2 - 1bmusic-0.1.6-lgpl-src.tar.gzTodo o resto em um só arquivo compactado: script e configuração de compilação, nosso decodificador JNI e o arquivo CMake dele, as portas para Kotlin do Chromaprint e da libswresample, avisos de licença e instruções (README.txt)39 KB
SHA-256 679d37fd508de7c7d69b754566dbe40e2189a49a440ea16d9a27b9e80a7de293 - build-ffmpeg-android.shScript de compilação do FFmpeg com as opções exatas do configure5 KB
SHA-256 2c4f30a3299070f0ffa7df5c91444128d2950dd68139f1a14372d02daeba4c10 - onebaudio.cNosso decodificador JNI (C), vinculado dinamicamente ao FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtArquivo CMake do decodificador JNI1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMSSomas de verificação SHA-256 de todos os arquivos acima521 B
SHA-256 fa76450f4733144852ea2691f9c6c4ec7f9584aa0ba8ad6b6d7cfc7188056842

1B Music 0.1.4
Para o 1B Music 0.1.4. Tudo o que está abaixo é exatamente o que foi usado para compilar esta versão.
- ffmpeg-9.0.2.tar.xzFFmpeg 9.0.2: o código-fonte original, sem modificações, de ffmpeg.org (LGPL 2.1 ou posterior)12,0 MB
SHA-256 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e - ffmpeg-9.0.2.tar.xz.ascAssinatura OpenPGP da versão do FFmpeg (chave de assinatura de versões do FFmpeg)520 B
SHA-256 d617fd94ea354dadd2a8bb16243d37c44e1e9729b06b6ad58fe30bfb0fa943f2 - 1bmusic-0.1.4-lgpl-src.tar.gzTodo o resto em um só arquivo compactado: script e configuração de compilação, nosso decodificador JNI e o arquivo CMake dele, as portas para Kotlin do Chromaprint e da libswresample, avisos de licença e instruções (README.txt)39 KB
SHA-256 4c5d1d68d4c73ef388b624890bc715dc055a6e81230a456de25aed8bb19a7349 - build-ffmpeg-android.shScript de compilação do FFmpeg com as opções exatas do configure5 KB
SHA-256 2c4f30a3299070f0ffa7df5c91444128d2950dd68139f1a14372d02daeba4c10 - onebaudio.cNosso decodificador JNI (C), vinculado dinamicamente ao FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtArquivo CMake do decodificador JNI1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMSSomas de verificação SHA-256 de todos os arquivos acima521 B
SHA-256 cf4d58b2f768bf90c41c0012c0427b10e1a7c72299a7f8dcedde12d9898ddfd4

1B Music 0.1.3
Para o 1B Music 0.1.3. Tudo o que está abaixo é exatamente o que foi usado para compilar esta versão.
- ffmpeg-9.0.2.tar.xzFFmpeg 9.0.2: o código-fonte original, sem modificações, de ffmpeg.org (LGPL 2.1 ou posterior)12,0 MB
SHA-256 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e - ffmpeg-9.0.2.tar.xz.ascAssinatura OpenPGP da versão do FFmpeg (chave de assinatura de versões do FFmpeg)520 B
SHA-256 d617fd94ea354dadd2a8bb16243d37c44e1e9729b06b6ad58fe30bfb0fa943f2 - 1bmusic-0.1.3-lgpl-src.tar.gzTodo o resto em um só arquivo compactado: script e configuração de compilação, nosso decodificador JNI e o arquivo CMake dele, as portas para Kotlin do Chromaprint e da libswresample, avisos de licença e instruções (README.txt)39 KB
SHA-256 81ce24f758675b7fce4790793f1882bdd103cb5e9fbba5e0e06a6444f73b6047 - build-ffmpeg-android.shScript de compilação do FFmpeg com as opções exatas do configure5 KB
SHA-256 2c4f30a3299070f0ffa7df5c91444128d2950dd68139f1a14372d02daeba4c10 - onebaudio.cNosso decodificador JNI (C), vinculado dinamicamente ao FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtArquivo CMake do decodificador JNI1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMSSomas de verificação SHA-256 de todos os arquivos acima521 B
SHA-256 df189e74aafa927ca733a2ee7a0f43ab687b29c832fef6e9b52085a80548af92
O que o 1B Music usa
- FFmpeg 9.0.2 (libavformat, libavcodec, libavutil, libswresample) decodifica os formatos que o Android não reproduz sozinho: APE, WavPack, TTA, Musepack, WMA, DSD, AIFF, CAF e Speex, além de Opus e Vorbis para uma reprodução sem pausas exata.
- Ele é compilado sem nenhuma alteração, apenas com componentes LGPL (nenhuma parte GPL ou não livre), e vai dentro do app como bibliotecas compartilhadas separadas, para que você possa substituí-las pela sua própria compilação.
- Para calcular impressões digitais acústicas, o app também contém portas para Kotlin do Chromaprint e da libswresample, disponibilizadas aqui sob a mesma licença.
Recompilar ou substituir as bibliotecas
- Instale a versão do Android NDK indicada no script e execute
tools/build-ffmpeg-android.sh. Ele baixa o FFmpeg, verifica o SHA-256 e o compila para arm64-v8a, armeabi-v7a e x86_64. - Para usar um FFmpeg modificado, descompacte o seu código-fonte onde o script espera encontrá-lo ou altere a linha do configure.
- Substitua
libavformat.so,libavcodec.so,libavutil.soelibswresample.sono APK do app para a ABI do seu dispositivo, assine os APKs com a sua própria chave e instale-os. O README.txt explica cada passo.
Licença
Estes componentes são distribuídos sob a Licença Pública Geral Menor GNU, versão 2.1 ou (a seu critério) qualquer versão posterior. O texto completo está incluído no arquivo compactado e no app (Configurações → Sobre). FFmpeg é uma marca de Fabrice Bellard, criador do projeto FFmpeg.
Mantemos cada versão disponível aqui por pelo menos três anos depois de distribuí-la. Dúvidas, ou precisa em outra mídia? Escreva para 1bytesystems@gmail.com.