Blog do Julio

Hacks, tutoriais e dicas

Subsonic

| Comments

Subsonic é um servidor de mídia opensource capaz de fazer streaming de toda sua biblioteca de músicas e vídeos para qualquer celular ou computador conectado à internet. Ele funciona como o VLC, mas possui várias features extras, como fazer transcode em tempo real e fazer scrobble para o lastfm.

Acesse a demonstração para ter uma ideia melhor: http://www.subsonic.org/pages/demo.jsp

O Subsonic é multiplataforma, pois é feito em java. Ele pode ser instalado de forma independente (standalone) ou como um Web Application Archive). Aqui usei a forma standalone por ser mais simples.

  1. Instale todas as dependências julio@julio-acer ~ $ sudo pacman -S jre lame ffmpeg flac

  2. Baixe e instale o subsonic disponível no AUR: http://aur.archlinux.org/packages.php?ID=35954

  3. Edite o script de inicialização julio@julio-acer ~ $ sudo vim /var/subsonic/subsonic.sh SUBSONIC_HOME=/var/subsonic SUBSONIC_HOST=0.0.0.0 SUBSONIC_PORT=4040 SUBSONIC_HTTPS_PORT=0 SUBSONIC_CONTEXT_PATH=/ SUBSONIC_MAX_MEMORY=200 SUBSONIC_PIDFILE= SUBSONIC_DEFAULT_MUSIC_FOLDER=/media/externo/Musicas SUBSONIC_DEFAULT_PODCAST_FOLDER=/var/music/Podcast SUBSONIC_DEFAULT_PLAYLIST_FOLDER=/var/playlists export LC_CTYPE=en_US.UTF-8

     quiet=0
    

    Em SUBSONIC_HOST deixe 0.0.0.0 mesmo, assim você terá acesso a partir de qualquer computador. Mude para 127.0.0.1 se você apenas quiser acesso local.

    O HTTPS_PORT não é necessário, mas você pode configurar como SUBSONIC_HTTPS_PORT=4041. Você também precisará configurar o SSL.

    Inseri a última linha com um export, pois tive problemas com pastas e arquivos acentuados e isso resolveu o problema. Outras possíveis variáveis a serem exportadas podem ser vistas em $ locale.

  4. Se, na etapa acima, você deixou a pasta de música padrão. Crie um link simbólico em /var/music para a pasta de músicas no seu HD. Exemplo: julio@julio-acer ~ $ sudo ln -s /media/externo/Musicas/ /var/music/

    De qualquer forma, posteriormente você poderá adicionar pastas de músicas e vídeos pela interface web.

  5. Execute o script que você acabou de editar julio@julio-acer ~ $ sudo /var/subsonic/subsonic.sh Started Subsonic [PID 7635, /var/subsonic/subsonic_sh.log]

  6. Acesse http://localhost:4040 e troque a senha padrão por uma mais segura.

  7. Settings: Music folders: Defina as pastas de música a serem acessadas

    General: Defina a pasta de playlists, linguagem, tema e as mensagens

    Advanced: Configure o LAME

    Personal: Configurações do usuário, como avatar e conta no lastfm

    Users: Crie novos usuários, edite suas permissões e altere sua senha. Além do admin, recomendo criar outro usuário com menos permissões, para seguir o princípio da menor permissão.

    Players: Defina os players e os transcodes

    Network: NÃO maque a opção “Automatically configure your router to allow incoming connections to Subsonic”, pois vamos abrir a porta manualmente.

    Marque “Access your server over the Internet using an easy-to-remember address.” e coloque um usuário qualquer (jbsilva é o meu). Você poderá usar essa conta gratuitamente por 30 dias, depois desse prazo você deve doar 10 euros ou usar um serviço externo como o DynDNS (explicação abaixo).

    Abra a página do roteador (10.0.0.1 aqui).

    Em LANSetup, reserve o IP 10.0.0.2 para o computador rodando o Subsonic.

    Em Port Forwarding, clique em Add Custom Service e preencha com os seguintes dados:

      Service Name: Subsonic
      Service Type: TCP/UDP
      Starting Port: 4040
      Ending Port: 4040
      Server IP Adress: 10.0.0.2
    

    Teste as configurações, verificando se o roteador redirecionou a porta 4040 para seu computador. Exemplo: http://189.19.170.215:4040/ e http://jbsilva.subsonic.org

    devem mostrar a tela de login do Subsonic.

    Transcoding: Adicione comandos para conversão entre formatos.

    Internet TV/radio: Adicione links para stream de TV/rádios online.

    Podcast: Configura o download de podcasts

    Search: Configura a atualização do index para buscas

  8. Crie um link simbólico para cada programa utilizado para transcodes: julio@julio-acer ~ $ sudo ln -s /usr/bin/lame /var/subsonic/transcode/ julio@julio-acer ~ $ sudo ln -s /usr/bin/flac /var/subsonic/transcode/ julio@julio-acer ~ $ sudo ln -s /usr/bin/ffmpeg /var/subsonic/transcode/

iPhone

Como o player em flash da interface web não funciona no iPhone, a melhor solução é instalar algum App.

Só encontrei Apps gratuitos para Android, para iPhone encontrei dois por $4.99: iSub e Z-Subsonic.

Aqui comentarei sobre o iSub que eu baixei por ser mais popular e o iSub lidar melhor com os álbuns e capas, pelos reviews que li. Quem sabe algum dia eu teste o Z-Subsonic. Se quiser um tutorial para configurar o Z-Subsonic, o próprio desenvolvedor criou um: http://blog.intulon.com/?p=8

Configurar o iSub é bem simples.

  1. Baixe o App da AppStore e abra-o
  2. Clique em Settings -> Servers
  3. Adicione um novo servidor Se usar o do próprio subsonic é só colocar http://jbsilva.subsonic.org, sem a porta. Mas se usar o dynDNS configurado como no tutorial que linkei no próximo tópico, também inclua a porta. Eg.: http://jbsilva.dyndns.org:4040 ou http://casa.juliobs.com:4040/
  4. Em settings -> settings, ative o scrobble para o Last.fm e limite o bitrate da conexão 3G.

DNS Dinâmico

Após 30 dias você não conseguirá acessar seus arquivos pelo endereço fornecido pelo subsonic (http://jbsilva.subsonic.org). Você terá que fazer uma doação de pelo menos 10 euros ao Subsonic, acessar seu computador diretamente pelo IP ou utilizar um serviço de DNS dinâmico para associar o IP dinâmico do seu computador a um endereço estático.

Criei um post explicando todo o processo para criar e configurar um hostname no DynDNS. Clique AQUI para acessá-lo.


Links:

Comments