Bitmovin Video Encoder v1 to v2 migration guide
Breaking changes that may impact your encoding workflows
Some of the changes to our new encoder will impact your existing encoding workflows. In this section, we’ll cover those key breaking changes and show you what they entail exactly. The list below explains how these changes reflect in our API, where to find the related section in our documentation and which exact properties are concerned.
- Start Encoding (Encoding Mode): Default set to TWO_PASS This change sets the new default encoding mode to two-pass encoding from single-pass encoding as the previous default.
- API call: Start Encoding
- API property: encodingMode
- New value: TWO_PASS
- Old value: STANDARD
The following changes impact the encoder’s input resilience:
-
Add Stream (Decoding Error Mode): Default set to
DUPLICATE_FRAMES
With this setting, the encoding will not fail if a frame cannot be decoded, but instead other frames are duplicated to compensate. The encoding can continue and an error message is displayed.- API call: Add Stream
- API property:
decodingErrorMode
- New value:
DUPLICATE_FRAMES
- Old value:
FAIL_ON_ERROR
-
Start Encoding (Variable FPS):
handleVariableInputFps
set to true per default Impacts the way input streams with variable FPS are being handled. With the new default, the encoder will process files with a dynamic framerate automatically and adjust (e.g. by dropping or duplicating frames) if a constant framerate is required for the output file. For input streams with a fixed framerate, this change does not have any impact.- API call: Start Encoding
- API property:
handleVariableInputFps
- New value:
true
- Old value:
false
-
Start Encoding (Tweaks):
audioVideoSyncMode
set toRESYNC_AT_START
by default By setting the synchronization mode to “RESYNC_AT_START” the encoder re-syncs the audio and the video stream, based on the values transported in the metadata. This is useful for workflows containing previously encoded content.- API call: Start Encoding
- API property:
tweaks
->audioVideoSyncMode
- New value:
RESYNC_AT_START
- Old value:
STANDARD
Migration quick guide: how to revert back to the old defaults
If you intend to use Bitmovin Encoder in the exact way that you used to before the update, you can do so by simply changing the settings from the new default values to the old values. The table below shows you which properties you will need to change to revert back to the previous behavior.
API property | Change to value | API call in our API reference |
---|---|---|
Start Encoding > encodingMode | SINGLE_PASS | Start (encodingMode ) |
Start Encoding > trimming > ignoreDurationIfInputTooShort | FALSE | Start (ignoreDurationIfInputTooShort ) |
Start Encoding > handleVariableInputFps | FALSE | Start (handleVariableInputFps ) |
Start Encoding > tweaks > audioVideoSyncMode | STANDARD | Start (audioVideoSyncMode ) |
Add Stream > decodingErrorMode | FAIL_ON_ERROR | Add Stream |
Get Started with a Bitmovin SDK
Bitmovin API SDK | Description |
---|---|
Java | Integrate the SDK into your Java Project easily and add it to the config of your dependency manager like Maven or Gradle . Learn more |
Javascript/Typescript | Integrate the SDK into your Javascript/Typescript based project easily by adding it as a dependency via NPM . Learn more |
Python | Integrate the SDK into your Python based project easily by adding it as a dependency via pip or Setuptools . Learn more |
.NET | Integrate the SDK into your .NET based project easily by adding it as a dependency via nuget . Learn more |
PHP | Integrate the SDK into your PHP based project easily by adding it as a dependency via composer . Learn more |
Visit our Github Example Repository that provides you with examples for all Bitmovin SDK's available.
Updated over 1 year ago