Documentation
¶
Overview ¶
Package main hosts the outtake command, a web-based media clipper for Plex libraries. It enables users to create video clips, GIFs, and screenshots from their Plex media server through an intuitive HTMX-powered web interface.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
api
Package api names the wire types handlers still import.
|
Package api names the wire types handlers still import. |
|
app
Package app provides the application composition root and lifecycle management.
|
Package app provides the application composition root and lifecycle management. |
|
app/health
Package health provides health check logic for the outtake server.
|
Package health provides health check logic for the outtake server. |
|
clip
Package clip holds the clip record, the render that produces it, and the encode policy that shapes both.
|
Package clip holds the clip record, the render that produces it, and the encode policy that shapes both. |
|
clip/catalog
Package catalog holds the clip list query and the rules that filter and order jobs for it.
|
Package catalog holds the clip list query and the rules that filter and order jobs for it. |
|
clip/preview
Package preview renders the short low quality segments a user watches before exporting a clip.
|
Package preview renders the short low quality segments a user watches before exporting a clip. |
|
clip/profile
Package profile is the settings subdomain that owns the clip encode profiles: the built-in quality presets, the profiles a user stores against them, and the service that reads and edits those stored profiles.
|
Package profile is the settings subdomain that owns the clip encode profiles: the built-in quality presets, the profiles a user stores against them, and the service that reads and edits those stored profiles. |
|
clip/queue
Package queue provides a simple job queue for processing media jobs.
|
Package queue provides a simple job queue for processing media jobs. |
|
cmd
Package cmd provides the outtake CLI commands.
|
Package cmd provides the outtake CLI commands. |
|
cmd/health
Package health provides the health check CLI command.
|
Package health provides the health check CLI command. |
|
cmd/server
Package server provides server-related CLI commands.
|
Package server provides server-related CLI commands. |
|
cmd/version
Package version provides the CLI command for displaying application version information.
|
Package version provides the CLI command for displaying application version information. |
|
ffmpeg
Package ffmpeg drives the ffmpeg and ffprobe processes that turn a source into a clip, a GIF, a still, or a preview.
|
Package ffmpeg drives the ffmpeg and ffprobe processes that turn a source into a clip, a GIF, a still, or a preview. |
|
ffmpeg/crop
Package crop parses ffmpeg cropdetect rectangles.
|
Package crop parses ffmpeg cropdetect rectangles. |
|
ffmpeg/probe
Package probe reads what a source file actually is, using ffprobe.
|
Package probe reads what a source file actually is, using ffprobe. |
|
ffmpeg/progress
Package progress reports ffmpeg encode completion from stderr.
|
Package progress reports ffmpeg encode completion from stderr. |
|
ffmpeg/tonemap
Package tonemap builds the ffmpeg filter chain that maps an HDR source down to Rec.709 so a browser renders it the way it was graded.
|
Package tonemap builds the ffmpeg filter chain that maps an HDR source down to Rec.709 so a browser renders it the way it was graded. |
|
logging
Package logging provides structured logging for outtake.
|
Package logging provides structured logging for outtake. |
|
metadata
Package metadata provides application version and build information.
|
Package metadata provides application version and build information. |
|
plex
Package plex provides a client for the Plex Media Server API.
|
Package plex provides a client for the Plex Media Server API. |
|
plex/decode/key
Package key resolves Plex metadata identifiers from Plex metadata paths.
|
Package key resolves Plex metadata identifiers from Plex metadata paths. |
|
plex/decode/plextv
Package plextv decodes plex.tv XML MediaContainer envelopes.
|
Package plextv decodes plex.tv XML MediaContainer envelopes. |
|
plex/decode/pms
Package pms decodes documented Plex Media Server JSON envelopes.
|
Package pms decodes documented Plex Media Server JSON envelopes. |
|
plex/identity
Package identity owns who the caller is and which Plex server answers for them.
|
Package identity owns who the caller is and which Plex server answers for them. |
|
plex/library
Package library holds the media library domain that sits behind the HTTP adapter.
|
Package library holds the media library domain that sits behind the HTTP adapter. |
|
plex/session
Package session monitors live playback sessions on a Plex Media Server.
|
Package session monitors live playback sessions on a Plex Media Server. |
|
settings/config
Package config is the settings subdomain that loads the application configuration, from the config file, the environment, and the defaults it seeds when neither carries a value.
|
Package config is the settings subdomain that loads the application configuration, from the config file, the environment, and the defaults it seeds when neither carries a value. |
|
settings/flags
Package flags defines every command-line flag the outtake CLI accepts, one file per command.
|
Package flags defines every command-line flag the outtake CLI accepts, one file per command. |
|
store/blob
Package blob provides blob storage for media files.
|
Package blob provides blob storage for media files. |
|
store/database
Package database provides SQLite and Postgres-protocol access for outtake.
|
Package database provides SQLite and Postgres-protocol access for outtake. |
|
timecode
Package timecode formats and parses FFmpeg time durations.
|
Package timecode formats and parses FFmpeg time durations. |
|
web
Package web assembles Outtake's inbound HTTP layer.
|
Package web assembles Outtake's inbound HTTP layer. |
|
web/exportform
Package exportform decodes the New export form from a request or a query, for the media item page and the redirect a finished preview comes back through.
|
Package exportform decodes the New export form from a request or a query, for the media item page and the redirect a finished preview comes back through. |
|
web/handlers/auth
Package auth serves the Plex sign-in routes.
|
Package auth serves the Plex sign-in routes. |
|
web/handlers/clip
Package clip serves the clip routes: creating a clip, editing one, canceling one, deleting one, listing them, and handing a finished file back.
|
Package clip serves the clip routes: creating a clip, editing one, canceling one, deleting one, listing them, and handing a finished file back. |
|
web/handlers/health
Package health serves the liveness endpoint.
|
Package health serves the liveness endpoint. |
|
web/handlers/home
Package home serves the dashboard, login, playback, and appearance pages.
|
Package home serves the dashboard, login, playback, and appearance pages. |
|
web/handlers/library
Package library serves the media library pages: the browse grid, a media item, and the library navigation.
|
Package library serves the media library pages: the browse grid, a media item, and the library navigation. |
|
web/handlers/library/media
Package media serves the routes that read Plex media directly: the live session lookup and the media search.
|
Package media serves the routes that read Plex media directly: the live session lookup and the media search. |
|
web/handlers/library/thumb
Package thumb serves the Plex thumbnail cache proxy, which answers a poster request from the local cache and otherwise fetches it from the selected server.
|
Package thumb serves the Plex thumbnail cache proxy, which answers a poster request from the local cache and otherwise fetches it from the selected server. |
|
web/handlers/preview
Package preview serves the segment previews the export form shows: rendering one, reporting its progress, canceling it, and serving the file a finished render published.
|
Package preview serves the segment previews the export form shows: rendering one, reporting its progress, canceling it, and serving the file a finished render published. |
|
web/handlers/profile
Package profile serves the clip profile settings page and the edits posted to it.
|
Package profile serves the clip profile settings page and the edits posted to it. |
|
web/handlers/server
Package server serves the Plex server list and the selection posted to it.
|
Package server serves the Plex server list and the selection posted to it. |
|
web/middleware
Package middleware provides HTTP middleware for the outtake API.
|
Package middleware provides HTTP middleware for the outtake API. |
|
web/respond
Package respond holds how a handler answers a request.
|
Package respond holds how a handler answers a request. |
|
web/routes
Package routes holds the vocabulary of the web surface: the paths it serves, the query parameters it reads, and how a link into it is built.
|
Package routes holds the vocabulary of the web surface: the paths it serves, the query parameters it reads, and how a link into it is built. |
|
web/theme
Package theme catalogs selectable UI color palettes.
|
Package theme catalogs selectable UI color palettes. |
|
web/utils
Package utils provides shared helpers for the Outtake web layer.
|
Package utils provides shared helpers for the Outtake web layer. |
|
web/view
Package view holds shared HTML view models for Outtake pages and widgets.
|
Package view holds shared HTML view models for Outtake pages and widgets. |
Click to show internal directories.
Click to hide internal directories.