Skip to content

Repository files navigation

hlsrt

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

About

HLS 实时转码服务。扫描指定目录下的视频文件,按需(播放器请求到哪一段就转码哪一段)使用 ffmpeg 进行实时转码,并生成可直接播放的 m3u8 播放列表。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages