录制在线电台播放的曲目名称

录制在线电台播放的曲目名称

我经常听使用 VLC 进行在线广播。流媒体为通过 HTTP 进行的 MP3 传输。

我想记录此电台播放的所有曲目名称。VLC 确实显示曲目名称,但播放下一首曲目时,名称会丢失。

我将使用这些曲目名称进行一些统计(例如查找前 10 名)并查找我不完全记得名称的曲目。

使用 VLC 或其他 Windows 客户端可以完成该任务吗?

答案1

VLC(本例中为 2.2.1)有一个 HTTP 接口,您可以通过它查询当前正在播放的曲目。您可以从命令行启用它

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

或通过 GUI(这些设置在重启后仍然有效):

  1. 工具 > 首选项,显示设置:全部
  2. 界面 > 主界面,勾选“Web”
  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

答案2

  • 放射线

  • 尖叫电台

  • 流写入器

  • 拉玛电台

  • Tapin电台

答案3

VLC 支持向 Last.fm 提交曲目。如果您在 Last.fm 注册并在 VLC 偏好设置中输入密码,播放的曲目将记录在您的 Last.fm 个人资料中,甚至包括统计信息。

(不过,我实际上不确定这是否适用于流。它可能仅适用于本地文件。)

答案4

我个人使用 Winamp 收听 DI premium,然后使用 Streamripper 保存曲目。Streamripper 非常聪明,可以将每首曲目保存为自己的单独文件,而不是保存为一个包含曲目名称和艺术家的长流文件。不过需要注意的是,我发现 Winamp 不喜欢与 Streamripper 共享带宽,即使有足够的空间,您也会发现 Winamp 会在“曲目”之间跳转(术语使用得比较宽泛,因为它们都连接到 DI 并且是同一个流,pls 文件插入了三个与 Winamp 的连接),除非您打开重复,否则它会停止播放。打开重复后,您会实时听到跳转,但不会被录制下来。

7 年来一直是 DI 监听器。现在没有它就无法工作 :) 除非是史诗曲目,否则我不会录音。占用太多内存。

希望这可以帮助 :)

相关内容