Skip to content

Latest commit

 

History

History

manual-video-settings

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

manual-video-settings

Admin-only form at /plugins/manual-video-settings/admin/ for hand-editing the host's transcoding config: HLS latency level, output codec, autoplay, and each output variant's resolution, framerate, video bitrate, CPU usage level, and passthrough flag. The form reads the current state via owncast.video_config.read() and POSTs partial updates through owncast.video_config.write().

Demonstrates: combining manifest.admin.pages (host-gated routes, no auth code in the plugin) with the videoconfig.read / videoconfig.write permission split. The handler accepts a partial VideoConfigUpdate so fields the form didn't touch are left untouched by the host.

{
  "permissions": ["http.serve", "videoconfig.read", "videoconfig.write"],
  "admin": { "pages": { "/admin": { "title": "Manual Video Settings" } } }
}

Layout:

Route Behavior
GET /admin/ Static HTML form (auth-gated by the host).
GET /admin/api/config Returns the current VideoConfig as JSON.
POST /admin/api/config Applies a VideoConfigUpdate, 204 on success.

See stream-ops for the same APIs driven from chat commands instead of a UI, and admin-demo for the bare minimum admin-page pattern.