feat(stream)!: retire WebRTC, HLS-only, bump 0.9.4
Drops the custom WebRTC DataChannel pipeline + pion deps + WSS signaling client + wire framing. Every in-browser playback now uses HLS over HTTP from the daemon (Tailscale/LAN/UPnP). Browser P2P never re-enabled. Wire renames (incompatible with web < 2026-05-26): agent.WebRTCSession => agent.StreamSession, SyncResponse.WebRTCSessions (JSON: webrtcSessions) => StreamSessions (JSON: streamSessions). MIN_AGENT_VERSION is bumped to 0.9.4 on the web side so older agents see an upgrade card. Also fixes the libx264 'VBV bitrate > level limit' abort by clamping the encoder bitrate to the effective output height instead of the requested label (carried over from the prior 0.9.3 unreleased work). The seed_file vertical (mode=seed_file handler + engine.SeedFile) was retired with the in-browser P2P player. [downloads.webrtc] config block deleted; existing TOML files with the section still parse fine.
This commit is contained in:
parent
9176e877eb
commit
ca7de23a56
33 changed files with 207 additions and 2854 deletions
30
README.md
30
README.md
|
|
@ -434,24 +434,12 @@ country = "US"
|
|||
|
||||
### Streaming reference
|
||||
|
||||
The in-browser player on torrentclaw.com streams from the daemon over WebRTC
|
||||
(low-latency P2P) or HLS (HTTP fragments + ffmpeg transcode for codecs the
|
||||
browser can't decode natively). Both are enabled by default — a fresh install
|
||||
"just works" without editing the TOML. Disable surgically only if you have a
|
||||
reason.
|
||||
The in-browser player on torrentclaw.com streams from the daemon over HLS
|
||||
(HTTP fragments + ffmpeg transcode for codecs the browser can't decode
|
||||
natively). Enabled by default — a fresh install "just works" without editing
|
||||
the TOML.
|
||||
|
||||
```toml
|
||||
[downloads.webrtc]
|
||||
enabled = true # master switch
|
||||
trackers = ["wss://tracker.torrentclaw.com"] # signaling trackers
|
||||
stun_servers = [ # NAT traversal
|
||||
"stun:stun.l.google.com:19302",
|
||||
"stun:stun1.l.google.com:19302",
|
||||
]
|
||||
turn_servers = [] # optional TURN relays
|
||||
turn_user = ""
|
||||
turn_pass = ""
|
||||
|
||||
[downloads.transcode]
|
||||
enabled = true # master switch
|
||||
hw_accel = "auto" # auto | none | nvenc | qsv | vaapi | videotoolbox
|
||||
|
|
@ -462,16 +450,6 @@ max_height = 0 # 0 = no cap; e.g. 720 forces 720p max
|
|||
max_concurrent = 2 # max simultaneous ffmpeg processes
|
||||
```
|
||||
|
||||
#### `[downloads.webrtc]`
|
||||
|
||||
| Key | Type | Default | Notes |
|
||||
|-----|------|---------|-------|
|
||||
| `enabled` | bool | `true` | Browser↔daemon WebRTC peer for the in-browser P2P player. Disable to skip WebRTC tracker signalling (saves ~5MB RAM, blocks WebRTC streaming — HLS still works). |
|
||||
| `trackers` | `[]string` | `["wss://tracker.torrentclaw.com"]` | Signaling trackers for peer discovery. |
|
||||
| `stun_servers` | `[]string` | Google public STUN ×2 | ICE candidate gathering. |
|
||||
| `turn_servers` | `[]string` | `[]` | Optional TURN relays for symmetric-NAT users. |
|
||||
| `turn_user` / `turn_pass` | string | `""` | Credentials for authed TURN servers. Applied to all `turn_servers`. |
|
||||
|
||||
#### `[downloads.transcode]`
|
||||
|
||||
| Key | Type | Default | Notes |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue