本文是应网友
kkkhi
要求折腾的,只研究了MKVtoolnix
的安装及中文显示,未涉及到软件的使用;
什么是 MKVtoolnix ?
MKVToolnix
是一款功能强大的多媒体处理工具,用于在Linux
、其他Unix
系统和Windows
上创建、修改和检查Matroska(MKV)
文件的工具集合软件。
所有平台的下载包,都可以在这里找到:https://mkvtoolnix.download/downloads.html
本文中安装中文字体用到了两种方法:
- 在线安装:通过设置环境变量
ENABLE_CJK_FONT
实现在线安装,这种方式对网络有要求,如果你采用这种方式安装失败的话,可以考虑离线方式; - 离线安装:从网上单独下载字库,并将字库文件拷入容器内;
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 mkvtoolnix
,选择第一个 jlesage/mkvtoolnix
,版本选择 latest
。
本文写作时,
latest
版本对应为v24.09.1
;
容器名称
后续还有对容器的操作,所以我们约定容器名称为 mkvtoolnix
卷
在 docker
文件夹中,创建一个新文件夹 mkvtoolnix
,并在其中建两个子文件夹 config
和 data
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/mkvtoolnix/config | /config | 存放配置、状态、日志等 |
docker/mkvtoolnix/data | /storage | 需要供应用程序访问的文件 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 | 描述 |
---|---|---|
5800 | 5800 | 通过 Web 界面访问应用程序 GUI 的端口 |
5900 | 5900 | 通过 VNC 协议访问应用程序 GUI 的端口 |
如果不用 VNC
,建议删掉
环境
可变 | 值 |
---|---|
TZ | 默认为 Etc/UTC ,改设为 Asia/Shanghai |
ENABLE_CJK_FONT | 默认为 0 ,设置为 1 时,安装开源计算机字体文泉驿正黑。该字体包含大量的中文、日文和韩文字符。 |
更多环境变量的说明,请参考官方文档 :https://github.com/jlesage/docker-mkvtoolnix#environment-variables
- 修改时区设置
- 修改字体设置
这个参数,老苏之前介绍的 RcloneBrowser
、FileZilla
和 firefox
都用到了。
这种安装字体的方式最简单,正常的字体安装过程如下
但是如果你的网络不科学的话,很可能会卡在字体安装环节
导致容器无法访问
如果一直卡在这一步,建议将 ENABLE_CJK_FONT
改为默认的 0
,等容器起来之后,我们再用手动的方式,加载中文字体
命令行安装
命令行方式默认没有设置
ENABLE_CJK_FONT=1
,而是直接采用了方式二的离线安装方式
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 mkvtoolnix 和 子目录
mkdir -p /volume1/docker/mkvtoolnix/{config,data}
# 进入 mkvtoolnix 目录
cd /volume1/docker/mkvtoolnix
# 运行容器
docker run -d \
--restart unless-stopped \
--name mkvtoolnix \
-p 5800:5800 \
-v $(pwd)/config:/config:rw \
-v $(pwd)/data:/storage:rw \
-e TZ=Asia/Shanghai \
jlesage/mkvtoolnix
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
mkvtoolnix:
image: jlesage/mkvtoolnix
container_name: mkvtoolnix
restart: unless-stopped
ports:
- 5800:5800
volumes:
- ./config:/config:rw
- ./data:/storage:rw
environment:
- TZ=Asia/Shanghai
然后执行下面的命令
# 新建文件夹 mkvtoolnix 和 子目录
mkdir -p /volume1/docker/mkvtoolnix/{config,data}
# 进入 mkvtoolnix 目录
cd /volume1/docker/mkvtoolnix
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:5800
就能看到主界面
设置中文
左上角菜单 MKVToolNix GUI
--> Preferences
--> GUI
--> Interface language
下拉找到 Chinese(Simplifed)
如果你采用了 ENABLE_CJK_FONT=1
,并且字体已经下载成功
而如果采用的 ENABLE_CJK_FONT=0
,则前面的是方框,表示缺中文字体
点 OK
目前没有任何变化,如果字体已经下载成功,可以直接启动容器,否则的话先不着急重启容器,还需要有中文字体才行
下载字体
随便找了 2
个字体,前者较大,文件在 gitee
上。后者较小,文件在 github
上。请根据自己的网络选择下载
Songti.ttc
下载地址:https://portrait.gitee.com/ishelo/QQZoneMood/raw/master/Songti.ttcsimsun.ttc
下载地址:https://github.com/Fangyh09/font-ttf/raw/master/simsun.ttc
以 simsun.ttc
为例,因为要用命令行进行操作,所以需要用 SSH
客户端连接到群晖,依次执行下面的命令
# 进入 mkvtoolnix 目录
cd /volume1/docker/mkvtoolnix
# 在当前目录中下载字体文件
wget https://github.com/Fangyh09/font-ttf/raw/master/simsun.ttc
当然你也可以在浏览器中下载完成后,再上传到群晖的软件目录中
接下来需要把字体文件拷入容器,并进入容器进行设置
# 将字库从群晖拷贝到容器内
docker cp ./simsun.ttc mkvtoolnix:/usr/share/fonts/
# 进入容器
docker exec -it --user root mkvtoolnix /bin/sh
# 扫描字体目录并生成字体信息的缓存
fc-cache -vf
# 查看系统内所有中文字体及字体文件的路径
fc-list :lang=zh
接下来可以重启容器
# 重启容器
docker restart mkvtoolnix
刷新下页面,你会发现界面已经是中文了
这种离线字体安装的方法,老苏在之前的 digiKam
、Webtop
、HandBrake
、LibreOffice
中都有介绍
参考文档
MKVToolNix - 维基百科,自由的百科全书
地址:https://zh.wikipedia.org/wiki/MKVToolNix
MKVToolNix news – Matroska tools for Linux/Unix and Windows
地址:https://mkvtoolnix.download/
jlesage/mkvtoolnix - Docker Image | Docker Hub
地址:https://hub.docker.com/r/jlesage/mkvtoolnix
jlesage/docker-mkvtoolnix: Docker container for MKVToolNix
地址:https://github.com/jlesage/docker-mkvtoolnix