Added clips module documentation.
+48
@@ -0,0 +1,48 @@
|
|||||||
|
# Clips
|
||||||
|
|
||||||
|
The `clips` module lets chat users capture and save moments from the live stream using a browser-based clip editor.
|
||||||
|
|
||||||
|
This is a built-in module that ships with Owlbot and is enabled by default. It requires [ffmpeg](https://ffmpeg.org/) to be installed. If ffmpeg is not available, the module will not load.
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
While a stream is live, create a clip:
|
||||||
|
|
||||||
|
```
|
||||||
|
!clip
|
||||||
|
```
|
||||||
|
|
||||||
|
Owlbot sends you a private message with a link to the clip editor. Open the link, use the trim slider to select the part you want, optionally add a title, and click **Create Clip**. Once processing finishes, you're redirected to the finished clip page.
|
||||||
|
|
||||||
|
Browse all saved clips:
|
||||||
|
|
||||||
|
```
|
||||||
|
!clips
|
||||||
|
```
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
| Command | Aliases | Usage | Permission | Description |
|
||||||
|
|---------|---------|-------|------------|-------------|
|
||||||
|
| `!clip` | | `!clip` | Everyone | Create a clip from the current stream. |
|
||||||
|
| `!clips` | | `!clips` | Everyone | Send a link to the clips list page. |
|
||||||
|
| `!delclip` | | `!delclip <id>` | Moderator | Delete a clip by ID. |
|
||||||
|
|
||||||
|
`!clip` and `!clips` have a 15-second cooldown.
|
||||||
|
|
||||||
|
## Web UI
|
||||||
|
|
||||||
|
The module serves a clips list page at `/owlbot/clips/list` showing all saved clips in a grid with thumbnails, titles, and creation dates. The `!clips` command sends a link to this page in chat. Each clip has its own page at `/owlbot/clips/clip/<id>` with a video player, title, creator, and creation date.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
```
|
||||||
|
# Create a clip from the current stream
|
||||||
|
!clip
|
||||||
|
|
||||||
|
# View all saved clips
|
||||||
|
!clips
|
||||||
|
|
||||||
|
# Delete a clip (moderator only)
|
||||||
|
!delclip 3
|
||||||
|
```
|
||||||
@@ -8,6 +8,16 @@ A quick listing of all commands included with Owlbot.
|
|||||||
|---------|---------|-------------|
|
|---------|---------|-------------|
|
||||||
| `!about` | | Display bot version and project link. |
|
| `!about` | | Display bot version and project link. |
|
||||||
|
|
||||||
|
## Clips
|
||||||
|
|
||||||
|
| Command | Aliases | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `!clip` | | Create a clip from the current stream. |
|
||||||
|
| `!clips` | | Send a link to the clips list page. |
|
||||||
|
| `!delclip` | | Delete a clip by ID. |
|
||||||
|
|
||||||
|
For more information, see [Clips](Clips).
|
||||||
|
|
||||||
## Custom Commands
|
## Custom Commands
|
||||||
|
|
||||||
| Command | Aliases | Description |
|
| Command | Aliases | Description |
|
||||||
|
|||||||
+11
@@ -105,6 +105,17 @@ modules:
|
|||||||
max_nesting_depth: 4
|
max_nesting_depth: 4
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Clips
|
||||||
|
|
||||||
|
| Key | Default | Description |
|
||||||
|
|-----|---------|-------------|
|
||||||
|
| `cache_duration` | `300` | Seconds of recent stream footage to keep available for clipping. |
|
||||||
|
| `min_clip_length` | `5` | Minimum clip length in seconds. |
|
||||||
|
| `max_clip_length` | `120` | Maximum clip length in seconds. |
|
||||||
|
| `clips_dir` | `"data/clips"` | Directory where saved clip files are stored. |
|
||||||
|
| `session_expiry` | `900` | Seconds before an unused clip editor session expires. |
|
||||||
|
| `grace_period` | `120` | Seconds to keep stream footage available after the stream stops. |
|
||||||
|
|
||||||
#### Custom Commands
|
#### Custom Commands
|
||||||
|
|
||||||
| Key | Default | Description |
|
| Key | Default | Description |
|
||||||
|
|||||||
+2
@@ -4,6 +4,7 @@ Owlbot is a modular, event-driven toolkit for extending [Owncast](https://owncas
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
- **[Clips](Clips)**: Capture and save moments from the live stream. Viewers clip directly from chat and trim their footage in a browser-based editor, no extra software needed.
|
||||||
- **[Custom commands](Custom-Commands)**: Moderators can create, edit, and delete chat commands at runtime without code changes or restarts. Responses support dynamic placeholders like `$(user)`, `$(count)`, `$(rand)`, `$(countdown)`, and positional arguments.
|
- **[Custom commands](Custom-Commands)**: Moderators can create, edit, and delete chat commands at runtime without code changes or restarts. Responses support dynamic placeholders like `$(user)`, `$(count)`, `$(rand)`, `$(countdown)`, and positional arguments.
|
||||||
- **[Quotes](Quotes)**: Codify the streamer's hot takes, wild claims, and memorable one-liners said live on air. Moderators add quotes, and anyone can recall them at random or look up a specific quote by ID.
|
- **[Quotes](Quotes)**: Codify the streamer's hot takes, wild claims, and memorable one-liners said live on air. Moderators add quotes, and anyone can recall them at random or look up a specific quote by ID.
|
||||||
- **[Timers](Timers)**: Set up recurring chat messages that fire on a simple duration or cron schedule. An optional minimum chat line threshold keeps timers from firing into an empty chat.
|
- **[Timers](Timers)**: Set up recurring chat messages that fire on a simple duration or cron schedule. An optional minimum chat line threshold keeps timers from firing into an empty chat.
|
||||||
@@ -23,6 +24,7 @@ Owlbot's core is a framework for building and running modules. If the included m
|
|||||||
|
|
||||||
- **[uv](https://docs.astral.sh/uv/getting-started/installation/)** — handles Python and dependency management automatically
|
- **[uv](https://docs.astral.sh/uv/getting-started/installation/)** — handles Python and dependency management automatically
|
||||||
- A running **Owncast 0.2.4** instance
|
- A running **Owncast 0.2.4** instance
|
||||||
|
- **[ffmpeg](https://ffmpeg.org/)** *(optional)* — required by the clips module for video processing. If not installed, the clips module will not load but all other modules will work normally.
|
||||||
|
|
||||||
### 1. Installation
|
### 1. Installation
|
||||||
|
|
||||||
|
|||||||
+1
@@ -6,6 +6,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
**Built-in Modules**
|
**Built-in Modules**
|
||||||
|
* [Clips](Clips)
|
||||||
* [Custom Commands](Custom-Commands)
|
* [Custom Commands](Custom-Commands)
|
||||||
* [Quotes](Quotes)
|
* [Quotes](Quotes)
|
||||||
* [Timers](Timers)
|
* [Timers](Timers)
|
||||||
|
|||||||
Reference in New Issue
Block a user