喜欢上last.fm这个小东西。跨平台的开源软件,输入一个名字或者一个标签,自动从last.fm网站上下载相关歌曲,在线播放。无须考虑要听什么歌,只要觉得喜欢听谁的歌,软件将自动查找。虽然目前看来中文歌曲的相关度稍微低了点,但是作为一个music radio的替代品还是不错的。
今天看见论坛上有人问是否有人愿意做music的在线广播,瞬间就想到了用last.fm来作为音源。last.fm允许使用第三方音乐播放软件来收听last.fm上的流媒体,但是只允许本地连接用,也就是只允许以127.0.0.1来访问。
网上搜索了下,有一个lastfmproxy的小软件可以用来作为last.fm的stream server,不过使用了一下后发现居然同时只允许一个连接,真faint……
突然想到好办法:从网上找一个stream server端把last.fm的串流转换一下就OK了。google一下后发现了这个帖子,列举了很多linux下可用的流媒体服务器。仔细看了下居然VLC也在列,欣然前往官网查找文档,折腾了一下后解决了这个问题。
先引用一下VLC官网上的介绍:
It is a free cross-platform media player
It supports a large number of multimedia formats, without the need for additional codecs
It can also be used as a streaming server, with extended features (video on demand, on the fly transcoding, …)
话说我一直只把VLC当成媒体播放器用,一直不知道它也能作为服务端使用。
首先在last.fm的客户端中选择选项-电台,设置外部播放器播放的端口号
利用VLC作为服务端,可以在菜单中选择向导,依次进行设置即可:
直接的图形化设置,方法简单,但是每次都设置比较麻烦,而且有的特殊的选项,比如单曲重复(防止last.fm在缓冲,造成VLC停止输出)等等无法实现。更好的办法是使用命令行运行VLC,也能方便地写入脚本。
使用以下命令完成以上操作:
vlc -vvv -d –repeat http://127.0.0.1:4321 –sout=”#duplicate{dst=std{access=http,mux=raw,dst=:1234}}”
其中:-vvv选项用来输出错误信息,可以省略。–repeat选项用于重复播放该信号源,防止由于缓冲导致广播停止。-d选项用于将vlc放到后台执行不启动图形界面,-sout指定了输出方式。具体的意义可以在VLC网站上找到。
这样一个简单的流媒体播放服务端就配置好了。接下来,打开last.fm,播放音乐,运行以上命令,然后打开任意音乐播放器收听,OK!你可以使用amarok或者rhythmbox播放http://127.0.0.1:1234来测试是否正常工作。如果测试通过了,就可以让你的朋友用http://你的ip:1234来收听你正在收听的last.fm的音乐了。
目前发现的问题是:暴风影音和千千静听无法播放这种方式架设的流媒体服务,用kmplayer或者wmp之类播放软件播放这个在线广播会出现换曲时停止播放。最完美的方法还是用VLC来播放这个广播,并在播放列表里选择重复播放。
如果你喜欢这篇日志的话,欢迎订阅我的RSS Feed!
本文来源于一阁Blog。版权所有,转载请确保已阅读该页面。

靠,你个zt,我根本没法用。。。
话说,你发现gravatar刚才出问题了么?
啥没法用?没发现有问题啊
我用VLC,连不上……
现在服务器还开着不?我再测试一下。