On-demand content may be added to your library through the CMS, Slicer, or Slicebot.
View Slicer / Slicebot installation instructions.
Slicebot, which is an automation tool, establishes a workflow through which content may be added to your library as it is generated.
Learn more.
On-demand content may be added to your library through either of the following methods:
Slicer Application: Drag and drop media on to the Slicer application.
VOD Uploader allows you to:
Key information:
For content uploaded from your local machine, VOD Uploader applies Slicebot configuration settings in the following order:
A Slicebot configuration file takes precedence over a VOD Uploader template or file-specific settings defined when uploading a file.
VOD Uploader automatically detects sidecar TTML files and Slicebot configuration files when uploading content by URL or folder. It checks for files that adhere to the following file naming convention:
Filename.ttml
Filename.cfg
VOD Uploader will not autodetect sidecar TTML files or Slicebot configuration files when you upload content by dragging and dropping it.
Example:
If you are uploading a media file whose filename is basketball.mp4, then VOD Uploader will automatically check for the following files:
basketball.mp4.ttml
basketball.mp4.cfg
Amazon S3 bucket: You may upload content from a:
To add content through VOD Uploader
Add the desired media from your local machine through the following steps:
Perform one of the following steps:
Optional. Define an external ID, ad breaks, metadata fields, or timed metadata for one or more file(s) in your upload queue.
Add the desired media from a public HTTP/HTTPS URL or a private S3 bucket by selecting Remote URL and then performing the following steps:
From the Remote URL option, type a URL that points to either the desired media file or a folder that contains the set of media files that will be uploaded.
Once you start a job, you may safely navigate to another page while VOD Uploader processes your content.
Apply a base set of Slicebot configuration settings to uploaded content by assigning a VOD Uploader template. A VOD Uploader template contains the following Slicebot configuration settings:
To create a VOD Uploader template
To modify a VOD Uploader template
To delete a VOD Uploader template
VOD Uploader, the Slicer, and Slicebot are compatible with standard audio/video file formats (e.g., mov, mpeg/mpg, avi, m4v, and mkv).
Do not reprocess content for the sole purpose of preparing it for slicing. Rather, let the VOD Uploader, Slicer, or Slicebot process it in its current format. Incompatible file formats will generate an error message.
Unflattened reference files are unsupported.
Recommended codecs/container:
Generate high quality output by using a high quality source. However, the source's bit rate should not exceed 25 Mbps, since this will slow down processing without a noticeable improvement in output quality.
All assets are encoded at approximately the same level of loudness. This is achieved by applying gain or attenuation to the source audio as needed.
By default, audio/video will be encoded using the HD 720p25/30 encoding profile. This encoding profile has a maximum resolution of 1280x720. Please contact your account manager if you would like to upgrade to a different encoding profile.
By default, an asset's color standard is converted to either HDR10 or SDRStandard-Dynamic-Range according to whether your encoding profile supports HDRHigh-Dynamic-Range.
Encoding Profile |
Color Standard (Source) |
Color Standard (Output) |
---|---|---|
HDR |
Hybrid Log-Gamma (HLG), HDR, or SDR |
HDR10 |
SDR |
HLG, HDR, or SDR |
SDR |
Customize color representation conversion by assigning a lookup table (LUT) to the desired color space conversion. Define this mapping through the rgb_lut setting.
Key information:
You may define multiple RGB LUTs to adjust for different input assets. The output asset's color standard (i.e., HDR10 or SDR) determines the configuration that will be used. If multiple LUTs have been defined for that color standard, then it will use the configuration that best matches the input asset's color space and range.
By default, the output asset's color space uses a narrow (i.e., limited) range (16 - 235). You may define the desired range when configuring the rgb_lut setting.
Slicer Example:
The following configuration uses a custom LUT to generate an HDR 10 asset with a full range when the input asset is HLG:
Alternatively, you may explicitly define a color space, a color primary, the transformation characteristics, and the range.
Slicer Example:
The following configuration is equivalent to the above sample configuration:
By default, your media's audio is encoded using the Advanced Audio Coding (AAC) audio codec. However, you may configure it to encode an audio track into Dolby Digital PlusDolby Digital Plus (DD+) - (aka E-AC-3 and EC-3). A digital audio compression standard. (DD+) and AAC subtracks by passing the dolby switch.
Default Channel Layout for Dolby:
If the source audio track is stereo, then the subtrack will contain 4 muted channels (i.e., C RL RR LFE). If the source audio track contains more than 6 channels, then it will be automatically downmixed to Dolby 5.1.
Use the mix and nexttrack switches to apply a custom mix to your audio subtracks. For example, if your source audio track contains 8 channels, you may use the mix switch to map the first 6 channels to 5.1 and the last two channels to stereo.
Slicer Examples:
This first example generates an audio track that contains AAC and Dolby 5.1 subtracks:
This second example generates these audio tracks:
This third example generates AAC and Dolby 5.1 subtracks for both audio tracks:
Use the following Slicer syntax to associate multiple audio tracks with a video:
Example:
A single video may be associated with up to 31 audio tracks.
VOD Uploader provides an easy way to add content to the library. An alternative method that allows more flexibility when adding content is the command line mode.
The Slicer requires authorization to add content. Authorization credentials may be specified via the -u and -apikey options or by defining the SLICER_USER and SLICER_APIKEY environment variables.
To add content through the command line
Launch the Slicer by passing your credentials and the path to the desired on-demand content.
Syntax:
The progress of this job will be reported in both the command line and the CMS.
A list of the available options is provided below.
Option | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Adds the audio from the specified file as an alternate audio track for the specified beamA single piece of content prepared for streaming. A beam is composed of one or more rays.. Syntax: -addtrack BeamIDReplace this variable with an ID that identifies the desired beam.|ext:ExternalIDReplace this variable with the external ID of the asset containing the desired audio track. TrackDescriptionReplace this variable with the description of the desired audio track.
Example: -addtrack b123|ext:me3 Event3
|
|||||||||||||
Required |
Requires Slicer version 17111500 or higher Sets the secret API key through which the Slicer authenticates to the CMS. Bypass this requirement by setting the SLICER_USER and the SLICER_APIKEY environment variables. This API key should correspond to the user defined by the -u command line parameter. Where can I find my API key(s)?
Syntax: Example: -apikey abcDEFghiJKLmnoPQRtuvWXYz123ABCdefGHIJKL
|
||||||||||||
-atrack |
Sets the source audio to the specified audio track. Syntax: Example: -atrack 3
|
||||||||||||
-atmos_pass_through |
Replaces the Dolby 5.1 subtrack with the Dolby Digital Plus Atmos track from the asset being sliced. This switch requires both a Dolby Digital Plus Atmos track in the source asset and the dolby switch. Example: -dolby -atmos_pass_through
|
||||||||||||
-audiodesc |
Defines a description for the audio track. Typically, this description indicates the track's language. This option is unnecessary when the -addtrack option has already been defined. Syntax: -audiodesc DescriptionReplace this variable with the description that will be assigned to an audio track.
Example: -audiodesc English
|
||||||||||||
-autoexpire |
Sets the asset's retention period. The asset will be automatically deleted after the specified time expires. Syntax: Example: -autoexpire 3
|
||||||||||||
Inserts an ad break for each specified time range. Key information:
Single Ad Break Syntax: -break StartTimeReplace this variable with the start time of the desired ad break.-StopTimeReplace this variable with the stop time of the desired ad break. Multiple Ad Breaks Syntax:
-break StartTime1-StopTime1,StartTime2-StopTime2,StartTimeN-StopTimeN
Multiple Ad Break Example: -break 10.1-30.58,105-151.332
|
|||||||||||||
-bug |
Overlays an image on the video at the specified start time for the given duration. Key information:
Syntax: -bug PNGFileReplace this variable with the path to the desired PNG image.=StartTimeReplace this variable with the start time, in milliseconds, of the image overlay effect.,DurationReplace this variable with the duration, in milliseconds, of the image overlay effect.
Example: -bug logo3.png=5000,20000
|
||||||||||||
Advanced Defines a description for the closed captioning channel defined by this setting's name. You may associate up to four closed captioning channels with a VOD asset. Use this option to assign a description to each of those channels (i.e., cc1_desc, cc2_desc, cc3_desc, and cc4_desc). The Slicer ignores information for a closed captioning channel that does not exist. Syntax: cc#Replace this variable with desired channel number._desc: Closed Captioning Channel Description
Example: cc1_desc: English
|
|||||||||||||
Advanced Identifies the language associated with the closed captioning channel defined by this setting's name. Specify a language by its code (e.g., en). You may associate up to four closed captioning channels with a VOD asset. Use this option to assign a language to each of those channels (i.e., cc1_lang, cc2_lang, cc3_lang, and cc4_lang). The Slicer ignores information for a closed captioning channel that does not exist. Syntax: cc#Replace this variable with desired channel number._lang: Closed Captioning Channel Language
Example: cc1_lang: en
|
|||||||||||||
DASH Only Generates unencrypted DASH slices when slicing an asset. Use this parameter when ingesting slate. We also recommend that you set the drm_mode parameter to "none" to avoid unnecessary processing. Regardless of this parameter, HLS slices are always encrypted. Example: -cleardash
|
|||||||||||||
-d |
Assigns a name to the asset generated from the source media. By default, assets are named after the source media's file name. Example: -d "Marketing Event A"
|
||||||||||||
Adds a Dolby 5.1 subtrack to the audio track. An AAC subtrack is automatically included regardless of whether this switch is passed. Example: -dolby
|
|||||||||||||
Requires Slicer version 18052400 or higher Determines the level of security that will be applied to a CMS asset generated by the Slicer. Once Studio DRM is activated on your account, Studio DRM encryption is automatically applied to all new assets. This setting does not alter this behavior. It determines whether Studio DRM will be enforced and whether playback URLs must be signed. Syntax: -drm_mode Mode
Valid values are:
Example: -drm_mode studio
|
|||||||||||||
-dvs |
Flags the current audio track as a DVS track. Example: -dvs
|
||||||||||||
-encwait |
Forces the Slicer to wait until encoding is completed before allowing it to quit. Example: -encwait
|
||||||||||||
-extid |
Assigns an external ID to the asset generated from the source media. By default, the same external ID may be assigned to multiple assets. Override this behavior by adding the "_replace:" prefix to the desired external ID. This will cause the new asset to replace existing assets with the same external ID. Example: -extid "MarketingEvent123"
Replace Assets Example: -extid "_replace:MarketingEvent123"
|
||||||||||||
-fadein |
Fades audio and/or video in from the specified start time. Key information:
Syntax: -fadein MediaTypeReplace this variable with one of the following values: audio, video, or both.=StartTimeReplace this variable with the start time, in milliseconds, of the fade effect.,DurationReplace this variable with the duration, in milliseconds, of the fade effect.
Example: -fadein audio=-5000,5000
|
||||||||||||
-fadeout |
Fades audio and/or video out from the specified start time. Key information:
Syntax: -fadeout MediaTypeReplace this variable with one of the following values: audio, video, or both.=StartTimeReplace this variable with the start time, in milliseconds, of the fade effect.,DurationReplace this variable with the duration, in milliseconds, of the fade effect.
Example: -fadeout audio=-5000,5000
|
||||||||||||
-forceAR |
Forces the output to use the specified aspect ratio (in pixels). Syntax: -forceAR Width:Height
Example: -forceAR 640:480
|
||||||||||||
-gain |
Overrides the calculated gain/attenuation with the specified value. Syntax: Example: -gain 2
|
||||||||||||
-idpath |
Writes the asset's GUID to the specified path. Example: -idpath /Users/joe/library/latest.txt
|
||||||||||||
-lang |
Sets the audio track's language using the codes defined in RFC 5646. Syntax: -lang LanguageCode
Example: -lang en-US
|
||||||||||||
-layout |
Sets the audio layout for downmixed audio channels. Valid values are:
Example: -layout dolby
|
||||||||||||
-libraries |
Adds an asset to one or more shared libraries. Key information:
Add to Library by Name Syntax:
-libraries LibraryName
Add to Library by GUID Syntax:
-libraries LibraryGUID
Add to Multiple Libraries Syntax:
-libraries Library1Replace this variable with either the library's name or GUID.,Library2Replace this variable with either the library's name or GUID.,LibraryNReplace this variable with either the library's name or GUID.
Add to Library by Name Example: -libraries Marketing
|
||||||||||||
-meta |
Adds metadata to the asset. Key information:
Syntax: -meta FieldReplace this variable with the name of the desired metadata field.=ValueReplace this variable with the value that will be assigned to the specified metadata field.
Example: -meta Description="Marketing Video"
|
||||||||||||
-meta.file |
Adds the metadata fields defined in a JSON file to the asset. Syntax: Example: -meta.file MarketingFields.json
|
||||||||||||
-meta.int |
Adds metadata containing an integer value to the asset. Key information:
Syntax: -meta.int FieldReplace this variable with the name of the desired metadata field.=IntegerReplace this variable with an integer value that will be assigned to the specified metadata field.
Example: -meta.int Rating=9
|
||||||||||||
Requires Slicer version 20061701 or higher Customizes how an audio subtrack is mixed. Assign a channel layout and mix each channel by assigning a source track, a source channel, and its level. This switch is incompatible with the mixatracks switch. Do not pass both of these switches. Key information:
Syntax: -mix 'Audio CodecReplace this variable with the desired audio codec (i.e., aac or dolby).=Channel LayoutReplace this variable with the desired channel layout (e.g., mono, stereo, and 5.1).|ChannelReplace this variable with the channel being configured. Valid values are: X, L, R, C, RL, RR, and LFE.=Source TrackReplace this variable with a 0-based audio track number.:Source ChannelOptional. Replace this variable with the desired channel. Valid values are: L, R, C, RL, RR, and LFE.@LevelOptional. Replace this variable with the level at which the source track or the source track's channel will be mixed. ,Channel=Source Track:Source Channel@Level,...
AAC Example: Mixes the AAC subtrack to stereo where Left is set to 100% of track 0 of channel 0, while Right is set to 100% of channel 1 of track 0: -mix 'aac=stereo|L=0:0,R=0:1'
Dolby Example: Mixes the Dolby 5.1 subtrack to 5.1 where all of the channels, except for Center, are mapped to channels within track 0. It also sets Center to 50% of channel 0 of track 2 and 65% of channel 3 of track 2: -mix 'dolby=5.1|L=0:0,R=0:1,C=2:0@500&2:3@650,LFE=0:3,RL=0:4,RR=0:5'
|
|||||||||||||
Mixes multiple audio tracks together into a single track. This switch is incompatible with the mix switch. Do not pass both of these switches. A sample use case is when the source audio has separate left and right audio tracks instead of a single stereo audio track. Key information:
Syntax: -mixatracks TrackReplace this variable with a 0-based audio track number.=ChannelReplace this variable with the desired channel. Valid values are: L,R,C,RL,RR,SL,SR,and LFE.,Track=Channel,...
Example: -mixatracks 0=L,1=R
|
|||||||||||||
Closes the mix definition for the current audio track. Upon passing this switch, you may mix the subtracks for the next audio track. Example: Mixes 2 subtracks for the current audio track and 1 subtrack for the next audio track: -mix 'aac=stereo|0=L,1=R' -mix 'dolby=5.1|0=L,1=R,2=C,3=RR,4=RL,5=LFE' -nexttrack -mix 'dolby=stereo|0=L,1=R'
|
|||||||||||||
-nielsen |
Enables scanning for Nielsen audio watermarks. Syntax: -nielsen 1
Example: -nielsen 1
|
||||||||||||
-nielsen_ad_mode |
Sets the Nielsen Breakout Code. Syntax: Example: -nielsen_ad_mode 03
|
||||||||||||
DASH Only Outputs a fragmented TTML. This option requires the -ttml option. Additionally, you must set show_dash_subtitles=imsc within the playback URL's query string. |
|||||||||||||
Deprecated |
This option and the SLICER_PASS environment variable have been deprecated and should not be used. Please use the apikey option or the SLICER_APIKEY environment variable instead. Defines the password that corresponds to the user defined by the -u command line option. Example: -p 1@D208PneG63f
|
||||||||||||
-poster |
Generates a poster image from the video frame corresponding to the specified time. This parameter is ignored when poster_file has been defined. Syntax: -poster TimeReplace this variable with the time, in milliseconds, corresponding to the desired video frame.
Example: -poster 5000
|
||||||||||||
-poster_file |
Sets the asset's poster image to the specified file. Syntax: Example: -poster_file Welcome.png
|
||||||||||||
-poster_size |
Sets the size of the poster image. Key information:
Syntax: -poster_size WidthReplace this variable with the width, in pixels, for the poster effect.xHeightReplace this variable with the height, in pixels, for the poster effect.
Example: -poster_size 256x256
|
||||||||||||
-progressformat |
Determines how progress will be displayed. This option affects the line indicated in blue font below. Output format: Analyzing file for audio loudness... Messages (e.g., warning messages) Gain is GainRepresents a decimal value that indicates the gain or attenuation level.. Slicing progress status. Slicing done Valid values are:
Example: -progressformat 0
|
||||||||||||
Requires Slicer version 19022000 or higher Converts each specified CEA-608/708A CEA-708 channel includes CEA-608 captions for the purpose of backwards-compatibility. Enabling this option will only convert those CEA-608 captions to WebVTT when a CEA-708 channel is present. channel to WebVTT (Web Video Text Tracks). Example: -render_608 cc1,cc2,cc3,cc4
|
|||||||||||||
-render_608_buffer |
Requires Slicer version 19022000 or higher Determines the maximum buffer duration, in seconds, for rending captions to video. Raw video frames will be buffered for the specified duration and therefore is memory intensive. Although memory usage will vary according to resolution and frames per seconds, we strongly discourage a buffer size greater than 5 seconds. This buffer is only relevant for pop-on captions. Roll-up and paint-on captions are rendered immediately and therefore do not require a buffer. Syntax: -render_608_buffer Seconds
Example: -render_608_buffer 2
|
||||||||||||
Requires DASH and Slicer version 20062300 or higher Convert one or more DVB teletext pages to fragmented TTML (IMSC1) for DASH playback. Use this parameter to assign a language track to the audio stream identified by a packet identifier (PID). Use a comma to delimit multiple configurations. This option requires that you set show_dash_subtitles=imsc within the playback URL's query string. Syntax: -render_dvb_ttml PID 1Replace this term with the packet identifier for the audio track from which DVB teletext will be processed.:Language 1Replace this term with the name of the language corresponding to the audio track identified by a PID.,PID 2:Language 2,PID n:Language n
Example: Converts English DVB teletext from PID 385, Italian DVB teletext from PID 483, and Russian DVB teletext from PID 299: -render_dvb_ttml 385:eng,483:it,299:ru
|
|||||||||||||
Requires Slicer version 20092800 or higher Customize color representation conversion by assigning a lookup table (LUT) to the desired color space conversion. Syntax (Simple): -rgb_lut Color StandardIdentifies the input asset's color standard. Valid values are: hlg | hdr10 | sdr.,RangeIdentifies the input asset's range. Valid values are: full | narrow. Support for full range varies by LUT. Color StandardIdentifies the output asset's color standard. Valid values are: hdr10 | sdr.,RangeIdentifies the output asset's range. Valid values are: full | narrow. /Absolute Path/Cube File Name
Syntax (Extended): -rgb_lut colorspace:Color SpaceIdentifies the input asset's color space (e.g., bt2020nc).,primaries:RGB PrimariesIdentifies the input asset's RGB primaries via a color space (e.g., bt2020).,trc:Transformation CharacteristicsIdentifies the input asset's transformation characteristics (aka lineralization function) (e.g., arib-std-b67).,range:RangeIdentifies whether the input asset's range is full (i.e., pc) or narrow (i.e., tv) range. Valid values are: tv | pc. Support for full range varies by LUT. colorspace:Color SpaceIdentifies the output asset's color space (e.g., bt2020nc).,primaries:RGB PrimariesIdentifies the output asset's RGB primaries via a color space (e.g., bt2020).,trc:Transformation CharacteristicsIdentifies the output asset's transformation characteristics (aka lineralization function) (e.g., arib-std-b67).,range:RangeIdentifies whether the output asset's range is full (i.e., pc) or narrow (i.e., tv) range. Valid values are: tv | pc. /Absolute Path/Cube File Name
View sample extended syntax.
The extended syntax for hlg is: colorspace:bt2020nc,primaries:bt2020,trc:arib-std-b67,range:tv
The extended syntax for hdr10 is: colorspace:bt2020nc,primaries:bt2020,trc:smpte2084
The extended syntax for sdr is: colorspace:bt709,primaries:bt709,trc:bt709
Example: -rgb_lut hlg hdr10 /path/mylut.cube
|
|||||||||||||
Defines the location to a Scenarist Closed Captions (SCC) file that contains closed captioning information. Key information:
Example: -scc /Users/joe/resources/cc/video.mp4.scc
|
|||||||||||||
-skipDRM Deprecated |
This parameter has been deprecated in favor of the drm_mode parameter. Playback does not require a signed playback URL. This configuration is useful for ads that require playback independent from a playback session. Example: -skipDRM
|
||||||||||||
-thumbnail |
Adds a thumbnail. Key information:
Syntax: -thumbnail PrefixReplace this variable with the prefix that will be assigned to the thumbnails generated by this option.=WidthReplace this variable with the desired thumbnail width in pixels.xHeightReplace this variable with the desired thumbnail height in pixels.
Example: -thumbnail large=320x240
|
||||||||||||
-timedmeta |
Adds timed metadata at the specified time. Syntax: -timedmeta TimeReplace this variable with the time, in milliseconds, at which the metadata will be inserted. :FieldReplace this variable with the name of the desired metadata field.=ValueReplace this variable with the value that will be assigned to the specified metadata field.
Example: -timedmeta 0:TIT2=MyTitle
|
||||||||||||
Trims the content from the source media that occurs prior to the specified start time. Optionally, duration may be specified to trim content that exceeds the specified time period. Specify StartTime and Duration in milliseconds. The source media's file type may affect video frame accuracy by a few milliseconds. Trim Content Prior to Start Time Syntax: Trim Content by Start Time and Duration Syntax: -trim StartTimeReplace this variable with the time at which the asset will start.,DurationReplace this variable with the maximum duration of the asset. The sample configuration, shown to the right, will exclude the first 3 seconds of the source media and truncate it so that the asset's total duration is 52.5 seconds. Trim Content by Start Time and Duration Example: -trim 3000,52500
|
|||||||||||||
Defines the location to a TTML file that contains closed captioning information. The Slicer will generate CEA-608 and WebVTT from this TTML file. Closed captioning information for multiple languages may be associated with your VOD content by adding an instance of this option for each desired language. Only TTML files that specify time using the hh:mm:ss.sss format are supported. Syntax: -ttml /Path/File Name:Language Code
Language Code is optional and it overrides the language specified by xml:lang within that TTML file. Replace this variable with the ISO 639-1 code (e.g., es for Spanish) for the desired language. Single TTML Example: -ttml /Users/joe/resources/cc/video.mp4.ttml
Multiple TTMLs with Language Overrides Example: -ttml /Users/joe/resources/cc/video.mp4.ttml:en -ttml /Users/joe/resources/cc/video-spanish.mp4.ttml:es
|
|||||||||||||
Required |
Defines the user name corresponding to the account to which the asset will be uploaded. Bypass this requirement by setting the SLICER_USER and the SLICER_APIKEY environment variables. Example: -u joe@example.com
|
||||||||||||
Requires Slicer version 21070801 or higher By default, our service passes through the source video feed. Pass this option to upscale the source video feed to the highest quality rayA stream with a specific quality configuration based on set bit rate and resolution targets. Each ray is divided into slices. in your encoding profile. Your content's frame rate is independent of resolution. Therefore, upscaling your video feed will not affect its frame rate. Ads are always upscaled regardless of this option. Example: -upscale
|
|||||||||||||
-vtrack |
Sets the source video to the specified video track. Syntax: Example: -vtrack 3
|