Skip to content

visualize compose-video: optional output presets for sphere/globe content (e.g. --preset sos-global)Β #225

Description

@github-actions

πŸ”— Synced from upstream: NOAA-GSL/zyra#280

This issue is mirrored from the upstream repository. Status changes here will be synced back.


We're using Zyra as the rendering engine behind TerraViz's scheduled
real-time dataset pipelines β€” datasets render to MP4 on GitHub Actions
and publish into a web/sphere catalog
(https://github.com/zyra-project/terraviz). The network serves two
kinds of content with different geometry expectations:

  • Global datasets (the classic Science On a Sphere case): 2:1
    equirectangular, with a hard display spec of 4096Γ—2048, 30 fps,
    H.264 yuv420p
    .
  • Regional / non-global datasets from other nodes in the network:
    arbitrary aspect ratios by nature β€” a 2:1 constraint would be wrong
    for them.

What works today

compose-video's defaults (-framerate 30 … -r 30 -vcodec libx264 -pix_fmt yuv420p) already produce spec-compliant output when fed
4096Γ—2048 frames β€” verified end-to-end with the DroughtRisk_Weekly
sequence (ffprobe: 4096x2048 h264 30.00fps, zero deviations).

The gap

There's no way to declare intent. A pipeline meant to produce global
sphere content silently passes through frames at any resolution/aspect,
and the mismatch is discovered downstream after rendering. Conversely,
any blanket enforcement would break regional content.

Proposal

An opt-in preset family rather than enforcement:

  • --preset sos-global β€” scale/pad to 4096Γ—2048, warn loudly when the
    source aspect isn't ~2:1, pin 30 fps / H.264 / yuv420p, fail fast if
    the spec can't be met.
  • Defaults unchanged for everyone else; regional pipelines simply don't
    pass a preset (or a future --preset sos-regional could pin
    codec/fps while leaving geometry alone).

Given NOAA GSL's SOS heritage, declared-intent presets seem like a
natural fit, and they'd let downstream consumers replace post-hoc
validation with up-front declaration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstream-syncIssue mirrored from NOAA-GSL/zyra

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions