Skip to main content

Generate timelapse HLS streams from STAC collections.

Project description

veda-timelapse

Docs: https://dzole0311.github.io/veda-timelapse/

Generate GLS video streams from STAC collections. Composites a basemap, data layer, colorbar, and timestamp into PNG frames, then encodes them to index.m3u8.

Two render modes:

  • STAC -- renders VEDA STAC collections through the VEDA Raster API
  • CMR -- renders CMR granules through titiler-cmr (e.g. GPM IMERG)

Requirements

Python 3.11 or newer. ffmpeg must be on PATH:

brew install ffmpeg        # macOS
apt-get install ffmpeg     # Debian/Ubuntu

Install the package:

pip install veda-timelapse

Quick start

STAC mode (CLI):

veda-timelapse \
  --collection no2-monthly \
  --start 2022-01-01 \
  --end 2022-12-31 \
  --bbox "-74.3,40.4,-73.6,40.9" \
  --assets cog_default \
  --colormap rdbu \
  --rescale "0,75" \
  --colorbar-label "NO2 column" \
  --title "New York City NO2 2022" \
  --out ./nyc-no2

CMR mode (Python):

from veda_timelapse import Config, run

cfg = Config(
    use_cmr=True,
    cmr_collection_concept_id="C2723754864-GES_DISC",
    cmr_variable="precipitation",
    cmr_date_frequency="daily",
    datetime_start="2024-06-01",
    datetime_end="2024-10-31",
    bbox=[-180.0, -70.0, 180.0, 75.0],
    width=1920, height=960,
    rescale="0,48",
    colormap_name="blues",
    cmr_dry_luminance_threshold=255.0,
    basemap=True, basemap_style="boundaries",
    colorbar_label="Precipitation (mm/day)",
    title="GPM IMERG Global Jun-Oct 2024",
    output_dir="./gpm-global",
)

playlist = run(cfg)
print(playlist)

S3 upload

Add s3_bucket to upload the HLS output to S3 after encoding:

cfg = Config(
    ...,
    s3_bucket="my-bucket",
    s3_prefix="renders/my-job",
)

Requires pip install veda-timelapse[aws] and standard AWS credentials.

Docs

mkdocs serve

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

veda_timelapse-0.1.1.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

veda_timelapse-0.1.1-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file veda_timelapse-0.1.1.tar.gz.

File metadata

  • Download URL: veda_timelapse-0.1.1.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for veda_timelapse-0.1.1.tar.gz
Algorithm Hash digest
SHA256 293b8353ac612d9d2bc384a9be9ba3ac71ecaf5179916a2d3c757730a487ba70
MD5 bf8c8fd6d9c997b93e1f38ed7072ce8c
BLAKE2b-256 29ad501d35711e9c462a25b3aa287c5fb16adc0f4b374abea62134340286f8b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for veda_timelapse-0.1.1.tar.gz:

Publisher: publish.yml on dzole0311/veda-timelapse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file veda_timelapse-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: veda_timelapse-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for veda_timelapse-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 27740b64abf14af7525a954716efebb46e678c587e3ca53ffd20e648fdd4d449
MD5 147446d9398b04b312b0f2bf03af40a7
BLAKE2b-256 0e5ce79e4ab5bea69eb0db969b2facc7ebdbf5215350c008f1f28db5c245d17a

See more details on using hashes here.

Provenance

The following attestation bundles were made for veda_timelapse-0.1.1-py3-none-any.whl:

Publisher: publish.yml on dzole0311/veda-timelapse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page