3

Я часто слушаю онлайн-радио di.fm с VLC. Потоковая передача MP3 через HTTP.

Я хочу записать все названия треков, которые воспроизводятся на этом радио. VLC показывает название дорожки, но при воспроизведении следующей дорожки название теряется.

Я буду использовать эти названия треков, чтобы сделать некоторую статистику (например, найти топ-10) и найти треки, названия которых я не помню полностью.

Возможна ли задача с VLC или другим клиентом Windows?

5 ответов5

3

VLC (2.2.1 в этом примере) имеет HTTP-интерфейс, где вы можете запросить текущую воспроизводимую дорожку Вы можете включить его из командной строки:

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

или через графический интерфейс (эти настройки сохраняются при перезагрузке):

  1. Инструменты> Настройки, Показать настройки: Все
  2. Интерфейс> Основные интерфейсы, проверьте "Веб"
  3. Интерфейс> Основные интерфейсы> Lua> Lua HTTP> Пароль

Вы можете зайти на http://localhost:8080/requests/status.xml в браузере, ввести пароль, и вы получите XML, содержащий раздел, подобный этому:

<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>

Осталось только настроить задание cron на периодическое сохранение воспроизводимой дорожки.

#!/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

  • Крикун Радио

  • StreamWriter

  • RarmaRadio

  • TapinRadio

0

Лично я слушаю премиум DI с Winamp, а затем использую Streamripper для сохранения треков. Streamripper достаточно умен, чтобы сохранить каждую дорожку в виде отдельного файла, в отличие от одного длинного потокового файла с названием дорожки и исполнителем. Слово предупреждения, хотя я обнаружил, что Winamp не любит разделять пропускную способность Streamripper, даже если есть достаточно места, и вы обнаружите, что Winamp будет переключаться между "дорожками" (термин используется свободно, поскольку все это подключается к DI и является тем же потоком, PLS-файл вставляет три подключения к Winamp), и если вы не включите, он прекратит воспроизведение. При повторном включении вы услышите скачок в прямом эфире, но он не записывается.

Буду слушателем 7 лет. Не могу функцию без него сейчас :) Я не записывать, если это не эпический трек. Занимает слишком много памяти.

Надеюсь это поможет :)

0

До сих пор не знаю, как сделать это локально с помощью vlc или любого потокового клиента, но я использовал wget + cron, чтобы получить "3 только что сыгранных песни" с веб-сайта этого радио в текстовые файлы.

0

VLC включает поддержку отправки треков на Last.fm. Если вы зарегистрируетесь на Last.fm и введете свой пароль в настройках VLC, воспроизводимые треки будут записаны в вашем профиле Last.fm даже со статистикой.

(Хотя я не совсем уверен, работает ли это с потоками. Это может быть только для локальных файлов.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .