Jellyfin
Introduction
Jellyfin is the volunteer-built media solution that puts you in control of your media. Stream to any device from your own server, with no strings attached. Your media, your server, your way.
Installation
With Docker
# Pull the image
docker pull jellyfin/jellyfin
# Create the directories
mkdir {config,cache,video}
#Create the account
addgroup --system jellyfin
adduser --system --ingroup jellyfin jellyfin
# Set the permission
chown jellyfin.jellyfin config cache
# Run the container
docker run -d \
--name jellyfin \
--user $(id -u jellyfin):$(id -g jellyfin) \
--net=host \
--volume $(pwd)/config:/config \
--volume $(pwd)/cache:/cache \
--mount type=bind,source=$(pwd)/video,target=/video \
--restart=unless-stopped \
jellyfin/jellyfin
Quick Start
http://SERVER_IP:8096
Plugins
新增第三方套件庫位址
- 官方說明:https://jellyfin.org/docs/general/server/plugins/index.html
- danieladov's Repo:
https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json
- dkanada's Repo:
https://raw.githubusercontent.com/dkanada/jellyfin-plugin-intros/master/manifest.json
控制台 > 附加元件 > 儲存庫 > 新增
安裝附加元件
控制台 > 附加元件 > 目錄 > [選擇要安裝的元件] > Install
直播頻道
Storj DCS Cloud Storage
rclone mount
rclone mount storjdcs-jellyfin:media /root/jellyfin/video --vfs-che-mode full --dir-cache-time 1h --no-checksum --no-modtime --rc
rclone mount storjdcs-jellyfin:media /root/jellyfin/video \
--vfs-cache-mode full \
--allow-other \
--dir-cache-time 1h \
--uid=$(id -u jellyfin) \
--gid=$(id -g jellyfin) \
--no-checksum --no-modtime --rc
Refreshing the Local Sync Location
This recursively refreshes the root directory of the Rclone mount to pick up the newly uploaded files in Storj.
rclone rc vfs/refresh -v --fast-list recursive=true
- 掛載時,程式會在前景模式下執行;如果要卸載,直接 CTRL+C。
- 遠端目錄的權限 owner 只能是 root,所以必須修改 docker 的啟動參數,將這行刪除
--user $(id -u jellyfin):$(id -g jellyfin) \
。
FAQ
媒體庫封面無法顯示中文。
Solution: 在主機端安裝中文字形
# On the docker host
apt install fonts-noto-cjk
# Adjust the launch command
docker run -d \
...
--volume /usr/share/fonts:/usr/share/fonts \
--volume /usr/share/fontconfig:/usr/share/fontconfig \
...
jellyfin/jellyfin
清除 Browser cache,並重新登入後再試一次。
如果還是顯示不正常,清除 config/metadata/library/
內的所有目錄,重新掃描媒體庫後再試一次。
ASS 字幕無法顯示中文。
Solution:
- 下載中文字型檔(網頁字型)
NotoSansCJKtc-Regular.woff2
,NotoSerifCJKtc-Regular.woff2
。下載位址:https://github.com/CodePlayer/webfont-noto/releases - 在主機端 docker 目錄下新增 font/ 資料夾,並將字型檔上傳到該資料夾。
- 修改 docker 啟動檔,在中間處加上這一行
--volume $(pwd)/fonts:/fonts \
,重新啟動 container。 - 開啟 Jellyfin 管理界面 > 控制台 > 播放 > Fallback font folder path: /fonts ,Enable fallback fonts: Checked
- Done
rclone 掛載 StorjDCS 發生錯誤:
Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount": executable file not found in $PATH
Solution:
sudo apt install fuse
No Comments