如何制作一个在播放网络广播时显示元数据的程序
how to make a program that shows metadata while it's playing internet radio
我想制作一个命令行工具,在播放音频流(如网络广播)时显示音乐标题和音乐家姓名等元数据。
说到编程,我对音频流几乎一无所知,d-bus
。Ruby
和 c/c++
是我目前唯一会使用的语言。如果我可以使用 shell script
或 ruby
编程,对我来说会更方便。
现在我正在尝试使用 VLC 作为第一个挑战。
起初我尝试了VLC command line tool(cvlc),但它似乎没有提供我想做的任何选项。
然后我根据wikipedia知道有一些VLC APIs。但我对下一步该做什么感到困惑。
我应该使用哪个 API?或者有什么建议可以开始这个挑战吗?
我不坚持使用 VLC。我每天都用它来听互联网 radio.That 这是我选择它的原因,没有其他目的。
OS: ubuntu 15.04
VLC 版本:2.2.0
我也问过这个问题here并得到了解决方案。
如果我想收听 Digitally imported 节目之一并记录元数据,这个 liner 可以做到这一点:
$ mplayer http://pub1.di.fm:80/di_melodicprogressive_aac?3d3d2d82969e89c2ca1fc2a7 >/dev/null 2>&1 | mplayer -slave -playlist http://pub1.di.fm:80/di_melodicprogressive_aac?3d3d2d82969e89c2ca1fc2a7
Resolving pub1.di.fm for AF_INET6...
Couldn't resolve name for AF_INET6: pub1.di.fm
Resolving pub1.di.fm for AF_INET...
Connecting to server pub1.di.fm[70.42.73.176]: 80...
Name : DI - Melodic Progressive
Genre : Electronic Melodic Progressive
Website: http://www.di.fm
Public : no
Bitrate: 64kbit/s
ICY Info: StreamTitle='Jav3x - Destiny';StreamUrl='';
(此示例使用的 URI 可能会更改。)
我想制作一个命令行工具,在播放音频流(如网络广播)时显示音乐标题和音乐家姓名等元数据。
说到编程,我对音频流几乎一无所知,d-bus
。Ruby
和 c/c++
是我目前唯一会使用的语言。如果我可以使用 shell script
或 ruby
编程,对我来说会更方便。
现在我正在尝试使用 VLC 作为第一个挑战。
起初我尝试了VLC command line tool(cvlc),但它似乎没有提供我想做的任何选项。 然后我根据wikipedia知道有一些VLC APIs。但我对下一步该做什么感到困惑。 我应该使用哪个 API?或者有什么建议可以开始这个挑战吗?
我不坚持使用 VLC。我每天都用它来听互联网 radio.That 这是我选择它的原因,没有其他目的。
OS: ubuntu 15.04
VLC 版本:2.2.0
我也问过这个问题here并得到了解决方案。
如果我想收听 Digitally imported 节目之一并记录元数据,这个 liner 可以做到这一点:
$ mplayer http://pub1.di.fm:80/di_melodicprogressive_aac?3d3d2d82969e89c2ca1fc2a7 >/dev/null 2>&1 | mplayer -slave -playlist http://pub1.di.fm:80/di_melodicprogressive_aac?3d3d2d82969e89c2ca1fc2a7
Resolving pub1.di.fm for AF_INET6...
Couldn't resolve name for AF_INET6: pub1.di.fm
Resolving pub1.di.fm for AF_INET...
Connecting to server pub1.di.fm[70.42.73.176]: 80...
Name : DI - Melodic Progressive
Genre : Electronic Melodic Progressive
Website: http://www.di.fm
Public : no
Bitrate: 64kbit/s
ICY Info: StreamTitle='Jav3x - Destiny';StreamUrl='';
(此示例使用的 URI 可能会更改。)