forked-daapd with ReadyNAS

forked-daapd 第三方itunes媒体服务器,v28.0改名OwnTone,Github

OwnTone (previously forked-daapd)
OwnTone is a Linux/FreeBSD DAAP (iTunes), MPD (Music Player Daemon) and RSP (Roku) media server.
It supports AirPlay devices/speakers, Apple Remote (and compatibles), MPD clients, Chromecast, network streaming, internet radio, Spotify and LastFM.
It does not support streaming video by AirPlay nor Chromecast.
DAAP stands for Digital Audio Access Protocol which is the protocol used by iTunes and friends to share/stream media libraries over the network.

ReadyNAS 自带itunes服务,一直用电脑开itunes再airplay推到apple TV,倒也相安无事,就懒得折腾手机播放了,就算有次删cache之后专辑封面有点问题也忍了。但是最近ReadyNAS升到10.6之后,flac文件随机卡现象愈发严重,有点坐不住了,正赖在沙发上结果音乐停了还要跑到电脑前搞两下这怎么行。

想升级版本看看,结果apt了一下已经是最新版v24.2,v25才加上webinterface,遂放弃。搞源码编吧,结果俄罗斯套娃啊,按作者的安装指导一路装,缺一堆包,装的过程又缺一堆包,套娃套到最后干脆就装不了了。。。五年前的机器,不说啥了,去下一个deb包dpkg安装吧,这可好,直接挂了,服务都起不来。罢了罢了卸载干净再用apt下载回来,泪。

log分析吧。ReadyNAS的控制页面比较诡异,似乎通过web界面启动会修改conf文件,比较关键的是

db_path = "/apps/.forked-daapd/songs3.db"

自己改了也会被改回去,ReadyNAS默认的uid也是media,和网上的daapd不大一样。另外默认没加log地址,于是找了份样本,对照着加了一下。

logfile = "/var/log/forked-daapd.log"

封面的cache地址默认是

cache_path = "/var/cache/forked-daapd/cache.db"

touch新建还需要改一下用户,不然又是database无法写入问题,就算把itunes的cache清空也没辙。封面问题解决。

把log级别改成debug,开了一个flac list进行测试。等了半天终于停住了,如果是log级别的话其实就显示一直在transcode,不过转码的设置对airplay无效,然而空欢喜一场,debug模式下,第一次报的ffmpeg解码有问题,第二次又卡住的曲又没有这个报错,主要是取消airplay再打开airplay又播放正常,看log看不出区别。。。而且实际上看log实际上是卡在下一曲的,但是前端播放界面停在上一首曲尾。搜了issue list,确实也有报错apple TV/airplay随机断开的,不过看别人的错误信息,完全不同,sigh,不具有参考性。

怀疑是cpu太弱,播放时间长导致机器吃不消,蠢蠢欲动要不要再搞个2盘位nas或者搞个软路由吧。不过好贵,还是不甘心,再试试用手机连接吧。

24.2没有webinterface,不过在之前版本的readme里面也有

  1. Start forked-daapd
  2. Start Remote, go to Settings, Add Library
  3. Look in the log file for a message saying:

    "Discovered remote 'Foobar' (id 71624..."

    This tells you the name of your device (Foobar in this example).
    If you cannot find this message, it means that forked-daapd did not receive a mDNS announcement from your Remote. You have a network issue and mDNS doesn't work properly on your network.

  4. Prepare a text file with a filename ending with .remote; the filename doesn't matter, only the .remote ending does. This file must contain two lines: the first line is the name of your iPod/iPhone/iPad, the second is the 4-digit pairing code displayed by Remote.
    If your iPod/iPhone/iPad is named "Foobar" and Remote gives you the pairing code 5387, the file content must be:

    Foobar
    5387
  5. Move this file somewhere in your library

At this point, you should be done with the pairing process and Remote should display the name of your forked-daapd library. You should delete the .remote file once the pairing process is done.

remote成功配对,iphone airplay到atv继续测试flac列表,确实稳定多了,至少整个列表放完没有停。整个资料库随机播放,发生过一回显示airplay stop,有待继续测试。

所以最终发生了什么,天知道-_-|||尽管conf文件似乎还有点问题,每次重启都要冒点儿错,itunes服务不能自动开,remote需要重新配对,不过比起播放稳定这都不算事儿了,以后再折腾。

此外,ReadyNAS的itunes服务比较诡异,有时候开不起来,换命令行启动会显示conf文件错误,就算按模板文件改也会提示语法错误,罢了罢了,你说是啥就是啥吧。命令行stop也不管用,每次都要开一个新的进程,就会造成端口冲突,需要ps出来kill进程。重启不扫描database的命令不管用,读不出来db,现在文件多,重启个服务得扫描个20min,还不好连着播放器,不然database又只读了。。。忍。

命令行备忘

dpkg-l | grep daapd

ii forked-daapd 24.2-0.netgear3 armel DAAP/DACP(iTunes) server, support for AirPlay and Roku devices

service forked-daapd

Usage:/etc/init.d/forked-daapd {start|stop|status|restart|force-reload}

ps-e | grep daapd
tail -f /var/log/forked-daapd.log

9 声望
1 粉丝
0 条评论
推荐阅读
Bash 常用脚本片段
这段脚本非常有用,你只要在你的脚本开头加上下面的内容,就能以 --param value 的格式解析参数。由于这段脚本尽可能写的短小不占空间,所以格式方面会要求所有的参数都有值,例如不接受无参数的 --daemon,而必...

捏造的信仰5阅读 1.7k评论 1

工具篇:iTerm与Zsh
iTerm2支持许多的主题配色,可以自己定义,也可以参考网上现成的主题配色。我个人比较喜欢draculatheme配色。支持item,vim,phpstorm , 下方存在主题官网路径,按照教程安装即可。

super白4阅读 4.7k

麒麟操作系统 (kylinos) 从入门到精通 - 常用软件安装 - 第三篇 常用软件安装(windows下的习惯)
本篇内容大部分从应用商店进行安装,部分通过官网下载,少部分通过命令行安装。1.原生应用1.1钉钉1.2飞书1.3 蓝信1.4 腾讯文档1.5 金山文档1.6 搜狗输入法(拼音)1.7 五笔输入法1.8 libreoffice官方也带了WPS,...

码上世界3阅读 7.3k评论 17

封面图
深入剖析容器网络和 iptables
Docker 能为我们提供很强大和灵活的网络能力,很大程度上要归功于与 iptables 的结合。在使用时,你可能没有太关注到 iptables 的作用,这是因为 Docker 已经帮我们自动完成了相关的配置。

张晋涛3阅读 1.2k

封面图
Metasploit实现木马生成、捆绑及免杀
在一次渗透测试的过程中,避免不了使用到社会工程学的方式来诱骗对方运行我们的木马或者点击我们准备好的恶意链接。木马的捆绑在社会工程学中是我们经常使用的手段,而为了躲避杀毒软件的查杀,我们又不得不对木...

白风之下1阅读 9k

麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十三篇 字体安装与windows字体的利用
正常情况下,系统下的wps或libreoffice用到的字体都已默认安装。但有时候一些ttf字体或者microsoft office下一些字体需要安装。我们可以在安装好office、acrobat之后,将C:\windows\Fonts文件夹中的字体(我是win...

码上世界2阅读 3.7k

封面图
麒麟操作系统 (kylinos) 从入门到精通 - 影音娱乐- 第三十篇 利用PKS观看电视台(IPTV)直播
类别:笔记本型号:中国长城 UF712硬件平台:飞腾处理器(ArmV8 指令集)系统:银河麒麟操作系统 V10 SP1(2203) 关键词:信创,麒麟系统,linux,PKS,银河麒麟,飞腾,arm64,arm,湖南卫视,中央电视台,电视直播,iptv

码上世界1阅读 3.7k

封面图
9 声望
1 粉丝
宣传栏