Clip & File Processing

This section outlines how to process recorded video clips and files with Lumeo

Overview

You can process recorded video clips and files easily with Lumeo by creating File streams.

View a list of File streams under Deploy -> Files view.

Deploy -> Files view lists all the File streams in your workspace

Deploy -> Files view lists all the File streams in your workspace


Upload files to Lumeo Cloud

Using Lumeo Console

Click Add Files, select video files from your device and then upload files to Lumeo cloud. This will create a File stream that can be used as an input in the Video Source node when deploying a Pipeline.


Using Universal Bridge

Lumeo's Universal Bridge lets you upload Clips to Lumeo's cloud using SMTP, FTP.

Uploading clips using the Universal Bridge creates a virtual camera which can then be configured with a specific pipeline & camera-specific pipeline overrides using the Console. This pipeline is then deployed for each new clip that is uploaded.

Learn more : Universal Bridge


Using API

Use the files API to upload files to Lumeo Cloud, and then use the streams API to create a File stream for those uploaded files.


Using Lumeo bulk deploy script

lumeo-bulk-deploy script lets you upload files from local storage, URLs, S3 buckets and deploy pipelines using them.

Start by installing the python package that contains that script:pipx install lumeo

Then see all the options available using lumeo-bulk-deploy -h

Upload local files using a pattern & deploy

Uploads all files that match the pattern and deploy a specific pipeline.

lumeo-bulk-deploy --app_id 'd413586b-0ccb-4aaa-9fdf-3df7404f716d' --token 'xxxxxxx' --pipeline_id ee55c234-b3d5-405f-b904-cfb2bd6f2e06 --pattern '/Users/username/media/lumeo-*.mp4'

Uploads all files that match the pattern and deploy a specific pipeline, and tag all uploaded files + resulting deployments

lumeo-bulk-deploy --app_id 'd413586b-0ccb-4aaa-9fdf-3df7404f716d' --token 'xxxxxxx' --pipeline_id ee55c234-b3d5-405f-b904-cfb2bd6f2e06 --pattern '/Users/username/media/lumeo-*.mp4' --tag 'bulk-uploads/2024-07-31'

Uploads all files that match the pattern and deploy a specific pipeline with deployment config override

lumeo-bulk-deploy --app_id 'd413586b-0ccb-4aaa-9fdf-3df7404f716d' --token 'xxxxxxx' --pipeline_id ee55c234-b3d5-405f-b904-cfb2bd6f2e06 --pattern '/Users/username/media/lumeo-*.mp4' --deployment_config='{"overlay_meta2": {"text": "my-test-run","show_frame_count":true}}'

Upload local files using a CSV manifest & deploy

Uploads local files, and deploys with a specific pipeline/deployment config specified in the csv file.

lumeo-bulk-deploy --app_id 'd413586b-0ccb-4aaa-9fdf-3df7404f716d' --token 'xxxxxxx' --csv_file ./manifest.csv

Uploads local files, and deploys with a specific pipeline/deployment config specified in the csv file, falling back to command line options.

lumeo-bulk-deploy --app_id 'd413586b-0ccb-4aaa-9fdf-3df7404f716d' --token 'xxxxxxx' --csv_file ./manifest.csv --pipeline_id ee55c234-b3d5-405f-b904-cfb2bd6f2e06 --deployment_config '{"overlay_meta2": {"text": "my-test-run-default","show_frame_count":false}}'

CSV format (note the double quoted JSON when specifying deployment config in the CSV file):

file_uri, camera_external_id, camera_id, pipeline_id, deployment_config
/Users/devarshi/Downloads/warehouse2.mp4,,,ee55c234-b3d5-405f-b904-cfb2bd6f2e06


Import external recordings

Lumeo supports importing and processing files using URLs. Supported URL formats are:

TypeExampleDescription
HTTP hosted fileshttps://abc.xyz/media.mp4File accessible via a web server. This also supports signed S3 URLs.
Locally hosted files on the Gatewayfile:///var/lib/lumeo/media/clip.mp4Access files saved on the gateway locally. Requires that you have enabled folder sharing in the Gateway setup.

Shared folders always live under this path: /var/lib/lumeo/media

Using Lumeo Console

Click Add Files -> Link externally hosted files, and provide external file URLs to import.

Lumeo will save the File stream source URL, and only pull it when deploying a Pipeline that uses the File stream as a source. This ensures that the actual video still lives within your control.

Link externally hosted files

Link externally hosted files

Specify file URLs

Specify file URLs


From a VMS

Lumeo can import recordings from certain VMS' as a File stream that you can then use to run analytics on. See table below for supported VMS' and reach out if you need us to add support for more!

VMSInstructionsNotes
Hanwha WaveSee Hanwha Wave Import

Using API

Create a File stream using the streams API to import a source file URL.

Once imported, you can create deployments that use the FIle stream as a source using the deployments API or queue deployments for bulk processing using the deployment_queues API. Each Workspace comes with a default deployment queue that will create a deployment from a queued entry on a first-in-first-out basis, on the least utilized gateway.

The Api Recipe below shows you how to create File streams, queue deployments and access any output files.

Pipelines that generate alerts will do so when the deployment runs. Other outputs such as clips generated using the Save Clip Node and Save Snapshot Node can be accessed using the files API, or via your own S3 bucket.


Using Lumeo bulk upload script

lumeo-bulk-deploy script lets you upload files from local storage, URLs, S3 buckets and deploy pipelines using them.

Start by installing the python package that contains that script:pipx install lumeo

Then see all the options available using lumeo-bulk-deploy -h

Import self-hosted files using list & deploy

Creates File streams for URLs in the list and deploys with a specific pipeline.

lumeo-bulk-deploy --app_id 'd413586b-0ccb-4aaa-9fdf-3df7404f716d' --token 'xxxxxxx' --pipeline_id ee55c234-b3d5-405f-b904-cfb2bd6f2e06 --file_list 'https://assets.lumeo.com/media/parking_lot/mall-parking-1.mp4,https://assets.lumeo.com/media/sample/sample-people-car-traffic.mp4'

Import self-hosted using a CSV manifest & deploy

Creates File streams for URLs in the list, and deploys with a specific pipeline/deployment config specified in the csv file.

lumeo-bulk-deploy --app_id 'd413586b-0ccb-4aaa-9fdf-3df7404f716d' --token 'xxxxxxx' --csv_file ./manifest.csv

Creates File streams for URLs in the list, and deploys with a specific pipeline/deployment config specified in the csv file, falling back to command line options.

lumeo-bulk-deploy --app_id 'd413586b-0ccb-4aaa-9fdf-3df7404f716d' --token 'xxxxxxx' --csv_file ./manifest.csv --pipeline_id ee55c234-b3d5-405f-b904-cfb2bd6f2e06 --deployment_config '{"overlay_meta2": {"text": "my-test-run-default","show_frame_count":false}}'

CSV format (note the double quoted JSON when specifying deployment config in the CSV file):

file_uri, camera_external_id, camera_id, pipeline_id, deployment_config
https://assets.lumeo.com/media/parking_lot/mall-parking-1.mp4,,ee55c234-b3d5-405f-b904-cfb2bd6f2e06
https://storage.googleapis.com/lumeo-public-media/samples/mall-guest-svcs.mp4,,,ee55c234-b3d5-405f-b904-cfb2bd6f2e06 
https://storage.googleapis.com/lumeo-public-media/demos/warehouse5.mp4,,,ee55c234-b3d5-405f-b904-cfb2bd6f2e06,"{""overlay_meta2"": {""text"": ""my-test-run"",""show_frame_count"":true}}" 

Upload self-hosted files from a S3 bucket & deploy

Creates File streams for signed S3 URLs from your S3 bucket, and deploys with a specific pipeline, tagging them in the process.

lumeo-bulk-deploy --s3_endpoint_url='https://sfo2.digitaloceanspaces.com' --s3_prefix=universal-bridge-testing --s3_bucket=lumeo-test --s3_access_key_id=xxxx --s3_secret_access_key='xxxx' --app_id=bc655947-45da-43cb-a254-a3a5e69ec084 --token='xxx' --pipeline_id ee55c234-b3d5-405f-b904-cfb2bd6f2e06 --tag 's3-file-uploads/2024-03-01/run1'


Billing & Performance

File streams are processed as fast as possible (ie as fast as your hardware allows). Lumeo will not attempt to restart any Pipeline Deployments automatically when a File stream finishes processing.

File streams are billed on the basis of the run length of the input file as measured in video-minutes.

Files uploaded to Lumeo Clou dand any media artifacts generated by the pipeline count towards your Lumeo Cloud storage usage.