Format specification

VidiEditor requires a proxy video to preview the media assets in the browser based frontend allowing work from anywhere even on lower bandwidth. The VidiEditors streaming server supports following video formats, considering usage of 16 by 9 videos as input.

Reference Documents: AFN-100, RDD-25

Container: MXF, MP4

Video Codec : H.264 Baseline Profile, Progressive scan

Video Frame Rates: 25, 30, 50, 29.97, 59.94

16:9 Video resolutions: 640x360 pixels; 960x540 pixels, 1920x1080 pixels

Audio: AAC, 48 kHz, 192 kbps with mutliple amount of audio channels

Anyway the usage of videos is not limited to 16:9 videos only. Having a system with video content having different aspect ratios such as 16:9, 9:16 or 1:1 VidiEditor allows to mix those videos on a timeline as long as they are in the same frame rate. In result it is easy to use video content from traditional linear television (Camera, SDI) mixed with videos coming for example from a mobile phone.

Hardware resources, Hardware acceleration and proxy format

Above definition allows to use different kind of proxy formats running VidiEditor in an Enterprise context. Anyway it is a trade of decision between:

  • Visual quality of used proxy format

  • Needed backend hardware

  • Used functionalities of VidiEditor

  • Possible amount of concurrent user session on that hardware

Those 3 aspects must be considered together when defining a systems proxy video format and especially its resolution and bandwidth. The streaming backend can be operated using software video encoding/decoding or using GPU based computing (Hardware Acceleration). Dedicated recommendations can be made while planning a system architecture depending on above aspects. Please contact Vidispine service for a detailed recommendation about the best fitting proxy format and the needed hardware.

Transcoder Recommendation

While the above video format specifications work in general with VidiEditor, it should be mentioned that an aligned chain between proxy generation and media streaming is recommended to get the best results and performance out of the product. This is due to the fact that the smart rendering, used for timeline playback is optimized on specific parameters of the video codec, such as the GOP structure and encoder- and decoder settings. Therefore, the VidiEditors streaming backend is optimized on 2 transcoders used:

  1. VidiCoder using a shape tag as described below

  2. Transcoder S4M using Nablet decoder settings with mp4 and mxf RDD25 files

Anyway the solution would also work on files generated with different transcoders using above format specification. It might be that performance and accuracy drop when using a different transcoder.

In case a different transcoder solution is needed in specific scenarios it can be helpful to get in contact with the VidiEditor’s product management to clarify differences on concrete examples.

Usage of Proxy Videos

The proxy video format is only used for preview in the source and timeline player components of VidiEditor to allow low bandwidth preview. When a publish action is performed, a newly created file will be transcoded based on the original shape. It is highly recommended to ensure the original and proxy shapes consist of the same frame rate to avoid frame rate conversion on publish.

Also the VidiEditor internal search filters for items having a correct shape. Only items are displayed in the search result having a shape matching the configuration of the ME_ProxyShapeTag in the me_user group key value metadata.

Configuring a shape not matching the above mentioned requirements for video files will result in the player not working in VidiEditor.

Configuring a Shape Tag

The aforementioned default shape tag to generate proxy videos is inserted during VidiEditor’s installation. It can be used to create proxy files usable by the streaming server and that therefore are suitable for preview in VidiEditor. It is defined as follows:

<TranscodePresetDocument xmlns="http://xml.vidispine.com/schema/vidispine">
    <format>mp4</format>
    <audio>
        <codec>aac</codec>
        <bitrate>192000</bitrate>
        <framerate>
            <numerator>1</numerator>
            <denominator>48000</denominator>
        </framerate>
        <channel>0</channel>
        <channel>1</channel>
        <channel>2</channel>
        <channel>3</channel>
        <channel>4</channel>
        <channel>5</channel>
        <channel>6</channel>
        <channel>7</channel>
        <stream>2</stream>
        <stream>2</stream>
        <stream>2</stream>
        <stream>2</stream>
    </audio>
    <video>
        <scaling>
            <width>640</width>
            <height>360</height>
            <targetDAR>
                <horizontal>16</horizontal>
                <vertical>9</vertical>
            </targetDAR>
        </scaling>
        <codec>h264</codec>
        <bitrate>2000000</bitrate>
        <preset>baseline</preset>
        <setting>
            <key>interlace_flag</key>
            <value>progressive</value>
        </setting>
    </video>
    <thumbnailPlugin>scenechange</thumbnailPlugin>
    <metadata/>
</TranscodePresetDocument>
CODE

Anyway it is easy to modify the technical settings as wanted using the ConfigurationPortal Global Shape Tag configuration page:

The usage of proxy formats in VidiEditor can be configured in the VidiEditor → General → Settings Page (see General Configurations [VE 22.1 OG]) allowing to set a list of supported formats to be found in VidiEditor:

Please note that the physical video files must stay above definition to be streamable. Configuring shapes into this filter that refer to files of not supported formats will result in a not working preview of inside the VidiEditor players.