Repository navigation
Technical Configuration
Audience: developers and advanced administrators. Baseline reviewed: 2026-10-29.
| Layer | Location/interface | Interpretation |
|---|---|---|
| Deployment configuration |
videos/configuration.php, $global
|
Installation paths, URLs and private connection material; excluded from this documentation |
| Site configuration |
AVideoConf, configurations
|
Site-wide persisted configuration |
| Plugin defaults | getEmptyDataObject() |
Source-level construction of initial fields |
| Plugin saved settings |
plugins.object_data through plugin accessors |
Persisted values merged with defaults |
| Structured options | Objects containing fields such as type and value
|
UI definition plus selected value; not always a scalar |
| Per-user/job/provider state | Plugin data classes, preference/state files or provider API | Scoped operational data; not a site-wide default |
- Record the exact interface label and internal field name.
- Find the owning plugin in the technical plugin catalog.
- Read its default construction and any
addDataObjectHelper()description. - Search every consumer of that exact field in the relevant component, including the Encoder when appropriate.
- Check saved values, structured selections, conditional overrides and enabled-state checks in the actual installation.
- Confirm the output or state transition the setting controls.
Do not infer a universal default from a sample Docker configuration or another server's saved settings. A setting can exist while its feature is disabled or unavailable.
- Encoder URL: identifies the Web Encoder used for queue/media utility requests. A Local Encoder browser page is not a replacement endpoint.
- Live URLs: RTMP ingest, HLS player URL, stats, control and remote recording transfer are separate addresses/contracts.
- Advanced FFmpeg options: current Streamer conversion code parses allowed options before execution. A stored text string is not necessarily interpolated directly into a shell command. Follow the actual conversion wrapper.
-
TLS behavior: configured outbound-service verification is mediated by
shouldVerifySSLCertificates()in relevant callers. Inspect the service-specific path and deployment policy instead of assuming all outgoing requests share one rule. -
Restricted advanced configuration:
disableAdvancedConfigurationscan prevent saves or affect selected runtime options. Readobjects/dangerousConfigurations.phpand the save/consumer path when this mode is involved.
Names, defaults and consumers can evolve independently in separately distributed plugins. Each plugin page records the code-reported version and source revision. A configuration table is evidence from that source snapshot; it is not a claim that every older installation offers the same fields.
The basic hidden-configuration guide remains the user-facing entry point. Use this page when implementation tracing is required.
Start
Install and update
- Install on Ubuntu 24.04 or 26.04
- Installation Setup Page
- Scheduler cron job (required)
- Set up email
- Use HTTPS
- Own Encoder
- Docker
- Update AVideo
- Backup
- Secure file permissions
- Server command-line tools
- Hidden configuration options
Videos
- Upload a video
- Local Encoder (on your computer)
- Bulk upload by FTP
- Import a channel
- Publish on YouTube and social media
- Privacy options
- Only for logged-in users
- Resolutions by user group
- Storage options
- Move and protect video files
- Video does not play
Users
Live
- Make a live stream
- Stream with OBS
- Own live server
- One live server, many sites
- Live server install errors
- Live does not play
Plugins
Problems
Other
- Translate your site
- Write a plugin (developers)
- Technical reference (developers and advanced administrators)
Old and retired guides