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.
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:
Type | Example | Description |
---|---|---|
HTTP hosted files | https://abc.xyz/media.mp4 | File accessible via a web server. This also supports signed S3 URLs. |
Locally hosted files on the Gateway | file:///var/lib/lumeo/media/clip.mp4 | Access 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.
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!
VMS | Instructions | Notes |
---|---|---|
Hanwha Wave | See 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.
Updated about 1 month ago