前言:
有时候我们下载的视频文件格式如flv,ts,mov等等实际上是不适合进行网络分享并直接查看的,虽然飞牛影视对视频格式的支持比较齐全,但是它并不适合对外分享。
本教程旨在利用NAS闲时性能对视频文件进行自动转码,以满足分享需求,同时转码到H.264也利于低性能主机使用飞牛影视远程观影。
工具介绍:
HandBrake 的 Docker 容器
GitHub - jlesage/docker-handbrake:HandBrake 的 Docker 容器
支持通过监听文件夹实现自动转码,支持海量格式,支持GPU(QVS)
本文仅介绍如何在飞牛Docker内部署,实现自动转码和调用GPU转码,更多功能和参数配置请详见上方的项目地址。
部署方式:
version: '3'
services:
handbrake:
image: jlesage/handbrake
container_name: handbrake
restart: unless-stopped
ports:
- 5800:5800
volumes:
- ./config:/config
- /vol3/1000/03影视文件/转码/output:/output #请修改到自定义路径
- ./storage:/storage:ro
- /vol3/1000/03影视文件/转码/watch:/watch #请修改到自定义路径
environment:
- AUTOMATED_CONVERSION_PRESET=QSV/auto #自动转码配置
- LANG=zh_CN.UTF-8 #切换到中文
- TZ=Asia/Shanghai
- USER_ID=1000
- GROUP_ID=100
devices:
- /dev/dri:/dev/dri # Intel核显加速
Docker Compose文件如上
需要新建文件夹config、output、watch、storage映射。
其中watch为自动监听文件夹,output为转码后输出文件夹,根据实际情况进行修改。
AUTOMATED_CONVERSION_PRESET=QSV/auto #自动转码配置
为自动转码配置模板,需要在第一次部署完成后进入控制台配置好模板再重新构建才能生效。
下面讲一下模板配置:
ip:5800进入控制台
如下图是默认预设文件(PS:我这里是已经修改过文中配置文件了,所以可以正常显示中文,下文会有教程)

**选择视频栏目修改为自己需要的参数。**如果你需要使用GPU参与转码请选择带QVS的编码器。

保存为新预设

预设名称和类别自定义,这就是AUTOMATED_CONVERSION_PRESET=QSV/auto ,里的QSV/auto,前面是类别名,后面是预设名。

然后去docker关闭这个项目。根据你定义的预设修改Docker Compose文件AUTOMATED_CONVERSION_PRESET内容,然后重新构建项目即可。
只要把视频文件移动到watch目录,就会在控制台看到任务进度。

如何正常中文:
我们已经配置了 - LANG=zh_CN.UTF-8 但是由于缺少字体文件所以目前显示的是乱码。
那该如果获取字体文件呢?很简单,WIN电脑桌面右键-个性化-字体

选择宋体 常规,右键复制出来,重命名为(Songti.ttc)


把它上传到NAS目录里。
SSH连接,sudo -i切换管理员权限
cd /vol1/1000/01高速存储/docker/handbrake #根据实际情况修改路径
docker cp Songti.ttc handbrake:/usr/share/fonts/ #移动文件
docker restart handbrake #重启
即可正常显示中文。

