HLS 实时转码服务。扫描指定目录下的视频文件,按需(播放器请求到哪一段就转码哪一段)使用 ffmpeg 进行实时转码,并生成可直接播放的 m3u8 播放列表。
- 异步扫描目录,不阻塞服务启动
- 按需逐段转码(nvenc / hevc / 20M 恒定码率 / 音频直转 / 每 10s 一段)
- 本地片段缓存(默认 8G,超出后淘汰最不常使用的 4G),大小可通过环境变量覆盖
- 附带一个简单页面,便于快速拷贝 m3u8 链接
uv sync
uv run hlsrt /path/to/videos打开 http://localhost:8000 即可看到视频列表与可拷贝的 m3u8 链接。
| 变量 | 说明 | 默认 |
|---|---|---|
HLSRT_DIR |
扫描目录(也可用 --dir 覆盖) |
. |
HLSRT_FFMPEG |
ffmpeg 路径 | ffmpeg |
HLSRT_FFPROBE |
ffprobe 路径 | ffprobe |
HLSRT_CODEC |
视频编码器 | hevc_nvenc |
HLSRT_BITRATE |
视频码率 | 20M |
HLSRT_SEGMENT |
每段时长(秒) | 10 |
HLSRT_CACHE_SIZE |
缓存上限(支持 K/M/G) | 8G |
HLSRT_CACHE_EVICT |
超出后淘汰量 | 4G |
HLSRT_HOST / HLSRT_PORT |
监听地址 / 端口 | 0.0.0.0 / 8000 |