Music Player Daemon

Origem: Wikipédia, a enciclopédia livre.
Music Player Daemon
Desenvolvedor Max Kellermann
Plataforma Unix-like (BSDs, Linux, macOS,…) Windows
Lançamento 2003; 15 anos atrás (2003)
Escrito em C++ (desde a versão 0.18)
Gênero(s) Reprodutor de áudio
Licença GPL (software livre)

Music Player Daemon (MPD) é um servidor de reprodução de música livre e aberto. Ele reproduz arquivos de áudio, organiza listas de reprodução e mantém um banco de dados de músicas. A fim de interagir com ele, um software cliente é necessário. A distribuição do MPD inclui mpc, um simples cliente de linha de comando.

Design[editar | editar código-fonte]

O MPD simplesmente é executado no plano de fundo e reproduz músicas de sua lista de reprodução. Programas de cliente comunicam-se com o MPD para manipular a reprodução, a lista de reprodução e o banco de dados. Ele não é um software completo de reprodução de músicas, tal como o Amarok, mas seus clientes podem servir para esse papel.

O MPD usa um banco de dados simples para manter o básico de informações quando não está em execução. Uma vez que o daemon é iniciado, o banco de dados é mantido completamente na memória e nenhum acesso ao disco rígido é necessário para procurar os arquivos de áudio locais. Normalmente, os arquivos de música devem estar abaixo da raiz do diretório de músicas e só são adicionados ao banco de dados quando o comando de atualização é enviado para o servidor. A reprodução de arquivos arbitrariamente só é permitida para os clientes locais que estão conectados ao servidor através de Unix Domain Sockets. O MPD não fornece um editor de tags incorporado; esta funcionalidade é adicionada por clientes ou programas externos, embora existam patches não oficiais para adicionar esta funcionalidade ao servidor.

O modelo cliente–servidor oferece várias vantagens sobre reprodutores "completos" de músicas. Os clientes podem se comunicar com o servidor remotamente através de uma intranet ou da Internet. O servidor pode ser um "computador sem cabeça" (computador feito para ser utilizado sem monitor) localizado em qualquer lugar da rede. A reprodução de música pode continuar sem problemas enquanto não estiver usando o X ou enquanto estiver reiniciando o X. Diferentes clientes podem ser usados para diferentes fins – um cliente leve que é mantido aberto o tempo todo para controlar a reprodução com um cliente mais completo utilizado para intensivas pesquisas no banco de dados. Vários clientes podem usar o mesmo banco de dados, mesmo que executando simultaneamente, lado-a-lado, remotamente ou usando diferentes contas de usuário.

Recursos[editar | editar código-fonte]

  • Toca Ogg Vorbis, FLAC, Opus, WavPack, MP2, MP3, MP4/AAC, MOD, Musepack, arquivos WAV e outros ficheiros suportados pelo FFmpeg.
  • Controle remotamente o MPD através de uma rede (suporte à IPv4 e IPv6).
  • Reproduz transmissões HTTP de FLAC, OggFLAC, MP3 e Ogg Vorbis.
  • Lê e armazena em cache informações de metadados (ID3: ID3v1 e ID3v2), comentários Vorbis e metadados MP4.
  • Informações de metadados podem ser procuradas.
  • Suporte a buffer para reprodução (impede problemas na reprodução devido à alta carga ou a latência de rede).
  • Suporte a crossfading.
  • Suporte à pesquisa durante a reprodução.
  • Salvar, carregar e gerenciar listas de reprodução (formato M3U).
  • Suporte nativo à Zeroconf.
  • libsamplerate e conversão de taxa de amostragem nativa.
  • Suporte para o ALSA,PulseAudio, OSS, MVP, JACK, Windows e macOS.
  • Pode ser usado como uma fonte para uma transmissão Icecast, em Ogg Vorbis e MP3. Outros formatos podem ser convertidos para o formato Ogg/MP3 a qualquer momento antes da saída para o servidor de transmissão.
  • Servidor incorporado de transmissão HTTP, capaz de produzir transmissões Ogg Vorbis e MP3 em uma qualidade escolhida.
  • Independente de GUI. A música continuará a ser reproduzida mesmo se um front-end ou o servidor X for fechado.

Clientes[editar | editar código-fonte]

ncmpcpp

O MPD tem uma variedade de front-ends que se comunicam com o servidor utilizando um protocolo personalizado[carece de fontes?] em cima de uma conexão TCP. Os clientes normalmente implementam diferentes tipos de interfaces.

Console
  • mpc (parte do projeto MPD) é uma simples interface de linha de comando para a maioria das funções do servidor.
  • ncmpc é um cliente ncurses mais completo similar em conceito ao MOC.
  • ncmpcpp é outro cliente ncurses que clona a funcionalidade do ncmpc, mas também inclui novos recursos, como um editor de tags.[1]
Gráficos
  • Ario é baseado em GTK+ e usa abas em sua interface.[2]
  • Bragi-MPD é um cliente web HTML5 completo, totalmente client side, capaz de controlar várias instâncias e várias saídas por instância do MPD. A sua funcionalidade além da interface é mantida em um projeto separado chamado MPD.js permitindo a fácil criação de novos clientes.
  • gmpc é o mais antigo cliente em gtk+-2, ele oferece muitas maneiras diferentes de explorar a coleção de músicas e de metadados, como as letras, as capas, informações do artista/álbum, imagens de fundo do artista/álbum, artistas similares e mais. O cliente pretende ser rico em recursos, mas ainda leve o suficiente para poder ser mantido em execução constante em um hardware low-end.[3]
  • Sonata usa GTK+ para fornecer uma GUI para a reprodução de arquivos e o gerenciamento de listas de reprodução.
  • Intelligent Music Player Client (IMPC) usa GTK+ 3.0 e suporta o carregamento de informações relacionadas (artigos, capas, imagens) com as músicas e aprende a classificar conteúdos relacionados.
  • Cantata usa Qt 4/5 para gerenciar a biblioteca ou playlists, com extras como editor de tags, busca da Internet por letras de músicas e capas e suporte para dispositivos de armazenamento em massa.[4]
  • Qmobilempd fornece um cliente Qt4 especialmente para dispositivos móveis como o Symbian.[5]
  • Qmpdplasmoid fornece um cliente diretamente incorporado ao ambiente de trabalho do KDE.[6]
  • Gimmix fornece uma interface simples com um pequeno footprint de memória.
  • mpdlirc conecta ao MPD através de um controle remoto infravermelho.
  • netjukebox é um jukebox web para o MPD, VideoLAN e Winamp/httpQ.
  • Ó!O MPD é um cliente baseado em PHP e MySQL.


Clientes simples podem usar o mpc para emitir comandos ao servidor. Alguns clientes fornecem uma interface em HTML ou AJAX e podem estar localizados no mesmo computador que o servidor, necessitando apenas que um navegador seja instalado na máquina do cliente. Existe um cliente implementado como um add-on para Firefox,[carece de fontes?] outro como um plugin para o painel doXfce,[7] outro como uma aplicação para Wii[carece de fontes?] e outro como um aplicativo da Windows Store para o Windows 8/Windows RT.

Referências

  1. ncmpcpp MPD client, ncmpcpp.rybczak.net, consultado em 18 de março de 2013 
  2. Ario, Ario-player.sourceforge.net, consultado em 18 de março de 2013 
  3. Gnome Music Player Client, gmpclient.org, consultado em 13 de novembro de 2013 
  4. Cantata – Qt4 / KDE4 Music Player Client, code.google.com, consultado em 24 de novembro de 2013 
  5. qmobilempd – MPD (musicpd) client, code.google.com, consultado em 18 de março de 2013 
  6. mpdqml plasmoid, kde-look.org, consultado em 18 de março de 2013 |access-date= e |accessdate= redundantes (ajuda)
  7. xfce4-mpc-plugin, goodies.xfce.org, 30 de junho de 2012, consultado em 18 de março de 2013