HLS调整参数

配置是:

hls_fragment 2;           # 每个 TS 片段 2 秒
hls_playlist_length 10;   # 播放列表保留最近 10 秒的内容

实际效果

  1. TS 文件数量
  2. 计算方式:hls_playlist_length / hls_fragment
  3. 这里 10s / 2s = 5,所以 大约会有 5 个 TS 文件(而不是 10 个)。

  4. 播放列表行为

  5. 每 2 秒生成一个新的 .ts 文件。
  6. .m3u8 播放列表始终包含最近 10 秒的 TS 文件(即 5 个)。
  7. 旧的 TS 文件会被自动清理(除非 hls_cleanup off)。

  8. 延迟 & 性能影响

  9. 延迟:客户端通常会有 hls_fragment * 1.5 左右的延迟(约 3s)。
  10. 服务器负载:比 hls_fragment 1 更节省 CPU/IO,比默认 hls_fragment 3 延迟更低。
  11. 网络适应性:2s 片段比 1s 更稳定,适合大多数直播场景。

是否需要调整?

适合的情况

  • 希望 降低延迟(2s 片段比 3s 更快)。
  • 减少 TS 文件数量(5 个左右,而不是默认 20 个)。
  • 适用于 普通直播、视频会议等中等延迟需求

⚠️ 潜在问题

  • 如果 hls_playlist_length 10 太小,可能导致:
  • 播放器缓冲不足(网络差时容易卡顿)。
  • 快进/回放时内容太少(HLS DVR 功能受限)。

推荐优化方案

1. 平衡延迟 & 流畅性

hls_fragment 2;           # 2s 片段(降低延迟)
hls_playlist_length 20;   # 保留 20s 内容(10 个 TS 文件)
  • 延迟:~3s
  • TS 文件数:10 个
  • 适合:大多数直播场景

2. 超低延迟模式

hls_fragment 1;           # 1s 片段(最低延迟)
hls_playlist_length 10;   # 保留 10s 内容(10 个 TS 文件)
  • 延迟:~1.5s
  • TS 文件数:10 个
  • 缺点:CPU/IO 负载较高

3. 节省资源模式

hls_fragment 3;           # 3s 片段(默认)
hls_playlist_length 30;   # 保留 30s 内容(10 个 TS 文件)
  • 延迟:~4.5s
  • TS 文件数:10 个
  • 适合:高并发、节省服务器资源

总结

  • 你的当前配置(hls_fragment 2; hls_playlist_length 10)会生成 5 个 TS 文件,延迟约 3s。
  • 如果想减少 TS 文件数量,可以 增大 hls_fragment(如 3s)。
  • 如果想降低延迟,可以 减小 hls_fragment(如 1s),但会增加服务器负载。

调整参数时,建议用 OBS 推流 并用 VLC/HLS.js 测试播放延迟 来找到最佳平衡点。

No Comments

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous