Initial setupAVideo Streamer
GET STARTED

Set up your video platform.

Enter your details below. We will create the database, install the tables,
and generate your configuration file.

Required checks need attentionServer check

Installation checklist

28 passed · 3 need attention · 17 not verified · 4 not applicable.

Only required checks block installation. Expand the other groups to review recommended settings and optional features. Encoder and Live may run on separate servers. Reload this page after corrections.

Required for installation11 passed · 1 need attention · 0 not verified · 0 not applicable

Required to install this Streamer.

  • PHP 8.1 or laterCheck passed

    Current version: 8.5.4

  • Database schemaCheck passed

    Installation requirement available.

  • Configuration write accessNeeds attention

    videos directory

    How to resolve

    Replace PHP_USER with the Apache account (for example, www-data). Grant access only to that account and try again.

    sudo apt-get install acl
    sudo setfacl -m u:PHP_USER:rwx '/var/www/AVideo'
  • Composer dependenciesCheck passed

    Installation requirement available.

  • Frontend assetsCheck passed

    Installation requirement available.

  • PHP mysqliCheck passed

    Installation requirement available.

  • PHP curlCheck passed

    Installation requirement available.

  • PHP gdCheck passed

    Installation requirement available.

  • PHP mbstringCheck passed

    Installation requirement available.

  • PHP zipCheck passed

    Installation requirement available.

  • PHP zlibCheck passed

    Installation requirement available.

  • PHP opensslCheck passed

    Installation requirement available.

Recommended PHP configuration10 passed · 0 need attention · 0 not verified · 0 not applicable

Advisory only. Review the checks for features you plan to use; these do not block Streamer installation.

  • PHP xmlCheck passed

    Extension loaded by the web PHP runtime.

    How to verify

    Enable the extension for the PHP version serving this page, restart PHP, and reload setup.

  • PHP intlCheck passed

    Extension loaded by the web PHP runtime.

    How to verify

    Enable the extension for the PHP version serving this page, restart PHP, and reload setup.

  • PHP sqlite3Check passed

    Extension loaded by the web PHP runtime.

    How to verify

    Enable the extension for the PHP version serving this page, restart PHP, and reload setup.

  • PHP pdo_mysqlCheck passed

    Extension loaded by the web PHP runtime.

    How to verify

    Enable the extension for the PHP version serving this page, restart PHP, and reload setup.

  • upload_max_filesizeCheck passed

    Current: 100M. Recommended: 100M.

    How to verify

    Edit the web PHP configuration and restart PHP. The Ubuntu example uses 8G upload/post limits, 512M memory and 7200 seconds; adapt these to your workload. Unlimited memory (-1), POST (0) and execution time (0) are accepted.

  • post_max_sizeCheck passed

    Current: 100M. Recommended: 100M.

    How to verify

    Edit the web PHP configuration and restart PHP. The Ubuntu example uses 8G upload/post limits, 512M memory and 7200 seconds; adapt these to your workload. Unlimited memory (-1), POST (0) and execution time (0) are accepted.

  • memory_limitCheck passed

    Current: 512M. Recommended: 512M.

    How to verify

    Edit the web PHP configuration and restart PHP. The Ubuntu example uses 8G upload/post limits, 512M memory and 7200 seconds; adapt these to your workload. Unlimited memory (-1), POST (0) and execution time (0) are accepted.

  • max_execution_timeCheck passed

    Current: 7200. Recommended: 7200 seconds.

    How to verify

    Edit the web PHP configuration and restart PHP. The Ubuntu example uses 8G upload/post limits, 512M memory and 7200 seconds; adapt these to your workload. Unlimited memory (-1), POST (0) and execution time (0) are accepted.

  • POST capacity for file uploadsCheck passed

    post_max_size: 100M; upload_max_filesize: 100M.

    How to verify

    For this readiness check, post_max_size of 2G or more is sufficient. Lower values should be at least upload_max_filesize. Equal limits and unlimited POST size (0) are accepted.

  • PHP file uploadsCheck passed

    file_uploads: 1

    How to verify

    Enable file_uploads in the web PHP configuration to accept uploads.

Web server1 passed · 0 need attention · 0 not verified · 4 not applicable

Advisory only. Review the checks for features you plan to use; these do not block Streamer installation.

  • Apache mod_rewriteNot applicable

    This request is served by Nginx; Apache modules do not apply here.

    How to verify

    For Apache, enable the module and reload the service. On Ubuntu, xsendfile also needs libapache2-mod-xsendfile. With PHP-FPM, verify modules on the web server itself.

  • Apache mod_expiresNot applicable

    This request is served by Nginx; Apache modules do not apply here.

    How to verify

    For Apache, enable the module and reload the service. On Ubuntu, xsendfile also needs libapache2-mod-xsendfile. With PHP-FPM, verify modules on the web server itself.

  • Apache mod_headersNot applicable

    This request is served by Nginx; Apache modules do not apply here.

    How to verify

    For Apache, enable the module and reload the service. On Ubuntu, xsendfile also needs libapache2-mod-xsendfile. With PHP-FPM, verify modules on the web server itself.

  • Apache mod_xsendfileNot applicable

    This request is served by Nginx; Apache modules do not apply here.

    How to verify

    For Apache, enable the module and reload the service. On Ubuntu, xsendfile also needs libapache2-mod-xsendfile. With PHP-FPM, verify modules on the web server itself.

  • HTTPS on this requestCheck passed

    PHP reports HTTPS for this request; certificate validity is not checked here.

    How to verify

    Verify the final public site URL in a browser, including deployments behind a reverse proxy.

Directories3 passed · 1 need attention · 0 not verified · 0 not applicable

Advisory only. Review the checks for features you plan to use; these do not block Streamer installation.

  • PHP upload temporary directoryCheck passed

    Path: /tmp

    How to verify

    Ensure this directory exists and grants write access to the PHP service account. This checks permissions; no files are created.

  • PHP system temporary directoryCheck passed

    Path: /tmp

    How to verify

    Ensure this directory exists and grants write access to the PHP service account. This checks permissions; no files are created.

  • HTMLPurifier serializer cacheNeeds attention

    Path: /var/www/AVideo/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer

    How to resolve

    Ensure this directory exists and grants write access to the PHP service account. This checks permissions; no files are created.

  • Live temporary directory (/var/www/tmp)Check passed

    Checks the default local directory used by the Ubuntu Live setup.

    How to verify

    If using Live/restreaming on this server, verify its actual temporary directory and write access. A remote Live server must be checked separately.

Local media tools3 passed · 0 need attention · 10 not verified · 0 not applicable

Advisory only. Review the checks for features you plan to use; these do not block Streamer installation.

  • PHP execCheck passed

    Function is available to this PHP runtime.

    How to verify

    Media tools need process execution on the server where they run. Review disabled functions with your hosting provider if local processing is required.

  • PHP shell_execCheck passed

    Function is available to this PHP runtime.

    How to verify

    Media tools need process execution on the server where they run. Review disabled functions with your hosting provider if local processing is required.

  • PHP proc_openCheck passed

    Function is available to this PHP runtime.

    How to verify

    Media tools need process execution on the server where they run. Review disabled functions with your hosting provider if local processing is required.

  • FFmpeg executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • FFprobe executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • ImageMagick executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • ExifTool executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • unzip executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • Python executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • pip executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • yt-dlp executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • Nginx executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

  • Certbot executableNot verified

    Not detected in the PHP service PATH; installation elsewhere is not ruled out.

    How to verify

    This checks executable presence and permissions, not its version or successful operation. Verify it under the account that runs the relevant service. Encoder and Live tools may be on another server.

Encoder, Live and optional features0 passed · 1 need attention · 7 not verified · 0 not applicable

Advisory only. Review the checks for features you plan to use; these do not block Streamer installation.

  • yt-dlp executable selectionNot verified

    0 distinct executable(s) found in the PHP service PATH.

    How to verify

    Verify which executable the Encoder uses. If multiple copies exist, align its configured path with the pip-managed installation. No binaries are removed by setup.

  • Encoder connection and processingNot verified

    A local checkout does not prove the Encoder is configured or reachable.

    How to verify

    After installing the Streamer, configure the Encoder URL and test an upload through conversion and return to this site. Check the remote Encoder environment if it runs elsewhere.

  • yt-dlp / curl_cffi impersonationNot verified

    Python package compatibility and impersonation support need a runtime test on the Encoder.

    How to verify

    Run these with the same Python environment and account used by the Encoder:

    yt-dlp --version
    yt-dlp --list-impersonate-targets
    python3 -m pip show yt-dlp curl_cffi
  • Nginx RTMP / Live serviceNot verified

    An installed Nginx binary does not confirm RTMP support or a running Live service.

    How to verify

    On the Live server, inspect build modules and configuration, then publish and play a test stream. The Ubuntu source-build example installs Nginx under /usr/local/nginx.

    /usr/local/nginx/sbin/nginx -V
    sudo /usr/local/nginx/sbin/nginx -t
  • User_Location installation dataNeeds attention

    Checks for the extracted plugin/User_Location/install/install.sql file.

    How to resolve

    If using this plugin, extract its install.zip and install its IP tables through the plugin setup. File presence does not confirm table import or location lookup.

  • User_Location tables and lookupNot verified

    Plugin tables and IP lookup are not checked before the site database is installed.

    How to verify

    After setup, enable User_Location, follow its installation instructions, and test IPv4 and IPv6 lookup if required.

  • Vosk speech recognitionNot verified

    Python package, model files and transcription need verification on the processing server.

    How to verify

    If using speech recognition, verify Vosk in the service Python environment and run a transcription with the configured model.

    python3 -m pip show vosk
  • Scheduled tasks and yt-dlp updatesNot verified

    The service and root schedules are not inspected by this web page.

    How to verify

    Review the Scheduler/Live service tasks and the yt-dlp update schedule on the relevant server. Check recent successful runs and logs; keep unrelated existing jobs.

    sudo crontab -u www-data -l
    sudo crontab -u root -l

Database access is checked separately: use Test connection below with your database details. A passing checklist does not replace an upload, encoding or live playback test.

01

Database

Where your video platform stores its data.

MySQL / MariaDB
Use localhost if the database runs on this server.
We will create this database if it does not exist. An existing database must contain no data.
Existing sites must be recovered from their configuration backup.
02

Your site

Give your platform a name and a public address.

The address viewers will use, including any port or subdirectory.
Used for your administrator account and site contact details.
Automatically detected directory/var/www/AVideo/

Setup writes the configuration to the videos directory of this installation.

03

Administrator

Create the first account for your new platform.

Sign in as admin after installation.

Keep this password somewhere safe. You will need it to manage your site.

Everything in one step.
Database, tables, and configuration.php.

If anything goes wrong, instructions and commands to run on your server will appear here.