northsea4 / mdcx-docker

在Docker容器中运行 MDCX,并通过Web界面或远程桌面进行控制。Run MDCX in a Docker container, accessible and controllable via a web interface or remote desktop.
GNU General Public License v3.0
570 stars 69 forks source link

MDCX docker版的软连接emby docker 扫出来却无法播放,你们是这样吗 #11

Closed jach1999 closed 1 year ago

jach1999 commented 1 year ago

我是黑群晖,PC端查看群晖里没有视频文件,但是mdcx 却可以刮削,说明只是文件不显示,但是我用ssh命令cp -r -s的话视频文件pc端是显示的而且emby扫库出来也能正常播放,是不是命令不同,但如何解决emby无法播放问题,调用第三方播放器也不行

northsea4 commented 1 year ago

检查一下emby里实际的软链接:

# 进入容器
docker exec -it emby ash

# 进入影片目录
cd /path/to/movies

ls -l
vipshihua commented 5 months ago

同样的问题。Unraid下docker安装的,通过mdcx创建的软连接ssh工具能看到但其它文件管理器里看不到。emby能读到nfo等文件,但播放不了。

northsea4 commented 5 months ago

同样的问题。Unraid下docker安装的,通过mdcx创建的软连接ssh工具能看到但其它文件管理器里看不到。emby能读到nfo等文件,但播放不了。

不提供具体的信息实在爱莫能助。请参考上面说的做一下检查。

vipshihua commented 5 months ago

谢大佬回复。 系统为Unraid,MDCX、emby和clouddrive都是在docker下安装的。 clouddrive挂载在/CloudNAS:/mnt/disk1/clouddrive 能正常使用。 MDCX挂载目录为/volume2:/mnt 创建软链接到/mnt/disk1/link目录下,工作时日志显示正常创建符号链接以及复制jpg、nfo和字母等文件。 emby挂载目录为/data:/mnt 添加目录后正常扫库识别,但播放不了,显示没有兼容的流…… Unraid下使用文件管理器查看/mnt/disk1/link目录看不到创建的软链接,smb共享出去Windows上也看不到,而使用ssh工具却能看到创建的软链接。

northsea4 commented 5 months ago

谢大佬回复。 系统为Unraid,MDCX、emby和clouddrive都是在docker下安装的。 clouddrive挂载在/CloudNAS:/mnt/disk1/clouddrive 能正常使用。 MDCX挂载目录为/volume2:/mnt 创建软链接到/mnt/disk1/link目录下,工作时日志显示正常创建符号链接以及复制jpg、nfo和字母等文件。 emby挂载目录为/data:/mnt 添加目录后正常扫库识别,但播放不了,显示没有兼容的流…… Unraid下使用文件管理器查看/mnt/disk1/link目录看不到创建的软链接,smb共享出去Windows上也看不到,而使用ssh工具却能看到创建的软链接。

建议把每个容器真实的映射关系贴出来,现在的描述不太清楚。

使用软链接的重点,就是你需要保证emby里能访问到真实的视频文件路径。你的问题基本可以肯定是创建的软链接在emby容器内无效。

根据我的经验,最简单的方式就是全部容器都映射一样的路径:/volume2:/volume2,这样不管在哪个容器,路径都是一致的,不会出现软链接无效的情况。

northsea4 commented 5 months ago

另一种可能导致「没有兼容的流」的情况是,emby的映射没有添加rslave,而且重启了CloudDrive2(或者是挂载的相关变化,比如卸载再挂载)。

正确的emby映射示例:

  volumes:
    - /volume2:/volume2:rslave
    - /mnt:/mnt:rslave
vipshihua commented 5 months ago

微信图片_20240325174724

vipshihua commented 5 months ago

微信图片_20240325175023 估计真如您所说,创建的软链接在emby容器内无效吧~

northsea4 commented 5 months ago

MDCx: 软链接(/mnt/disk1/link/abc.mp4) 指向的 真实文件(/mnt/disk1/clouddrive/abc.mp4)

Jellyfin: 软链接(/data/disk1/clouddrive/abc.mp4) 指向的 真实文件(/mnt/disk1/clouddrive/abc.mp4)

Jellyfin里显然没有/mnt/disk1/clouddrive/abc.mp4这个路径,所以自然播放不了。

Jellyfin里可以这样映射: /mnt/disk1:/mnt/disk1:rslave 或者: /mnt/disk1/clouddrive:/mnt/disk1/clouddrive:rslave

反正重点是确保指向的文件要存在。

vipshihua commented 5 months ago

十分感谢您的耐心解答【抱拳】~ 晚上回去试试看。