Polybench® Reference
Allows to write and read video data to and from disk

Video Storage

Overview

Use this operator to store video sequences. The storage is started (and the file is created) if a START action has occued, either a general START or a start with a SyncID that corresponds to the SyncID of this operator.

Operator ports

Input video In: Specific sample type, see below.

Output review video: Video frames

Properties

Find more information about changing properties here: link

Alias (stream name)
type: See description
The short name (e.g. 'Video', max. 25 characters!) of a video file stream. Not all characters are allowed.

For more information about stream aliases, please refer to link.

AbsolutePath
type: See description
The absolute path to which the video is to be stored (press the button to open a file).

This property should contain a valid path to a file, or nothing. If only a directory is specified, an automatic name is created.
If you select a file here, then Alias will not be used, because you use either a variable stream alias, or a fixed file path.

You may use variables in the file path. For example, you could specify:
D:\Video Files\[$year$,*][$month$,*][$day$,*]_[$hour$,*][$minute$,*][$second$,*].[$alias$,*][$ext$,*]

FileNameFormat
type: See description
The format of the file name. The default is '[$year$,*][$month$,*][$day$,*]_[$hour$,*][$minute$,*][$second$,*].[$alias$,*].[$ext$,*]'.

The file name format can be a fixed file name, or a file name that includes variables in the form [$variable$,character count]:

- $variable$: this can be any global system variable (see link), or variable parameter in your program. There are also two special variables that can be used here: $ext$ to get the default file extension, and $alias$ to copy the Alias name.
- character count: a specifier that determines how many characters from the variable are used. For example, [$SomeVariable$,2] only takes the first two characters of the value of $SomeVariable$. Set to '*' to take all characters.

You cannot define a sub-folder in the name here. The folder where the file is stored is determined by the external measurement manager, or if that is not available, the storage folder will by the default Documents folder of your Windows user account. Any forbidden characters are replaced by a hyphen ('-') or an underscore ('_').
If you leave this property empty, Polybench creates a default name which is equal to [$year$,*][$month$,*][$day$,*]_[$hour$,*][$minute$,*][$second$,*].[$alias$,*].[$ext$,*].

FileType
type: Undefined
Select a file type from the list. The file type is used to save your video data to disk. File Settings will be set to their defaults.

The list shows the file types that are installed on your system. For descriptions per file type, see this: link.

Warning: if you change the file type, then if the file type has any specific settings, those settings are set to default values!

SyncID
type: See description
If you require the Storage to start or stop separately from other objects, you should refer to the Storage with a SyncID. This is a word or number you can think out yourself.

For example, if you require the Storage to start on a special command, you would issue a START action with a Value which is the SyncID of the Storage operator.
If you have specified a SyncID, and a START Action is issued with another SyncID, then recording will not start for this operator.
For more information about the behavior of the START, STOP and RESET actions in relation to the SyncID setting, please read more here: link.

Caption
type: Word or phrase
The name of the object in the project. This name must not contain '.' or '$' characters.

Every object has the Caption property. This property is very important, because it is the name by which Polybench recognizes this object.
It is allowed to give multiple objects the same name, as long as the objects are of the same type. In that case, a reference to this caption includes all the objects with the same caption.
In Polybench, every object can be addressed by an Address specifier, which starts with the dollar sign, for example: $My Page.My Object. 'My Page' would be the Caption of a page, and 'My Object' the Caption of an object on that page.

Documentation
type: See description
Optional documentation of this object.

It is good practice to write in short notes why you have used this object, and why its properties are set the way they are set. If this object is an operator, the Documentation text is displayed below the operator symbol.

Variable Parameters

Find more information about Variable Parameters here: link

ReviewFile
type: See description
Shows the caption of the file that is currently available for review at the output.


RecordingSeconds
type: See description
Shows the time in seconds the storage is recording signals


RecordingTime
type: See description
Shows the time video is being recorded, in hours, minutes and seconds


ExportFileInformation
type: Parameter list (see link)
Contains a list of read-only texts about the file that is currently being stored, such as the file path and start date and time.


ImportFileInformation
type: Parameter list (see link)
Contains a list of read-only texts about the file that is currently open for reviewers at the output of the Video Storage operator, such as the file path and start date and time.

Details

Starting behavior
If a START action is performed in a project, the Video Storage checks if it should start storing video frames. Whether the Video Storage starts, depends on its SyncID property. If the SyncID has not been set (empty setting), the Video Storage will start on any START action, also if the START action has a SyncID value set. If the Video Storage does define a SyncID, it will only start storing the video signal at its input if a START action is issued with that SyncID code in its Value (see Actions link for more details).

Stopping behavior
If a STOP action is performed in a project, the Video Storage operator checks if it should stop storing video frames that comes in at its input. Whether storing is stopped again depends on the SyncID setting, but in a different way as for starting: the Video Storage stops if no SyncID has been defined in the STOP action (a so called 'general stop'), or if the SyncID specified for the STOP action equals the SyncID value of the Storage operator. Of course, if the no video signal is offered at the input of the Video Storage anymore, storing automatically stops.