我没了音乐活不下去,所以我需要在单位一直带着耳机。奈何笔记本硬盘小,装不下我的500G的曲库,所以只能找个自己的台式机架设 DAAP 远程服务了。不用 DLNA 是因为那玩意对 Flac 格式支持不好,我的全部歌曲都是 Flac 。

和家中折腾 FreeNAS 上的 Firefly 不同,在 Windows Server 2012 R2 下,我遇到了一些问题,至少在我能搜索到的范围中,我没有找到解决方法,那就写一下吧,希望能帮助到别人。

问题很简单,Flac 格式在 Windows Server 2012 R2 系统下搭建的 FireFly Media Server 中无法被播放,而 MP3 和其他格式无此问题。

具体表现为,远程尝试播放 Flac 文件,服务器端的服务就会挂掉,还得重新启动。

首先查看 Log 日志,看到里面歌曲名字被识别为乱码,初步认为是文件名问题,特意找了一首英文歌曲播放,还是不成。

其次查看 Roku 论坛的相关讨论帖,发现老外有遇到这个问题的,说是 tag 和封面的问题,遂下载 MP3tag 清除了一首歌的 Tag 信息,然后尝试播放,不成。

开启 Firefly 的 Debug 模式,尝试在更详细的 Log 文件中搜寻蛛丝马迹,结果里面没有有用的信息,到了 Stream 那一步骤直接就挂了。

愚钝的我这时候看到 Windows 本身提出了报错,便捎带着看了一下,看到了报错的提示文件为 avcodec.dll。这个文件是一个编解码库之类的东西,但是创建日期是 2008 年,同时版本太老,而且是 32bit 。

那么是否于此有关呢?

Capture.png

随下载 Klite-codec pack full ,在里面找到了一个 64bit 的 avcodec.dll ,虽然它原本不叫这个名字,但是没关系,替换一下看看。

再次播放,问题解决。

选区\_108.png

P.S

如果你像我一样不舍得删除收集曲库的 instrumental 和 Web Radio 的话,在 Firefly 的服务器端可以自己创建一个播放列表当过滤。

就像这样。

选区\_107.png

那么下次有机会在做自己的 Radio 好了。

另:

1, Firefly 项目似乎死了,最新版 Windows 服务器端需要费劲才能找到。
2, 虽然这是 DAAP 的东西,但是最新版 iTunes 已经不支持这个老版本,推荐自己装个 Banshee。