-
Notifications
You must be signed in to change notification settings - Fork 23
video services
Shadowsun™ edited this page Sep 21, 2026
·
4 revisions
Theater screens resolve media through service modules under:
cinema_modded/gamemode/modules/theater/services/
Each service implements URL matching and metadata extraction (title, duration, embed data) for one or more hosts.
| Service | Notes |
|---|---|
| YouTube | Primary VOD provider |
| Twitch | Streams / VODs (subject to Twitch embed rules) |
| TikTok | Short-form URLs |
| SoundCloud | Audio tracks |
| Dailymotion | VOD |
| Rumble | VOD |
| Kick | Streams |
| Bilibili | VOD, AV, live, and episode variants |
| VK / OK | Regional hosts |
Internet Archive (ia) |
archive.org media |
| Google Drive / MEGA | File links where embedding is possible |
| Jellyfin | Self-hosted media server integration |
| URL / URL protocol | Generic fallback for direct or protocol links |
Availability depends on:
- the host’s embed / CORS policy
- CEF codecs on the client (install GModPatchTool)
- network access from players’ clients
Some services require the x86-64 branch of Garry’s Mod.
- Follow the patterns in
sh_base.luaand an existing provider (e.g.sh_youtube.lua). - Register matchers for the domains you support.
- Return stable metadata (title, duration, and any IDs needed for the HTML player).
- Test on both public and private theaters.
- Respect
cinema_video_duration_maxfor public rooms.
Keep CLIENT / SERVER responsibilities clear: metadata fetch may run where the service design expects it; do not assume server HTTP always works for every site.
Theater HTML is driven by the configured cinema_url host and the gamemode’s theater panel code.
Clients need a working Chromium embed (prefer x86-64 GMod + GModPatchTool for wider format support).
The default cinema_url points to the project’s hosted player pages. Only change it if you host your own copy of the HTML/JS assets.