Rollberry

Capture pages. Render launch-ready videos.

An open-source CLI and Node API for real-browser captures and project-driven renders with structured sidecar artifacts.

https://your-awesome-site.com
REC
Rendering desktop...
Scrolling
100%
Project JSON
Real Chromium
MP4 / WebM

One CLI. Capture or compose.

Rollberry launches a real Chromium browser, captures full-page motion with deterministic timing, and composes final outputs with FFmpeg. Use capture for one-off URLs and render for repeatable project-driven videos.

That means one pipeline for localhost previews, staged deployments, multi-scene product walkthroughs, and machine-readable artifacts such as manifests, JSONL logs, and render summaries.

rollberry
$

How it works

From one-off captures to repeatable multi-output renders.

1

Define

Point Rollberry at one or more URLs, or describe scenes and outputs in a project JSON file.

2

Render

Rollberry drives real Chromium, performs actions and scrolling, then composes the final media with FFmpeg.

3

Ship

Collect video, manifest, logs, and render summaries that slot directly into product, QA, and release workflows.

Built for real capture workflows

One-off URLs, scripted scenes, and artifacts you can automate against.

Project-Driven Renders

Turn one project JSON into desktop and mobile outputs with repeatable scenes, timing, and sidecar artifacts.

Timeline Actions

Interleave scroll, pause, click, hover, type, and keypress actions inside a scene without leaving JSON.

MP4 And WebM

Choose output format per target and tune intermediate and final encoding settings per render output.

Audio And Subtitles

Attach looping audio, burn captions into MP4, or ship soft subtitles alongside WebM outputs.

Transitions

Compose scenes with fade-in or crossfade transitions for cleaner product walkthroughs.

Structured Artifacts

Every run writes machine-readable manifests and JSONL logs you can archive, diff, and automate against.

Localhost Ready

Retry logic and localhost HTTPS tolerance make it practical for staging previews and local demos.

Debug Frames

Export raw PNG frames to inspect timing, overlays, and scene boundaries frame by frame.

Node API

Use the same capture and render pipeline programmatically from ESM for custom tooling and CI jobs.

Outputs you can automate against

Video is only one artifact. Every run also emits manifests, JSONL logs, and render summaries.

RENDER 00:04:12
desktop + mobile

Written artifacts

demo-desktop.mp4demo-desktop.manifest.jsondemo-desktop.log.jsonldemo-mobile.webmdemo.render-summary.json

demo.render-summary.json

{
  "kind": "render-summary",
  "status": "succeeded",
  "project": {
    "path": "./rollberry.project.json",
    "name": "Launch Demo"
  },
  "outputs": [
    {
      "name": "desktop",
      "videoPath": "./artifacts/demo-desktop.mp4",
      "manifestPath": "./artifacts/demo-desktop.manifest.json"
    },
    {
      "name": "mobile",
      "videoPath": "./artifacts/demo-mobile.webm",
      "manifestPath": "./artifacts/demo-mobile.manifest.json"
    }
  ]
}

Quick Start

Copy, paste, capture, or render.

# Capture localhost with explicit output and wait condition $ npx rollberry capture http://localhost:3000 --out ./artifacts/local.mp4 --wait-for selector:body
# Capture multiple URLs into one MP4 with a page gap $ npx rollberry capture https://example.com https://example.com/pricing --page-gap 1.5 --out ./artifacts/site-tour.mp4
# Render a project file into all configured outputs $ npx rollberry render ./rollberry.project.json
# Render only the mobile output from the same project $ npx rollberry render ./rollberry.project.json --output mobile

Built in the open

Rollberry ships as an MIT-licensed CLI and Node API. Contributions, issues, and production feedback are welcome.