1. FFMPEG Producer

1.1. Supported Media

The ffmpeg producer supports all files that the “ffmpeg” library (www.ffmpeg.org) can play.

1.2. Filters

The ffmpeg producer supports “libavfilter” filters through the “FILTER” parameter.

1.3. Diagnostics

ffmpeg[filename | video-mode | file-frame-number / file-nb-frames]

Graph Description Scale
frame-time Time spent decoding the current frame. fps/2
buffer-count Number of input packets buffered. 100
buffer-size Size of buffered input packets. 64MB
underflow Frame was not ready in time and is skipped. N/A
seek Input has seeked. N/A

1.4. Parameters

1.4.1. LOOP

Sets whether file will loop.

Syntax:

{LOOP}

Example:

<< PLAY 1-1 MOVIE LOOP

1.4.2. SEEK

Sets the start of the file. This point will be used while looping.

Syntax:

SEEK [frames:int]

Example:

<< PLAY 1-1 MOVIE SEEK 100 LOOP

1.4.3. START (CasparCG 2.1)

Sets the start of the file. This point will be used while looping.

Syntax:

START [frames:int]

Example:

<< PLAY 1-1 MOVIE START 100 LOOP

1.4.4. LENGTH

Sets the end of the file.

Syntax:

LENGTH [frames:int]

Example:

<< PLAY 1-1 MOVIE LENGTH 100

1.4.5. FILTER

Configures libavfilter which will be used.

Syntax:

FILTER [libavfilter-parameters:string]

Example:

<< PLAY 1-1 MOVIE FILTER hflip:yadif=0:0

1.5. Functions

1.5.1. LOOP

Sets whether file will loop.

Syntax:

LOOP [loop:0|1]

Returns

The value of LOOP after the command have completed.

Example:

<< CALL 1-1 LOOP 1
<< CALL 1-1 LOOP   // Queries without changing.
>> 1

1.5.2. SEEK

Seeks in the file.

Syntax:

SEEK [frames:int]

Returns

Nothing.

Example:

<< CALL 1-1 SEEK 200

1.5.3. START (CasparCG 2.1)

Sets the start of the file. This point will be used while looping.

Syntax:

START [frames:int]

Example:

<< CALL 1-1 START 100

1.5.4. LENGTH (CasparCG 2.1)

Sets the end of the file.

Syntax:

LENGTH [frames:int]

Example:

<< CALL 1-1 LENGTH 100P