emby“当前没有兼容的流”的一种情况
情况是这么个情况
最近又开始折腾emby影视库,在使用“某个作者不希望推广的”服务刮削整理电影的时候一切正常,电影顺利刮削完成也顺利入库,但过了一会我想看这部电影的时候却发现无法播放,换了手机、平板不同的设备及客户端还是无法播放,最后用电脑上的网页版播放就看到了这么一句提示“当前没有兼容的流。请稍后再试或联系您的系统管理员以获取详细信息。”
起初我以为是文件问题,后来发现不是,上网搜了一下,看到不少人遇到这个提示,各自的解决方法也不尽相同。
首先排除
文件确实是emby可以播放的,网上不少人说是转码问题,这个首先排除,不论是否转码我的软、硬件都没问题。
刮削后的
.nfo文件没问题,有人说是软链接、硬链接指向文件错误造成,这个一般出现在.strm文件上,我是直接下载的视频文件,刮削后整个文件夹移动到电影库,所以也不是这个问题。
福尔摩斯说过
排除所有可能后,哪怕最后看起来最不可能情况也是真相。
其实也没那么不可能
程序权限的问题。
这个“作者不希望推广的服务”,其中涉及到程序对文件的操作,例如重命名、移动文件等,在部署的时候是需要给这个服务一定权限的,问题就出在这儿。
我是使用docker compose部署的服务,其中部署文件中有这么几个参数:
environment:
- 'PUID=0'
- 'PGID=0'
- 'UMASK=000'其中PUID、PGID默认设置就是如上所示,我开始没注意,没修改就部署了,服务跑起来没任何问题,对文件刮削、移动、入库都没问题,就是无法播放,随后我检查入库后的文件,发现文件所有者的权限与所在组的权限矛盾,(这里忘记截图了),例如我的用户名是aaa,这个aaa是对文件有读写权限的,但是aaa所在的管理员组却没有读写权限。
问题找到了。
解决办法
问题找到后就比较简单了,修改上面那段环境变量为正确的参数就行了。
ssh连接到nas,通过命令“id 用户名”就可以获得正确的参数,重新部署,问题解决了。
