elv-stream
Eluvio Live Stream CLI
Usage: elv-stream <command>
Global options
| Option | Type | Required | Description |
|---|---|---|---|
-m, --main | Sets ELV_NET=main | ||
-d, --dv3, --demov3 | Sets ELV_NET=demov3 | ||
--test | Sets ELV_NET=test | ||
--dev | Sets ELV_NET=dev | ||
--verbose, -v | boolean | Verbose mode | |
--url | string | Optional node endpoint (eg. https://host-x-x-x-x.contentfabric.io) | |
--token | string | Externally provided access token |
Commands
| Command | Description |
|---|---|
create | Create a single new live stream object |
create_batch | Create a batch of new live stream objects. |
config | Apply user configuration based on stream info |
init | Initialize media and DRM configuration for the stream object. |
start_recording | Create a new edge write token for this stream object. |
terminate | End the current live stream for this object. |
start | Start or resume current live stream if not running. |
status | Status of the currently active live stream. |
reset | Reset the currently active live stream. |
stop | Pauses the currently active live stream. |
insertion | Add or remove (with --remove) a content insertion in the live stream at the given time. |
download | Download the live stream recording and create an mp4 file. |
copy_as_vod | Copy the stream to a new VoD object. |
watermark_set | Set watermark for this stream. |
watermark_remove | Remove watermark from the stream. |
list | List stream urls and their status. |
switch | Switch the live stream to the primary or alternate |
Command reference
create
elv-stream create
Create a single new live stream object
Options
| Option | Type | Required | Description |
|---|---|---|---|
--object_id | string | object ID for updating an existing stream object | |
--library | string | ✓ | Library ID containing the stream object |
--stream_url | string | ✓ | Ingest URL for the live stream |
--live_recording_config | string | Live recording configuration: path to a JSON file, or the name of a profile to look up from the site | |
--finalize | boolean | Finalize the object after creation Default: true | |
--name | string | Name for the new stream object | |
--permission | string | Access permission level for the stream object Choices: owner, editable, viewable, listable, publicDefault: editable | |
--link_to_site | boolean | Automatically link the new stream to the site object after creation Default: true |
create_batch
elv-stream create_batch
Create a batch of new live stream objects.
Options
| Option | Type | Required | Description |
|---|---|---|---|
--batch_file | string | Path to .json, .yaml, or .yml file | |
--yaml_batch_file_example | boolean | Print out an example of a yaml/yml bulk file | |
--json_batch_file_example | boolean | Print out an example of a json bulk file |
config
elv-stream config <stream>
Apply user configuration based on stream info
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID). Stream must be stopped. |
init
elv-stream init <stream>
Initialize media and DRM configuration for the stream object.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--drm | boolean | Specify if playout should be DRM protected (default: false) | |
--formats | string | Specify the list of playout formats and DRM to support, comma-separated (hls-clear, hls-aes128, hls-sample-aes, hls-fairplay) |
start_recording
elv-stream start_recording <stream>
Create a new edge write token for this stream object.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--start | boolean | Optionally start the new stream (equivalent to calling 'start') | |
--show_curl | boolean | Show 'curl' commands for inspecting metadata, LRO status, etc. |
terminate
elv-stream terminate <stream>
End the current live stream for this object.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
start
elv-stream start <stream>
Start or resume current live stream if not running.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
status
elv-stream status <stream>
Status of the currently active live stream.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--show_params | bool | Show recording parameters (can be large) | |
--latency | bool | Calculate stream latency (may take a few minutes) | |
--save-meta | boolean | Save edge write token metadata to a local JSON file Default: true |
reset
elv-stream reset <stream>
Reset the currently active live stream.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
stop
elv-stream stop <stream>
Pauses the currently active live stream.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
insertion
elv-stream insertion <stream> <time> <target_hash>
Add or remove (with --remove) a content insertion in the live stream at the given time.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
time | string | ✓ | Insertion time since stream start (seconds with 6 decimals), since epoch (if 'from_now') or ISO time |
target_hash | string | ✓ | Target content object hash (playable) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--remove | bool | Flag indicating the insertion is to be deleted | |
--from_now | bool | Flag indicating insertion time is relative to 'now' | |
--duration | float | Duration of the content insertion (seconds with 6 decimal precisions) |
download
elv-stream download <stream>
Download the live stream recording and create an mp4 file.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--period | int | Download a specific recording period (instead of the last one) | |
--offset | int | Start downloading at this offset (seconds). | |
--frames | bool | Create a frame JPG for each video part | |
--mpegts | bool | Download the MPEGTS copy instead of the MP4 mezzanine |
copy_as_vod
elv-stream copy_as_vod <stream>
Copy the stream to a new VoD object.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--object | string | Copy to an existing object instead of creating a new one | |
--library | string | Copy to a new object in this library | |
--name | string | Object name (used for management) | |
--title | string | Object title (used for playout) | |
--drm | bool | Use DRM or clear (default 'true') Default: true | |
--include-tags | boolean | Copy video tags from the live stream Default: false | |
--default-dash | boolean | Add a default_dash offering for chromecasting (clear DASH) Default: false | |
--keep-existing-streams | boolean | Keep existing stream info including thumbnails Default: false | |
--event_id | string | Optional SCTE35 program or chapter event ID | |
--end_time | string | End at the specified time in the stream | |
--recording_period | int | Use only the specified recording period | |
--streams | string | List specific streams to be copied (eg. 'video:0,audio:1,audio_spa:2') |
watermark_set
elv-stream watermark_set <stream> <file>
Set watermark for this stream.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
file | string | ✓ | File containing JSON watermark spec |
watermark_remove
elv-stream watermark_remove <stream>
Remove watermark from the stream.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream name or QID (content ID) |
list
elv-stream list
List stream urls and their status.
Options
| Option | Type | Required | Description |
|---|---|---|---|
--site | string | Site ID |
switch
elv-stream switch <stream> <source>
Switch the live stream to the primary or alternate
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stream | string | ✓ | Stream content ID |
source | string | ✓ | Stream source: primary | backup |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--backup_hash | string | Object hash of the backup stream |