Reproduzir arquivo diretamente
Você não precisa nem baixar esses arquivos antes de reproduzi-los com mplayer
. Na página mplayer
man:
trecho
mplayer [options] [file|URL|playlist|-]
Então, o mplayer pode reproduzir URLs diretamente.
Exemplo
$ mplayer http://mymusic.store.com/musicfoo.mp3
Desempenho
Você provavelmente precisará ajustar os valores do cache para obter mplayer
para reproduzir seu conteúdo sem problemas. Existem algumas opções para mplayer
que permitem isso.
excerto da página de manual do mplayer
-cache <kBytes>
This option specifies how much memory (in kBytes) to use
when precaching a file or URL. Especially useful on slow media.
-cache-min <percentage>
Playback will start when the cache has been filled up to
<percentage> of the total.
Portanto, talvez algo assim, você jogue com esses valores para obter reproduções suaves para sua situação.
$ mplayer -cache 8000 -cache-min 30 http://mymusic.store.com/musicfoo.mp3
Faça o download e reproduza
Outro método discutido em algumas das outras respostas é usar wget
para baixar e depois reproduzir o arquivo. O problema inerente a essa abordagem é fazer com que o nome do arquivo seja reproduzido, após o download do arquivo.
curl canalizado para o mplayer
Com essa abordagem, existem duas técnicas nela. A primeira é usar wget
ou curl
para iniciar o download e enviar os dados para mplayer
.
Exemplo
$ wget http://mymusic.store.com/musicfoo.mp3 -O - | mplayer -
Você também pode armazenar em cache o download aqui como antes:
$ wget http://mymusic.store.com/musicfoo.mp3 -O - | mplayer -cache 8192 -
enrolar 1º, depois mplayer
O outro método é baixar o arquivo e depois reproduzi-lo. Você poderia usar uma função de Bash para envolvê-la, pois agora ela se torna um processo de 2 etapas em que o arquivo é completamente baixado primeiro e depois reproduzido posteriormente.
Exemplo
$ function smplayer() { wget $@ && mplayer $(basename $@); }
Então, para fazer um download e reproduzir, você executaria a função da seguinte forma:
$ smplayer http://mymusic.store.com/musicfoo.mp3