Código-fonte
Algumas das nossas apps incluem bibliotecas de código aberto licenciadas sob a GNU LGPL. Aqui podes transferir o respetivo código-fonte, os scripts exatos com que as compilamos e o nosso próprio código que se liga a elas.

1B Music 0.1.7
Para a 1B Music 0.1.7. Tudo o que está abaixo é exatamente aquilo a partir do qual esta versão foi compilada.
- 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.gzTudo o resto num só arquivo: script e configuração de compilação, o nosso descodificador JNI e o respetivo ficheiro CMake, as adaptações 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.cO nosso descodificador JNI (C), ligado dinamicamente ao FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtFicheiro CMake do descodificador JNI1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMSSomas de verificação SHA-256 de todos os ficheiros acima521 B
SHA-256 f251327bf6245991f05e94799e9b76b34a86383c1c05ce1017b506468e943b4b

1B Music 0.1.6
Para a 1B Music 0.1.6. Tudo o que está abaixo é exatamente aquilo a partir do qual esta versão foi compilada.
- 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.gzTudo o resto num só arquivo: script e configuração de compilação, o nosso descodificador JNI e o respetivo ficheiro CMake, as adaptações 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.cO nosso descodificador JNI (C), ligado dinamicamente ao FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtFicheiro CMake do descodificador JNI1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMSSomas de verificação SHA-256 de todos os ficheiros acima521 B
SHA-256 fa76450f4733144852ea2691f9c6c4ec7f9584aa0ba8ad6b6d7cfc7188056842

1B Music 0.1.4
Para a 1B Music 0.1.4. Tudo o que está abaixo é exatamente aquilo a partir do qual esta versão foi compilada.
- 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.gzTudo o resto num só arquivo: script e configuração de compilação, o nosso descodificador JNI e o respetivo ficheiro CMake, as adaptações 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.cO nosso descodificador JNI (C), ligado dinamicamente ao FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtFicheiro CMake do descodificador JNI1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMSSomas de verificação SHA-256 de todos os ficheiros acima521 B
SHA-256 cf4d58b2f768bf90c41c0012c0427b10e1a7c72299a7f8dcedde12d9898ddfd4

1B Music 0.1.3
Para a 1B Music 0.1.3. Tudo o que está abaixo é exatamente aquilo a partir do qual esta versão foi compilada.
- 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.gzTudo o resto num só arquivo: script e configuração de compilação, o nosso descodificador JNI e o respetivo ficheiro CMake, as adaptações 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.cO nosso descodificador JNI (C), ligado dinamicamente ao FFmpeg25 KB
SHA-256 36382ea42e934eb7849c2605ccbc416a3d842c43c954298c1658a3007ee5e8a1 - CMakeLists.txtFicheiro CMake do descodificador JNI1 KB
SHA-256 3439f9132bd874a1906d9fceec364b757e4fefd219910e08c29de8c239d2ab29 - SHA256SUMSSomas de verificação SHA-256 de todos os ficheiros acima521 B
SHA-256 df189e74aafa927ca733a2ee7a0f43ab687b29c832fef6e9b52085a80548af92
O que a 1B Music usa
- FFmpeg 9.0.2 (libavformat, libavcodec, libavutil, libswresample) descodifica os formatos que o Android não consegue reproduzir sozinho: APE, WavPack, TTA, Musepack, WMA, DSD, AIFF, CAF e Speex, além de Opus e Vorbis para uma reprodução sem pausas exata.
- É compilado sem qualquer alteração, apenas com componentes LGPL (nenhuma parte GPL ou não livre), e vem dentro da app como bibliotecas partilhadas separadas, para que as possas substituir pela tua própria compilação.
- Para calcular impressões digitais acústicas, a app contém também adaptações para Kotlin do Chromaprint e da libswresample, disponibilizadas aqui sob a mesma licença.
Recompilar ou substituir as bibliotecas
- Instala a versão do Android NDK indicada no script e executa
tools/build-ffmpeg-android.sh. Este transfere o FFmpeg, verifica o SHA-256 e compila-o para arm64-v8a, armeabi-v7a e x86_64. - Para usar um FFmpeg modificado, descompacta o teu código-fonte onde o script o espera ou altera a linha do configure.
- Substitui
libavformat.so,libavcodec.so,libavutil.soelibswresample.sono APK da app para a ABI do teu dispositivo, assina os APK com a tua própria chave e instala-os. O README.txt explica cada passo.
Licença
Estes componentes são distribuídos ao abrigo da Licença Pública Geral Reduzida GNU, versão 2.1 ou (à tua escolha) de qualquer versão posterior. O texto completo está incluído no arquivo e na app (Definições → Acerca de). FFmpeg é uma marca de Fabrice Bellard, criador do projeto FFmpeg.
Mantemos aqui cada versão disponível durante pelo menos três anos após a distribuirmos. Dúvidas, ou precisas dela noutro suporte? Escreve-nos para 1bytesystems@gmail.com.