[Feature]: Multi-video overlay and split-screen layout regions on the timeline
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
- #1318 @rainyflash による — マージされずにクローズ
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- electron, typescript
- 領域
- full-stack
調査の方向性
Start with the 11-step region checklist in technical-documentation/architecture/editor-shell.md and trace the existing document, timeline, preview, inspector, and agent/MCP entry points. The issue names AxcutDocument, V4Timeline, PreviewCanvas, FloatingInspector, and SceneDescription as areas to inspect. Done means overlay regions work across those surfaces, including composition, controls, synchronization, and agent/MCP authoring; an open linked pull request indicates work is already underway.
索引モデルが issue の本文から書いたものです。
説明
Search existing issues
- I have searched the existing issues
Is your feature request related to a problem?
Currently, OpenScreen's timeline only supports playing one primary video clip at a time (plus the recording's linked webcam track). Users creating product demos, before/after performance comparisons, multi-client workflows (e.g. browser + terminal, or desktop + mobile side by side), or picture-in-picture B-roll overlays have no way to present two video assets simultaneously on screen and configure how they share the frame.
Describe the solution you'd like
Add support for multi-video overlay / split-screen regions (videoOverlayRanges) so users and AI agents can place a secondary video asset over any span of the edited timeline and control how the multiple videos are presented on screen:
- Document Model (
AxcutDocument):- Add clip-anchored
videoOverlayRangesreferencing any videoassetIdin the project, with source offset (offsetMs), layout mode (side-by-side,top-bottom,pip,wipe-compare), split ratio (splitRatio, 0.2–0.8, default 0.5), PiP rect (position / size), optionalcropRegion,muted, andgainDb.
- Add clip-anchored
- Editor UI (Timeline, Preview & Inspector):
- Add a Video Overlay / Split Screen lane and toolbar action on
V4Timelineto place, move, resize, and delete secondary video regions. - Render the simultaneous multi-video composition in
PreviewCanvas(side-by-side split, top/bottom split, wipe comparison, and draggable/resizable PiP overlay) synchronized with the playhead, trims, and speed regions. - Add an inspector selection pane (
FloatingInspector) to pick the secondary video asset, switch layout modes (side-by-side,top-bottom,pip,wipe-compare), adjust split ratio / PiP size, and toggle audio mute. - Extend
SceneDescriptionwithvideoOverlayRegionsso the scene contract carries the resolved multi-video regions.
- Add a Video Overlay / Split Screen lane and toolbar action on
- AI Agent & MCP Tools:
- Expose
addVideoOverlayandsetVideoOverlay(and supportremoveModifier+getCurrentDocumentreadback) so both the in-app agent and external MCP clients can author side-by-side comparisons and PiP overlays programmatically.
- Expose
Describe alternatives you've considered
Turning the primary timeline into a free-form N-track non-linear editor was rejected because it would break the contiguous primary timeline invariant (decisions.md) and add unnecessary complexity. Modeling secondary video presentations as clip-anchored regions keeps the sleek single-timeline UX intact.
Additional context
Follows the 11-step region checklist in technical-documentation/architecture/editor-shell.md.
- 主要言語
- TypeScript
- スター
- 3.7k
- フォーク
- 231
- 平均マージ
- 16時間 25分
- マージ済み PR(30日)
- 331
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
getopenscreen/openscreen のほかの issue
-
build.yml: macOS arm64 DMG fails, cargo missing on the macos-26 runner image対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
getopenscreen/openscreen#1423 ·
メンテナーはふだん 1 日以内に返信
-
Native review wanted: machine-translated recording bar tooltips (14 locales)再び着手できるかも @auberginewly が 20 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンgood first issue help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
getopenscreen/openscreen#913 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 57/100
getopenscreen/openscreen#1422 ·
メンテナーはふだん 1 日以内に返信
-
macOS: pick the YCbCr matrix per buffer instead of hard-coding BT.709対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
getopenscreen/openscreen#1420 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
getopenscreen/openscreen#1419 ·
メンテナーはふだん 1 日以内に返信
getopenscreen/openscreen の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
gnosis/gnosis_vpn#661 ·
メンテナーはふだん 1 日以内に返信
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)オープンtriage:bug-verified
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Eyevinn/open-videocore#1300 ·
メンテナーはふだん 1 日以内に返信
-
nextjs-tracking
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
cloudflare/vinext#4390 ·
メンテナーはふだん 1 日以内に返信
-
kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
kubernetes-sigs/headlamp#8175 ·
メンテナーはふだん 2 日以内に返信