GCS Connector Filter
The GCS connector filter uploads video segments to Google Cloud Storage buckets. It supports segmented video outputs, optional manifest generation, and customizable upload behavior through the environment and configuration.
Features
-
Google Cloud Storage Output
Uploads video segments togs://
destinations, supporting wildcards and segment intervals (e.g.,video_%Y-%m-%d_%H-%M-%S.mp4!segtime=1
). -
Manifest Generation
Creates a manifest JSON file listing all uploaded files and places it into GCS alongside the videos. -
Nested Manifest Paths
The manifest field can be a deep path (e.g.,my.happy.files
) to embed the file list inside a nested structure. -
Flexible Template Sources
Templates for manifests can be pulled from:file://
(local disk)gs://
(GCS buckets)- Cached remote files
-
Concurrent Uploading
Background threads upload videos as they are written and clean up local copies. -
Segmented Video Output
Video outputs can be chunked using!segtime
options. -
Environment Configuration
UsesGOOGLE_APPLICATION_CREDENTIALS
for GCP service account authentication.
Example Configuration
--outputs 'gs://my-bucket/video_%Y-%m-%d_%H-%M-%S.mp4!segtime=1'
--manifest file://manifest_template.json
--manifest_field videos.segmented
When to Use
Use this filter when:
- You want to store video output directly in GCS
- You need a JSON manifest describing stored segments
- You're working in cloud-native environments where local storage is temporary
Configuration Reference
Key | Type | Default | Description |
---|---|---|---|
workdir | string | "work" | Temporary working directory for segment files |
timeout | float | 60.0 | Timeout (in seconds) for GCS uploads |
manifest | string | null | Manifest template path (file, GCS, or cache) |
manifest_field | string | "files" | Field in the manifest to write list of uploaded files |
outputs | string[] | required | List of GCS output paths with optional segtime |
GOOGLE_APPLICATION_CREDENTIALS | env var | required | Path to service account key |
All outputs
must be unique in their gs://
path prefix to prevent collisions.