转码与硬件¶
这些是服务器容量、显卡、画质上限和转码缓存背后的变量。大多数安装不需要设置其中任何一个: 服务器会自己测量这台机器,并自己选择硬件,见转码与服务器容量。 如果某项设置在管理 → 转码里也有,就以那里保存的值为准。
硬件加速¶
如何让容器使用 GPU:见硬件加速。
| 变量 | 默认值 | 作用 | 面板 |
|---|---|---|---|
EVEY_TRANSCODING_HW_MODE |
空 | auto、off、nvenc、vaapi、qsv 或 rkmpp。为空时:根据下面两个变量推断。 |
转码 → 硬件加速,实时生效(会重新测量) |
EVEY_TRANSCODING_HW_ACCEL_ENABLED |
false |
旧的开关。 | 转码 → 硬件加速,实时生效 |
EVEY_TRANSCODING_HW_BACKEND |
空(自动检测) | 固定使用一个后端(nvenc、vaapi、qsv):只测量这一个。这样,同一台主机上的几个 Evey 容器可以各自使用不同的 GPU 路径。 |
无 |
EVEY_TRANSCODING_HW_DEVICE |
空(全部) | 固定使用一个设备:一个渲染节点(/dev/dri/renderD129)或一个 CUDA 编号(1)。配合 EVEY_TRANSCODING_HW_BACKEND,可以在有多块 GPU 的主机上把一个容器绑定到其中一块。 |
无 |
EVEY_TRANSCODING_HW_FIRST_SEGMENT_TIMEOUT |
10s |
硬件转码在这段时间内还没有产出第一个片段,就视为 GPU 无响应,改由处理器处理。 | 无 |
EVEY_TRANSCODING_HW_TONEMAP |
开启 | 0 关闭 GPU 上的 HDR 色调映射,改由处理器来做,用于已知有问题的驱动。 |
无 |
EVEY_TRANSCODING_HW_PER_VARIANT |
false |
在 GPU 路径上,每个画质各用一个 ffmpeg,而不是所有画质共用一个进程:这样故障不会互相影响,也避免了会让不稳定的 VA 驱动崩溃的多路输出处理流程。 | 转码 → 高级限制 → 每个码率档一个硬件编码进程,需重启 |
Intel 的低功耗编码器和 AV1 输出(开关和上限)没有对应的变量:只能在管理 → 转码里设置。
容量和上限¶
| 变量 | 默认值 | 作用 | 面板 |
|---|---|---|---|
EVEY_TRANSCODING_MAX_SESSIONS |
0(CPU 数量) |
同时进行的转码会话总数。如果机器勉强只能用软件转码一路 4K HDR,请设为 1 或 2。 |
转码 → 高级限制 → 最大并发 HLS 会话数,需重启 |
EVEY_TRANSCODING_MAX_CONCURRENT |
2 |
实时播放之外的转码任务数。 | 转码缓存 → 最大并发,实时生效 |
EVEY_TRANSCODING_SINGLE_VARIANT |
true |
只编码观众正在看的那个画质。false 让所有画质共用一次解码,但也会编码没人看的画质;只适合不能用硬件解码、片源解码负担又很重的主机。 |
转码 → 高级限制 → 一次只编码一个码率档,需重启 |
EVEY_TRANSCODING_SOFTWARE_MAX_HEIGHT |
0(测量得出) |
强制指定处理器的分辨率上限,不用测量出来的值。 | 转码 → 高级限制 → 软件转码高度上限,需重启 |
EVEY_TRANSCODING_SOFTWARE_HDR_MAX_HEIGHT |
0(测量得出) |
同上,针对在处理器上做色调映射的 HDR 片源。 | 转码 → 高级限制 → 软件 HDR 高度上限,需重启 |
EVEY_TRANSCODING_SOFTWARE_THREADS |
不限 | 每个软件编码器使用的线程数(1 到 64;其他值都表示不限)。硬件编码器忽略此设置。 | 无 |
EVEY_TRANSCODING_MAX_VIDEO_BITRATE_KBPS |
0(跟随片源) |
转码后视频的码率上限。 | 转码 → 视频码率上限,实时生效 |
EVEY_TRANSCODING_MAX_VIDEO_BITRATE_REMOTE_KBPS |
0(不限) |
同样的上限,针对家庭网络以外的客户端。 | 转码 → 视频码率上限(远程观众),实时生效 |
缓存¶
| 变量 | 默认值 | 作用 | 面板 |
|---|---|---|---|
EVEY_TRANSCODING_CACHE_MAX_GB |
10 |
整个转码缓存(片段、重封装的文件、准备好的下载)的大小,最久未使用的内容最先删除。 | 转码 → 转码缓存预算,需重启 |
EVEY_TRANSCODE_CACHE_MIN_FREE_MB |
2048 |
缓存所在磁盘上保留的空闲空间。低于这个值时,先清除闲置的片段,然后拒绝新的片段,而不是把它们写入磁盘;提取出来的字幕不再保存,并通知管理员。0 关闭这个余量。见转码缓存。 |
无 |
EVEY_TRANSCODING_CACHE_DIR |
/cache/transcode |
缓存存放的位置。由镜像设置。 | 无 |
EVEY_TRICKPLAY_CACHE_DIR |
/data/trickplay |
进度条缩略图存放的位置。由镜像设置:它们重新生成的代价很高,所以放在 /data 里。 |
无 |
校准片段¶
测量时会编码一段 4K 片段。按优先顺序:您自己的文件、一段只下载一次并用哈希值核对过的片段,或者一段合成的片段。 真实的片段比合成的测得更准。这些变量在面板里都没有对应的设置。
| 变量 | 默认值 | 作用 | 面板 |
|---|---|---|---|
EVEY_BENCH_HDR_SAMPLE, EVEY_BENCH_SDR_SAMPLE |
空 | 您自己的片段,HDR 和 SDR 各一段。 | 无 |
EVEY_BENCH_HDR_SAMPLE_URL, EVEY_BENCH_SDR_SAMPLE_URL |
空 | 要下载一次的片段,通过 https 下载。 |
无 |
EVEY_BENCH_HDR_SAMPLE_SHA256, EVEY_BENCH_SDR_SAMPLE_SHA256 |
空 | 这次下载的 SHA256;使用 URL 时必须提供。 | 无 |