Gravar faixas nomes tocados em rádio online


3

Eu freqüentemente ouço a rádio online di.fm com o VLC. Streaming é de MP3 sobre HTTP.

Quero gravar todos os nomes de faixas que são reproduzidos neste rádio. O VLC mostra o nome da faixa, mas quando a próxima faixa é tocada, o nome é perdido.

Vou usar os nomes das faixas para fazer algumas estatísticas (como encontrar o top 10) e encontrar faixas cujos nomes não me lembro completamente.

A tarefa é possível com o VLC ou outro cliente Windows?


Eu não preciso salvar a música real (áudio), apenas Tags de música (texto).
osgx

Nota para fechar os eleitores: só porque o fluxo é de um site não significa que usar o VLC (que é no tópico) para gravar coisas dele é fora do tópico. Eu estou votando deixar aberto.
Ben N

Respostas:


2

O VLC (2.2.1 neste exemplo) tem uma interface HTTP onde você pode consultar a faixa atualmente em reprodução. Você pode ativá-lo na linha de comando :

vlc --extraintf=http --http-host 0.0.0.0:8080 --http-password 'watpasswd'

ou através da GUI (essas configurações persistem através de reinicializações):

  1. Ferramentas> Preferências, Mostrar configurações: Todas
  2. Interface> Interfaces principais, marque "Web"
  3. Interface> Principais interfaces> Lua> Lua HTTP> Senha

Você pode visitar http://localhost:8080/requests/status.xmlem um navegador, digitar a senha e receber um XML contendo uma seção como esta:

<category name="meta">
  <info name="title">Jazz</info>
  <info name="filename">http://example.com/station</info>
  <info name="genre">smooth</info>
  <info name="now_playing">Jimmy Sommers - Fly Me To The Moon</info>
</category>

Tudo o que resta é configurar um cron job para salvar periodicamente a faixa de execução.

#!/bin/bash
vlc_status="$(curl --connect-timeout 15 --silent -u :watpasswd http://localhost:8080/requests/status.xml)"

# Parse out now-playing track, escape named entities e.g. '&amp;'
track=$(echo "${vlc_status}" | xmlstarlet sel -t -v ".//info[@name='now_playing']" | xmlstarlet unesc)

# Append new track to log file
echo "$track" >> vlc_log.txt

# Remove duplicates of new track if any
# http://stackoverflow.com/a/1444448/
gawk -i inplace '!x[$0]++' vlc_log.txt

1
  • RadioSure

  • Rádio Gritador

  • streamWriter

  • RarmaRadio

  • TapinRadio


0

O VLC inclui suporte para enviar faixas para o Last.fm. Se você se registrar na Last.fm e digitar sua senha para as preferências do VLC, as faixas reproduzidas serão gravadas no seu perfil do Last.fm, mesmo com estatísticas.

(Eu não tenho certeza se isso funciona com fluxos, no entanto. Pode ser apenas para arquivos locais.)


Eu não tenho last.fm e não quero me registrar. Como posso enviar nomes de faixas para o arquivo local? Eu posso fazer todas as estatísticas sozinho (eu tenho excel, perl e awk para isso).
osgx

0

Ainda não sei como fazer isso localmente com vlc ou qualquer cliente de fluxo, mas usei wget + cron para obter "3 apenas reproduzi músicas" do site desta rádio em arquivos de texto.


1
Esta resposta é "ruim" no sentido de que, se alguém quiser fazer a mesma coisa, mas com um fluxo de rádio de internet diferente, então eles têm que escrever um script diferente para lidar com a página da web diferente. Eu estou realmente surpreso que a comunidade não possa gerar uma resposta melhor do que isso, e eu realmente gostaria de saber uma resposta melhor :-( Programas complicados como o vlc / winamp são capazes de ler os nomes das faixas e imprimi-los na tela - tudo o que é necessário aqui é um programa simples, que lê os nomes das faixas e os grava em um arquivo.Pode ser realmente tão difícil?
Kevin Buzzard

@ KevinBuzzard não é. Você pode fazer isso apenas com o VLC .
Aproximadamente

0

Pessoalmente eu escuto DI premium com Winamp e, em seguida, uso Streamripper para salvar as faixas. Streamripper é inteligente o suficiente para salvar cada faixa como seu próprio arquivo, ao contrário de um arquivo de fluxo longo com o nome da faixa e artista. Palavra de alerta, porém, é que eu encontrei Winamp não gosta de compartilhar Streamripper largura de banda, mesmo se houver espaço suficiente e você vai achar que Winamp vai saltar entre "faixas" (termo usado livremente como tudo se conecta a DI e é o mesmo fluxo, pls arquivo insere três conexões para Winamp) e a menos que você tenha repetir, ele vai parar de jogar. Com a repetição, você ouvirá o salto ao vivo, mas ele não será gravado.

DI ouvinte por 7 anos. Não posso funcionar sem ele agora :) eu não gravo a menos que seja uma faixa épica. Ocupa muita memória.

Espero que isto ajude :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.