.. _Web UI: Web UI ====== Scotty includes a web-based management interface for editing settings and managing the servlet filter installation without touching configuration files directly. Accessing the UI ---------------- Open the following URL in a browser, replacing ```` with the hostname or IP address of your AntMedia server: .. code-block:: http://:5080/rest/scotty/ui/ Dashboard --------- The **Dashboard** provides an overview of Scotty status and includes the **Reload Configuration** button. Configuration Hot Reload ^^^^^^^^^^^^^^^^^^^^^^^^^ After making configuration changes, you can reload the configuration without restarting AntMedia Server: 1. Click **"Reload Configuration"** on the Dashboard 2. Review the warning about active streams 3. Click **"Reload"** to confirm **Behavior:** - Active streams continue with their existing configuration - New streams use the reloaded configuration - No interruption to ongoing streams Global Settings --------------- The **Global Settings** page lets you configure settings that apply across all applications: - **License Key** — your Scotty license key. - **Mode** — the default ad-insertion mode: - **SSAI** — inject ``#EXT-X-CUE-OUT`` / ``#EXT-X-CUE-IN`` tags for ad-stitching services. - **SGAI** — inject ``#EXT-X-DATERANGE`` interstitial tags for Apple HLS players. - **Both** — inject both sets of tags simultaneously. - **SSAI Tag Format** — the specific SSAI tag variant to use (see :ref:`SSAI tag formats`). SGAI Fields ^^^^^^^^^^^^ - **Ad Asset URI** — the URL of the ad playlist. Use ``{duration}`` and ``{eventId}`` placeholders to pass the cue duration (seconds) and SCTE-35 event ID at runtime, e.g. ``https://ads.example.com/ad.m3u8?dur={duration}&id={eventId}``. - **Resume Offset** — seconds after the interstitial start at which the main content resumes (``0`` = after the ad plays to completion). - **Restrict** — comma-separated playback restrictions: ``SKIP``, ``JUMP``, or both. Application Settings -------------------- Each AntMedia application appears in the left sidebar. Applications that do not yet have Scotty enabled are shown in a lighter color. Click an application to open its settings page. - **Enabled** — toggle Scotty on or off for this application. Setting this to ``false`` and saving removes the application's configuration section entirely. - **Mode**, **SSAI Tag Format**, and all SGAI fields — same as global settings, but scoped to this application only. Leave a field at its default to inherit the global value. Filter Management ^^^^^^^^^^^^^^^^^^ Each application settings page shows a **Filter** section indicating whether the ``ScottyManifestFilter`` servlet filter is currently installed in that application's ``web.xml``: - **Install Filter** — adds ``ScottyManifestFilter`` to the application's ``WEB-INF/web.xml`` and restarts the application automatically. The filter intercepts M3U8 requests and injects the HLS ad-insertion tags. This is required for Scotty to modify playlists. - **Remove Filter** — removes the filter from ``web.xml`` and restarts the application. Scotty will stop modifying playlists for this application. .. note:: The filter install and remove operations edit ``web.xml`` in place and trigger an application reload. The application will be briefly unavailable during the restart. Stream Name Templates ^^^^^^^^^^^^^^^^^^^^^^ The **Stream Name Templates** section (below the application fields) lets you define per-stream setting overrides based on regex patterns matched against the stream ID. - **Add a template** — click **"Add Template"** and enter a regex pattern (e.g. ``^sports-.*``). - **Configure overrides** — each template exposes the same fields as the application settings. Only fields you fill in are applied; empty fields fall back to the application-level value. - **Reorder templates** — use the up/down arrow buttons to control evaluation order. The first matching pattern wins. - **Remove a template** — click the delete icon on the right of any row. .. note:: Patterns are validated as Java regular expressions when you type. An invalid pattern is highlighted in red and will not be saved. Changes take effect the next time a stream starts on that application. To apply changes to running streams, use the **Reload Configuration** feature on the Dashboard.