How to set up fallback methods for proxy generation at ingest

Updated on December 8th, 2022

This article describes the settings required for configuring fallback methods for generating Curator proxies at ingest.

This article is correct for Curator 3.5.

Device Director Configuration

This article assumes the existence of a third party transcoder configured in Device Director. This transcoder must have a profile that allows it to accept jobs with the following input and output:

  • Input: a path to a source file
  • Output: a path to a destination file

MediaStore Configuration

You must be using PROXY-V3 in order to use the generic transcoder workflow. Within the MediaStore for PROXY-V3, the default method (or methods) for proxy generation is stored in the property MediaProxyStores. Where there is more than one method, the order in which proxy generation processes will be attempted is provided as a comma-separated list of the MediaStores controlling each of the designated methods. An example of the MediaStore configuration is shown below, using a new PROXY-GENERIC MediaStore:

  • MediaProxyStores = PROXY-HLS-V3,PROXY-AME-V3,PROXY-GENERIC
    • This would use the new PROXY-GENERIC as a fallback after standard XCode HLS and AME have failed.
  • MediaProxyStores = PROXY-GENERIC,PROXY-HLS-V3,PROXY-AME-V3
    • This would use the new PROXY-GENERIC as a first choice.
  • MediaProxyStores = PROXY-HLS-V3,PROXY-GENERIC
    • This would use PROXY-GENERIC as a fallback instead of AME.
  • MediaProxyStores = PROXY-HLS-V3,PROXY-VANTAGE-V3*
    • This would use PROXY-VANTAGE-V3 as a fallback instead of instead of another engine.

Note: * Available with Core Workflows from Arrival 3.5 onwards, or may on request be added to an Arrival 3.4 deployment.

Using Vantage to generate a proxy

Telestream Vantage can be used in order to generate a proxy. In order to install the Vantage proxy process, you will need the Vantage Module (introduced in Curator 3.5). This module includes a default configuration, PROXY-VANTAGE-V3, for making a proxy using Vantage and MUD (this still needs a correct Vantage Workflow installed on the Vantage system).

Using configuration in a PROXY-VANTAGE-V3 MediaStore, a Vantage Job is initiated via Device Director. This job uses a Vantage workflow to generate an RDD25 proxy file. Once the RDD25 proxy is created, Xfer MUD will read it and create an IPV-HLS proxy.

A partner suitably trained in creating Vantage workflows is required in order to establish the Vantage workflow that can be identified in the property Vantage Workflow of the IPV MediaStore that controls the call to Vantage (here PROXY-VANTAGE-V3), so that Vantage will be instructed to start its appropriate proxy generation workflow.

Using FFmpeg to generate a proxy

Additionally, FFmpeg can also be used as an option. FFmpeg must be downloaded and installed independently on each Xfer server that is in the device group that is used in the PROXY-FFMPEG-V3 MediaStore. Then an Xfer FFmpeg profile needs to be added to Device Director (see below). Following successful download and installation of FFmpeg, the following can be used:

  • MediaProxyStores = PROXY-HLS-V3,PROXY-FFMPEG-V3*
    • This would use PROXY-FFMPEG-V3 as a fallback instead of another engine.

In order to use FFmpeg, you will need to create the Xfer FFmpeg device. Xfer XEcute can be used to run an installed FFmpeg in order to generate a proxy.

An example profile using FFmpeg 4.3.1-win64-static would be as follows:

Profile parameter Value
Name FFmpeg
Executable f:\Programs\ffmpeg-4.3.1-win64-static\bin\ffmpeg.exe
Arguments -hide_banner -loglevel error -nostdin -y -i "{input}" -vcodec libx264 -profile:v baseline -b:v 3M -g 14 -x264opts cabac=0:ref=4 -pix_fmt:v yuv420p -acodec aac -vf scale=w=960:h=540:force_original_aspect_ratio=decrease:force_divisible_by=2 -map 0 "{output}"
Regex (Empty)
Redirect Error Stream (Unticked)

Here, the following parameters are used:

  • -hide_banner -loglevel error -nostdin -y 

    • These stop unwanted output and input requests

  • -i "{input}" 

    • The input will be placed at the start of the pipeline

  • -vcodec libx264 -profile:v baseline -b:v 3M -g 14 -x264opts cabac=0:ref=4 -pix_fmt:v yuv420p 

    • Video codec options: Requesting the x264 codec, with baseline profile, 3Mbps, 14 gop size, no cabac, yuv420p pixel format.

  • -acodec aac 

    • Audio codec options: AAC audio

  • -vf scale=w=960:h=540:force_original_aspect_ratio=decrease:force_divisible_by=2 

    • Scales the output to 960x540 (maximum) keeping ratio.

  • -map 0 

    • Maps all audio channels

  • "{output}"

    • Output to the output file

General Transcoder Requirements

The transcoder must produce an mp4 file which is understandable by Xfer MUD. Specifically, it should:

  • Maintain audio channel count
  • Have an even number of video output lines
  • Maintain the original display aspect ratio
  • Use h264 video encoding
  • Use aac audio encoding


Was this article helpful?