Released on Aug 13, 2026

<aside> 💡 All migrations to 1.54.x releases you can find in the main sample on GitHub

</aside>

List of changes

New feature - Video Crop

The video crop feature provides a powerful tool for users to precisely frame their content by selecting any specific area within the video. It allows for the removal of unwanted peripheral elements, focusing the viewer's attention on the primary subject of the scene. For added convenience, the SDK supports a variety of predefined aspect ratios, including popular formats like 9:16, 1:1, and 3:4. These presets ensure that content is perfectly optimized for different platforms, such as vertical stories, square posts, or cinematic displays.

VE_Crop_296x640_.gif

Support cover selection time code

We now save the exact time code of your selected frame on Cover screen.

Migration Guide

<aside> ❗ Please check out Pull Request with migration changes.

</aside>

Upgrade SDK version

def banubaSdkVersion = '1.54.0'

implementation "com.banuba.sdk:ffmpeg:5.3.0"
implementation "com.banuba.sdk:camera-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:camera-ui-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:core-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:core-ui-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:ve-flow-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:ve-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:ve-ui-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:ve-gallery-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:ve-effects-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:effect-player-adapter:${banubaSdkVersion}"
implementation "com.banuba.sdk:ar-cloud:${banubaSdkVersion}"
implementation "com.banuba.sdk:ve-audio-browser-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:ve-export-sdk:${banubaSdkVersion}"
implementation "com.banuba.sdk:ve-playback-sdk:${banubaSdkVersion}"

// Remove this dependency if you only use Video Editor SDK
def banubaPESdkVersion = '1.4.2'
implementation("com.banuba.sdk:pe-sdk:${banubaPESdkVersion}")

Obtain cover selection time code

// result is com.banuba.sdk.export.data.ExportResult.Success
val analytics = result.additionalExportData
		.getBundle(ExportBundleProvider.Keys.EXTRA_EXPORT_OUTPUT_INFO)
		?.getString(ExportBundleProvider.Keys.EXTRA_EXPORT_ANALYTICS_DATA)

val coverTimestampMs = analytics?.let {
		JSONObject(it).optLong(ExportBundleProvider.Keys.EXTRA_EXPORT_COVER_TIMESTAMP)
}

New property cover_timestamp_ms is added to exported_meta.txt file.

{
  "aspect_ratio": "original",
  "video_resolutions": [
    "1080x1920"
  ],
  "camera_effects": [],
  "ppt_effects": {
    "visual": 0,
    "speed": 0,
    "mask": 0,
    "color": 0,
    "text": 0,
    "sticker": 0,
    "blur": 0,
    "draw": 0,
    "transition": 0,
    "lower_third": 0,
    "audio": []
  },
  "sources": {
    "camera": 0,
    "gallery": 1,
    "pip": 0,
    "slideshow": 0,
    "audio": 0
  },
  "export_duration": 4.17,
  "video_duration": 14.934,
  "video_count": 1,
  **"cover_timestamp_ms": 5032**
}