Releases: Banuba/BanubaVideoEditorSDK-iOS
1.22.1
1.21.0
1.20.1
1.20.0
1.19.1
1.19.0
Pre release 0.1.19
Pre release 0.0.19
1.0.15
Please check our GitHub sample integration with all of the following changes.
sample pod file using FaceAr:
source 'git@github.com:Banuba/specs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!
target 'Example' do
pod 'BanubaARCloudSDK', '1.0.15'
pod 'BanubaVideoEditorSDK', '1.0.15'
pod 'BanubaAudioBrowserSDK', '1.0.15'
pod 'BanubaMusicEditorSDK', '1.0.15'
pod 'BanubaOverlayEditorSDK', '1.0.15'
pod 'BanubaEffectPlayer', '1.0.11'
pod 'BanubaSDK', '1.0.15'
pod 'BanubaSDKSimple', '1.0.15'
pod 'BanubaSDKServicing', '1.0.15'
pod 'VideoEditor', '1.0.15'
pod 'lottie-ios', "3.1.8"
end
sample pod file without FaceAr:
source 'git@github.com:Banuba/specs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!
target 'Example' do
pod 'BanubaARCloudSDK', '1.0.15'
pod 'BanubaVideoEditorSDK', '1.0.15'
pod 'BanubaAudioBrowserSDK', '1.0.15'
pod 'BanubaMusicEditorSDK', '1.0.15'
pod 'BanubaOverlayEditorSDK', '1.0.15'
pod 'BanubaSDKSimple', '1.0.15'
pod 'BanubaSDKServicing', '1.0.15'
pod 'VideoEditor', '1.0.15'
pod 'lottie-ios', "3.1.8"
end
Trimmer after the camera
Trim the video that you recorded. Previously trimmer was available only for gallery videos, now also for the camera. This feature is enabled by default. To disable it change property supportsTrimRecordedVideo to false in FeatureConfiguration.
Change background with an image from gallery
To enable this feature contact sales to have it in your token. To customize gallery media picker change default effectAdditionalMediaPickerConfiguration in RecorderEffectsConfiguration.
func createVideoEditorConfig() -> VideoEditorConfig {
var config = VideoEditorConfig()
...
config
.recorderConfiguration
.recorderEffectsConfiguration
.effectAdditionalMediaPickerConfiguration
.infoLabelConfiguration.text = "My custom Info Label text"
...
return config
}
There is struct of this configuration:
public struct EffectAdditionalMediaPickerConfiguration {
/// Gallery asset item configuration
public var galleryAssetItemConfiguration: GalleryAssetItemConfiguration
/// Info label configuration
public var infoLabelConfiguration: TextConfiguration
/// Allow gallery access button configuration
public var allowGalleryAccessButtonConfiguration: BanubaButtonConfiguration
/// No media label configuration
public var noMediaLabelConfiguration: TextConfiguration
/// Open gallery button configuration
public var openGalleryButtonConfiguration: ImageButtonConfiguration
}
To customize list of gallery items use this configuration:
public struct GalleryAssetItemConfiguration {
/// Duration label configuration
public var durationConfiguration: TextConfiguration
/// Corner radius
public var cornerRadius: CGFloat
/// Selection color
public var selectionColor: UIColor
/// borderWidth: CGFloat
public var borderWidth: CGFloat
/// Normal image configuration
public var normalImage: ImageConfiguration
/// Loading remote asset activity indicator configuration
public var activityIndicatorConfiguration: SmallActivityIndicatorConfiguration
}
HEVC codec
The intermediate video will encode with HEVC (H.265) encoder if it is available on the current device. Better quality, low size, better performance.
For recorded videos using SDK camera HEVC is enabled by default. To control this behavior change useHEVCCodecIfPossible in RecorderConfiguration.
func createVideoEditorConfig() -> VideoEditorConfig {
var config = VideoEditorConfig()
...
// Default is true
config.recorderConfiguration.useHEVCCodecIfPossible = false
...
return config
}
To control using this codec for exported videos use the property useHEVCCodecIfPossible in ExportVideoConfiguration
...
let exportVideoConfigurations: [ExportVideoConfiguration] = [
ExportVideoConfiguration(
fileURL: firstFileURL,
quality: .auto,
useHEVCCodecIfPossible: true,
watermarkConfiguration: watermarkConfiguration
)
]
videoEditorSDK?.exportVideosWithCoverImage(
using: exportVideoConfigurations,
completion: { ...
Or if you are using another export method change this property in
...
func createVideoEditorConfig() -> VideoEditorConfig {
var config = VideoEditorConfig()
...
// Default is false
config.editorConfiguration.useHEVCCodecIfPossible = true
...
return config
}
...
videoEditorSDK?.exportVideoWithCoverImage(
fileURL: fileURL,
completion: { ...
Localized strings
There are few new localized fields that your should add to localized.strings files. Otherwise localized keys will be displayed.
/* The name of the button, by clicking on which you can refuse missed permission alert message */
"Settings.Close" = "Close";
/* Voice effect button title */
"MusicEditor.VoiceEffect" = "Effect";
/* Gallery custom All Photos title */
"BanubaVideoEditor.Gallery.AllPhotosTitle" = "All Photos";
/* Gallery Recent Photos title */
"BanubaVideoEditor.Gallery.RecentPhotosTitle" = "Recent";
/* Speed screen info */
"Recording speed %@" = "Recording speed %@";
/* Gallery image tab title */
"BanubaVideoEditor.Gallery.ImageTabTitle" = "Image";
/* Gallery video tab title */
"BanubaVideoEditor.Gallery.VideoTabTitle" = "Video";
/* In-camera beautification (facial correction) enabled */
"Beautifier on" = "Beautification on";
"Beautifier off" = "Beautification off";
/* Used in alert with Yes and No options when resetting slideshow. */
"Do you want to reset slideshow?" = "Do you want to reset slideshow?";
/* Speed screen info */
"Recording speed %@" = "Recording speed %@";
/* Music info alert */
"The soundtrack is alreay in use" = "The soundtrack is already in use";
// MARK: - Effect additional media picker text resource
/* No media files found in gallery for adding to the effect */
"com.banuba.videoEditor.recorder.additionalEffects.NoMediaFound" = "No media found";
/* No media files found in gallery for adding to the effect */
"com.banuba.videoEditor.recorder.additionalEffects.AllowAccess" = "Allow Access";
/* Helpers info message for changing video background */
"com.banuba.videoEditor.recorder.additionalEffects.selectMediaToChangeBackgroundMessage" = "Select media to change the background:";
/* Helpers info message for providing access to a user gallery */
"com.banuba.videoEditor.recorder.additionalEffects.allowAccesToChangeBackgroundMessage" = "Allow access to Gallery to change the background";
There is updated value for Overlay Editor:
"OverlayEditor.Do you want to reset all?" = "Discard changes?";
If you are using BanubaAudioBrowserSDK please update the following keys:
// MARK: - AudioBrowser
/* No internet connection title in alert */
"AudioBrowser.noInternetConnection" = "No internet connection";
/* Message for user if No internet connection */
"AudioBrowser.checkConnectionMessage" = "Please, check your connection and try again";
/* Retry button title */
"AudioBrowser.retry" = "Retry";
/* Allow access message */
"AudioBrowser.allowAccessMessage" = "To use your own music, allow access to Apple Music library, please.";
/* Allow button title */
"AudioBrowser.allowAccess" = "Allow Access";
/* My files button title */
"AudioBrowser.myFiles" = "My Files";