Skip to content

Commit 7bedd2d

Browse files
gershamclaude
andcommitted
Skill: a video upload is held to the project's plan limit
States 500 MB on Standard and 1 GB on every other plan, where project capabilities reports media_video_bytes. The bundled CLI (804fbae) already reads the project's limit; this rebuild also carries the playlists reference that was waiting in skills/. Budget: repository 109 files, 3,488,885 -> 3,490,708 bytes; plugins/screenrig 50 files, 2,448,089 -> 2,449,710 bytes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
1 parent 22ef073 commit 7bedd2d

3 files changed

Lines changed: 24 additions & 1 deletion

File tree

‎plugins/screenrig/skills/screenrig/SKILL.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ never the providers.
172172
names what is missing, so ask the user to install ffmpeg rather than installing
173173
software yourself. Give uploads distinctive filenames and letter-or-digit tags.
174174
An image or video up to 16383 pixels per edge and 8192 by 8192 pixels in area uploads, so an ultra-wide LED master such as 9216 by 2160 goes up with `--no-transcode`; the default transcode fits each edge within 3840 pixels.
175+
A video upload can be at most the project's plan limit, 500 MB on Standard and 1 GB on every other plan (`project capabilities` states `media_video_bytes`); a larger video is refused before it is read.
175176
A Raspberry Pi 5 (`screen show` names the model, or firmware ending `rpi-2712`)
176177
has no H.264 decoder: upload every video for it with `--codec hevc`, up to 4K at
177178
60 fps, and never offer or retry H.264 when one fails.
@@ -189,6 +190,13 @@ moves its contents up one level. A `folder` selector plays a folder's own files,
189190
so moving files or deleting the folder changes what those playlists show; under
190191
Propose access a move waits for a person's review.
191192

193+
For a share of voice (sponsors, ad rotation) tag each sponsor's files and give
194+
the selector `order: "weighted"`, `one_at_a_time: true` and `weights` keyed by
195+
`tag:SPONSOR`; 50/30/20 plays exactly 5/3/2 of every 10. For a portrait or
196+
landscape slot add `fit: "aspect"`. Before publishing run `media
197+
selector-preview FILE --primitive image --rect WxH` and read each `share_percent`
198+
(`references/playlists.md`).
199+
192200
Match the design to the screen's dimensions. Generate a finished still whole, not
193201
a background with composed text. Use real supplied facts, label invented demo
194202
content, and inspect every render at full size before publishing.

‎plugins/screenrig/skills/screenrig/references/playlists.md‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,21 @@ video of its folders only (a stinger transition's logo included);
171171
resolve at each loop; on duration, application and `audio_end` pages they
172172
need `one_at_a_time: true`. `media_end` is valid only on a page with exactly
173173
one image or video; an image there needs `dwell_ms`, a video must not loop.
174-
Use `media selector-preview` to inspect a selector.
174+
Use `media selector-preview FILE --primitive image|video [--rect WxH]` to
175+
inspect a selector.
176+
- Weighted order (share of voice, sponsor rotation): `order: "weighted"` with
177+
`weights`, both or neither, plus `one_at_a_time: true` or `batch_size: 1`.
178+
`weights` maps `med_` IDs or `tag:NAME` to 1-1000 (64 keys at most); 50/30/20
179+
plays exactly 5/3/2 of every 10. An item takes its `med_` key, else its first
180+
`tag:` key alphabetically (that weight split among the items carrying it), else
181+
weight 1. Key each sponsor by `tag:` so its share holds however many creatives
182+
it has. A Player without `selector.weighted` plays random
183+
(`selector_order_downgraded`); static export drops weights.
184+
- `fit: "aspect"` on a dynamic selector keeps files within 5% of the slot's
185+
width over height, so a portrait slot never plays a landscape file. Preview
186+
needs `--rect WxH` with it and lists the rest as `excluded`
187+
(`aspect_mismatch`); weighted previews give each item's `weight`,
188+
`share_percent` and the `cycle`, and signed-in `playlist preview` prints them.
175189
- `iframe` and `application` use `content_fit: "fill"`; `application` pins a
176190
`release_id`. A `stream` needs `fallback_media_id` and a `duration` page. Its
177191
`sources` take an `https` HLS URL or a camera's `rtsp://`/`rtsps://` URL as

‎skills/screenrig/SKILL.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ never the providers.
172172
names what is missing, so ask the user to install ffmpeg rather than installing
173173
software yourself. Give uploads distinctive filenames and letter-or-digit tags.
174174
An image or video up to 16383 pixels per edge and 8192 by 8192 pixels in area uploads, so an ultra-wide LED master such as 9216 by 2160 goes up with `--no-transcode`; the default transcode fits each edge within 3840 pixels.
175+
A video upload can be at most the project's plan limit, 500 MB on Standard and 1 GB on every other plan (`project capabilities` states `media_video_bytes`); a larger video is refused before it is read.
175176
A Raspberry Pi 5 (`screen show` names the model, or firmware ending `rpi-2712`)
176177
has no H.264 decoder: upload every video for it with `--codec hevc`, up to 4K at
177178
60 fps, and never offer or retry H.264 when one fails.

0 commit comments

Comments
 (0)