All Products
Search
Document Center

ApsaraVideo VOD:Release notes

Last Updated:Apr 10, 2026

V7.11.0

Feature updates

Fixed several known issues.

V7.10.0

Feature updates

Fixed several known issues.

V7.9.1

Feature updates

Fixed several known issues.

V7.8.0

Feature updates

Fixed several known issues.

V7.7.0

Feature updates

Fixed several known issues.

V7.6.0

Feature updates

Fixed several known issues.

V7.5.0

Feature updates

Fixed several known issues.

V7.4.0

Feature updates

Fixed several known issues.

V7.3.0

Feature updates

Fixed several known issues.

V7.2.0

Feature updates

Fixed several known issues.

V7.1.0

Feature updates

Fixed several known issues.

V7.0.0

Feature updates

  • The sdk package is now unified, replacing the separate packages for the basic, standard, and professional editions. Features are enabled based on your license.

  • Fixed several known issues.

V6.15.0

Feature updates

  • Added support for iOS 18.

  • Fixed several known issues.

V6.7.0

Feature updates

Fixed several known issues.

V6.0.0

Feature updates

  • The version number is changed to match the version number of ApsaraVideo MediaBox SDK.

  • Specific known issues are fixed.

V3.36.0

Feature updates

Fixed several known issues.

V3.35.0

Feature updates

Fixed several known issues.

V3.34.1

Feature updates

Fixed several known issues.

V3.34.0

Feature updates

  • You can now configure the audio sampling rate and the number of channels during video export.

  • Fixed several known issues.

V3.33.0

Feature updates

  • Optimized the custom rendering feature in the editor.

  • Fixed several known issues.

V3.32.0

Feature updates

  • Added support for Bitcode.

  • Added support for real-time composition for duet recording.

  • Added support for upload during composition when exporting videos.

  • Fixed several known issues.

V3.31.0

Feature updates

  • Added a border radius feature for caption backgrounds.

  • Added an image feature to the edit mode.

  • Optimized the license verification logic.

  • Optimized the log persistence feature for more accurate troubleshooting during integration.

  • Fixed some known issues.

V3.30.0

Feature updates

  • Improved the license integration method.

  • Improved cropping performance.

  • Fixed several known issues.

V3.29.0

Feature updates

  • The cropping feature is optimized.

  • The license service is updated. You can view your license information.

  • Specific known issues are fixed.

V3.28.0

Bug fixes

Fixed several known issues.

V3.27.0

Feature updates

  • Added support for echo cancellation, noise reduction, and mixing of background music and recorded audio during multi-source recording.

  • Added the Lookup Table (LUT) filter effect.

  • Fixed several known issues.

V3.26.0

Feature updates

  • Improved SDK stability.

  • Fixed an issue where certain audio formats were not supported.

V3.25.1

Feature updates

  • Optimized memory usage for subtitles.

  • Fixed an issue that caused corrupted frames when cropping an HDR video that was previously edited with the iPhone's built-in editor.

  • Fixed a display issue that occurred after exporting a video recorded in landscape mode.

  • Fixed several known issues.

V3.25.0

Feature updates

  • Added a picture-in-picture (PiP) feature to the editor.

  • Added a subtitle animation feature for subtitles and word art.

  • You can now add custom thumbnails in the draft box.

  • Fixed several known issues.

V3.24.0

Feature updates

  • Optimized the SDK by removing FFmpeg-based software encoding.

  • Fixed an issue where the background color setting did not take effect during cropping and editing.

  • Fixed several known issues.

V3.23.0

Feature updates

  • Added a draft box feature for exporting drafts.

  • Added background color and alignment options for subtitles.

  • Added echo cancellation for duet recording.

  • Replaced the retouching module in the demo with the Queen SDK.

  • Added six split screen filter effects to the demo.

  • The SDK now automatically deletes temporary video files after recording.

  • Added support for HDR video editing and cropping.

V3.22.0

Feature updates

  • Added a word art feature to the editor.

  • Added a duet recording feature that supports multiple recording sources.

  • Added a partial screen capture feature.

  • Added the BUILTIN_PROGRESS built-in time variable to the custom effects shader class.

  • Improved SDK stability.

API changes

  • Added API:

    (AliyunStickerManager *)getStickerManager;

  • Deprecated APIs:

    • (AliyunPasterManager *)getPasterManager;

    • (id<AliyunIPasterRender>)getPasterRender;

V3.21.0

Feature updates

  • Added support for adjusting view hierarchy and configuring border effects for duet recording.

  • Added support for importing and editing mirrored videos.

  • Optimized memory usage during software encoding.

  • Fixed SDK stability issues.

V3.20.0

Feature updates

  • Added audio fade-in and fade-out effects to the editing module.

  • Added a subtitle combination feature to the editing module.

  • Added basic editing capabilities to the editing module.

  • Added the ability to retrieve a video thumbnail from a specific timestamp.

  • Fixed an issue where the frame rate setting for exported videos did not take effect in the editing module.

  • Fixed SDK stability issues.

V3.19.0

Feature updates

  • Added an audio noise reduction feature to the editing module.

  • Added duet recording and video merging features, with support for setting a background image and background color.

  • Added audio track merging for duet recording and video merging.

  • Added echo cancellation for duet recording.

  • Fixed an issue where the color of some transparent halo images changed after being applied as a watermark or image overlay.

  • Fixed an issue where the rotation angle of added static images was incorrect.

API changes

Deprecated API

Deprecated the useAudioSessionModeVideoRecording property in AliyunCamera & AliyunIRecorder.

V3.18.1

Bug fixes

Fixed a memory issue related to hardware encoding on some iOS models.

V3.18.0

Feature updates

Added the ability to specify the audio track for duet recording (options: original video audio, recorded audio, or mute).

V3.17.1

Feature updates

  • Added support for image scaling on the front-facing camera.

  • Fixed an OpenGL-related crash that occurred after video composition on some device models.

V3.17.0

Feature updates

  • Optimized the "lively female voice" effect and added new dialect voice effects.

  • Fixed an issue that caused a green screen in the cropping and editing module when importing videos from the iPhone 12's built-in camera.

V3.16.2

Bug fixes

Fixed an issue with Gaussian blur backgrounds.

V3.16.1

Bug fixes

Fixed an issue where composition failed if the recording duration was longer than the video duration.

V3.16.0

Feature updates

  • Restored mainstream animation features.

  • Fixed an occasional crash issue reported by users.

  • Fixed a potential playback stuttering issue with long videos.

  • Fixed a watermark orientation issue in landscape mode recording.

V3.15.0

Feature updates

  • Fixed a playback stuttering issue in composed videos.

  • Fixed an issue where speed ramping failed for multi-segment videos.

  • Added two new sets of transitions and filter effects based on the new custom effects specification.

API changes

  • Added an API to adjust custom effect parameters in real time.

  • Added support for custom filters and transition effects. For specifications on creating custom effects, see the official documentation.

V3.14.0

Improvements

  • Optimized the cropping module to prevent color distortion after repeated cropping.

  • Improved recording stability under exceptional conditions, such as when the app enters the background or during high hardware resource usage.

  • Fixed several known memory leaks and optimized performance.

Bug fixes

  • Fixed an occasional freeze that occurred when the app was sent to the background during recording.

  • Fixed an issue where an exception occurred if audio resources were occupied during recording.

  • Fixed an issue where background color settings in the editor did not take effect.

  • Fixed an issue on iOS where the video playback appeared partially zoomed after the view was changed in the editor.

  • Fixed several memory leaks and other known issues.

API changes

The AliyunVideoSDKPro.framework (dynamic framework) is now split into the AliyunVideoSDKPro.framework (static framework) and the AliyunVideoCore.framework (dynamic framework). This change affects manual SDK integrations.

For more information, see Integrate the short video SDK for iOS.

V3.13.0

Feature updates

  • Comprehensively optimized the stability and performance of the recording module.

  • Added RACE-based retouching and face shaping features to the recording module.

  • Improved the playback smoothness of H.265 videos in the editing module.

API changes

Deprecated the MV APIs in the recording module and removed the feature for adding MVs.

V3.12.0

Feature updates

  • Added a log analysis feature and the [AliyunVideoSDKInfo setDebugLogLevel:] API, which allows you to enable or disable log analysis. Three levels are available:

    AlivcDebugLogClose: Disables log analysis.
    AlivcDebugLogNormal: Analyzes logs at the WARNING and ERROR levels. This is the recommended level for log analysis.
    AlivcDebugLogAll: Analyzes all logs. This level is intended only for troubleshooting complex issues and is not recommended for production releases. This feature analyzes only SDK logs.
  • Improved the performance of the editing module.

Bug fixes

Fixed an issue in the recording module where a thread did not exit correctly.

API changes

Deprecated the applyRunningDisplayMode API in the editing module, removing the feature to dynamically switch content modes.

V3.11.0

Improvements

  • Improved the start/stop and composition speed for clip recording, resulting in smoother segmented recording.

  • Optimized the granularity and precision of recording progress callbacks.

  • Enabled precise control over the group of pictures (GOP) to improve transcoding speed in certain scenarios.

  • Reduced the time required to switch cameras.

Bug fixes

  • Fixed an issue where the frame count of GIF images was parsed incorrectly.

  • Fixed a stuttering issue that occurred at the beginning of reverse playback for specific videos.

  • Fixed an issue where the duration of recorded videos was inaccurate.

  • Fixed an audio-video synchronization issue in the output of multi-segment recordings.

API changes

  • Standardized all external error codes into AliyunVideoCoreError.

  • Added the NSString* AlivcErrorMessage(int code) method to retrieve error descriptions.

V3.10.5

Feature updates

  • Added the duet recording feature (AliyunMixRecorder).

  • Added multi-track video merging (AliyunMixComposer) for creating effects like picture-in-picture (PiP) and split screen.

V3.10.0

Feature updates

  • Added "sinister" and "minion" voice effects to the editor.

  • Added support for the MJPEG video format in the editor.

  • Improved playback compatibility with partially corrupted video files.

  • Added the draw method to the editor for forcibly drawing a frame.

Bug fixes

  • Fixed an issue where the duration of short recorded video clips was inaccurate.

  • Fixed an issue where a watermark added during recording disappeared after the app was sent to the background.

  • Fixed a stuttering issue that occurred when switching between front and rear cameras during recording.

  • Fixed a potential crash that could occur if the app was sent to the background during composition and export from the editor.

V3.9.0

Feature updates

  • Added a new voice effects API, providing four effects: "lively female voice", "husky male voice", "reverberation", and "echo".

  • Improved seek performance in the editing module.

  • Improved SDK stability.

V3.8.0

Feature updates

  • Improved recording stability.

  • Improved the accuracy of time selection during cropping.

  • Optimized the editing playback capability for smooth, stutter-free playback.

  • Optimized the composition speed in the editor.

  • Fixed several bugs.

  • Added support for resuming composition after the app returns from the background.

  • To ensure SDK stability monitoring and support future data-related requirements, the short video SDK now requires the AlivcConan.framework dependency. For manual integration, you must add this framework. For CocoaPods integration, add pod 'AlivcConan', '0.9.0' to your Podfile. For more information, see the demo.

V3.7.7

Improvements

  • Improved SDK stability.

  • Improved the clarity of cropped and composed videos.

V3.7.5

Feature updates

  • Fixed a bug that caused display artifacts during reverse playback of HEVC videos generated by iOS 12.

  • Fixed a potential crash when using a third-party rendering API during editing.

  • Improved playback smoothness for time effects.

  • Enhanced compatibility for importing GIF images.

  • Supports importing videos with odd resolutions.

  • Optimized audio-video synchronization for multi-segment recording.

  • Improved stability.

V3.7.0

Feature updates

  • Added transition effects, including mainstream effects like fade-in and fade-out, polygon, and blinds.

  • Added an animations API, which includes basic animations (rotation, translation, scaling, alpha) and custom animation effects (linear wipe).

  • Added the ability to apply a Gaussian blur effect to a specified stream during a specified time period.

  • Added the ability to set the display mode (padding or cropping) for a specified stream during a specified time period.

  • Added a dubbing API that supports multi-segment dubbing and speed ramping.

  • Added support for applying multiple speed ramping time effects to a multi-segment video. The repetition and reverse effects are still only supported for single-segment videos.

API changes

  • After an editor preview finishes, you must now call the replay API instead of the play API to replay the preview.

  • Added the prepare API to the editor for preloading data. This API should be called after startEdit.

  • The reference coordinate system for the position and size of watermarks has been changed to the output resolution coordinates.

  • To apply a transition effect, you must now call stopEdit, apply the transition, and then call startEdit.

  • Removed the delegate property from AliyunPasterController.

  • Removed the destroyAllEffect API from AliyunEditor.

  • Renamed QuCore-ThirdParty.framework to alivcffmpeg.framework.

V3.6.5.5

Feature updates

Added compatibility with Xcode 10.x.

V3.6.5.3

Bug fixes

  • Fixed an occasional crash caused by locking the screen while adding an MV during recording.

  • Fixed an issue where the timing of filter effects was inaccurate during reverse playback.

  • Fixed an issue where the color gamut of some videos was displayed incorrectly.

  • Added support for audio in AAC SBR format.

V3.6.5

Feature updates

  • Fixed an occasional crash that occurred during export.

  • Improved the smoothness of reverse video playback.

V3.6.0

Feature updates

Package size and general information

Package name

Package size (MB)

AliyunVideoSDKPro.framework 3.5.0 release

4.9

AliyunVideoSDKPro.framework 3.5.0 debug

10.1

AliyunVideoSDKPro.framework 3.6.0 release

7.6

AliyunVideoSDKPro.framework 3.6.0 debug

15.7

QuCore-ThirdParty.framework 3.5.0 release

9.3

QuCore-ThirdParty.framework 3.5.0 debug

23.1

QuCore-ThirdParty.framework 3.6.0 release

10.2

QuCore-ThirdParty.framework 3.6.0 debug

23.2

Note

You must replace both AliyunVideoSDKPro.framework and QuCore-ThirdParty.framework. Otherwise, issues such as crashes during composition may occur.

API changes

  • Watermark API

    Deprecated -(void)setWaterMark: frame. Use -(void)setWaterMark:(AliyunEffectImage *)effectImage instead. Example:

    NSString *watermarkPath = [[NSBundle mainBundle] pathForResource:@"watermark" ofType:@"png"];
    AliyunEffectImage *effectImage = [[AliyunEffectImage alloc] init];
    effectImage.frame = CGRectMake(10, 10, 28, 20);
    effectImage.path = watermarkPath;
    [self.editor setWaterMark:effectImage];
  • Outro API

    Version 3.6 adds support for previewing outro watermarks. To enable this, you must call -(void)setTailWaterMark. Example:

    NSString *tailWatermarkPath = [[NSBundle mainBundle] pathForResource:@"tail" ofType:@"png"];
    AliyunEffectImage *tailWatermark = [[AliyunEffectImage alloc] initWithFile:tailWatermarkPath];
    tailWatermark.frame = CGRectMake(CGRectGetMidX(self.movieView.bounds) - 84 / 2, CGRectGetMidY(self.movieView.bounds) - 60 / 2, 84, 60);
    tailWatermark.endTime = 2;
    [self.editor setTailWaterMark:tailWatermark];
  • Music API

    • Version 3.6 supports mixing multiple audio streams. If you need to add only one audio stream, call the removeMusics API first. Example:

      AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path];
      [self.editor removeMusics]; // Call this if you only need one audio track.
      [self.editor applyMusic:music];
    • When adding music, you must also call -(void)removeMVMusic. Example:

      [self.editor removeMVMusic];
      [self.editor removeMusics];
      [self.editor applyMusic:music];
    • Version 3.6 supports playing a specific time range of a music file. Example:

      AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path];
      music.startTime = startTime; // Start time within the source music file.
      music.duration = duration; // Playback duration from the source music file.
      music.streamStartTime = streamStart; // Start time on the main playback timeline.
      music.streamDuration = streamDuration; // Playback duration on the main playback timeline.
  • Time effects display

    • See the -(void)addTimelineTimeFilterItem API in the demo for a code example.

    • Interaction between time effects and other special effect filters

      When adding a filter to a video that has a time effect applied (such as speed ramping or reverse), ensure the display time is set correctly. The relevant code is in the following three methods in the v3.6 demo:

      (void)didBeganLongPressEffectFilter:(AliyunEffectFilterInfo *)animationFilterInfo;
      (void)didTouchingProgress;
      (void)didEndLongPress;

      You can refer to this code directly:

      AliyunEffectFilter *animationFilter = [[AliyunEffectFilter alloc] initWithFile:[animationFilterInfo localFilterResourcePath]];
      float currentSec = [self.player getCurrentTime];
      float currentStreamSec = [self.player getCurrentStreamTime];
      animationFilter.startTime = currentSec;
      animationFilter.endTime = [self.player getDuration];
      animationFilter.streamStartTime = currentStreamSec;  // New property. Must be set if time effects are used.
      animationFilter.streamEndTime = [self.player getStreamDuration]; // New property. Must be set if time effects are used.
      [self.editor applyAnimationFilter:animationFilter];

      For backward compatibility, if no time effects are applied, you can continue to set only startTime and endTime without setting streamStartTime and streamEndTime.

  • New time effect APIs

    No compatibility issues will arise when upgrading from version 3.5. For code examples, see the version 3.6 demo:

    AliyunEffectTimeFilter *timeFilter = [[AliyunEffectTimeFilter alloc] init];
    timeFilter.startTime = [_player getCurrentStreamTime];
    timeFilter.endTime = timeFilter.startTime + 1;
    timeFilter.type = TimeFilterTypeSpeed;
    timeFilter.param = 0.5;
    [self.editor applyTimeFilter:timeFilter];
  • Adjustments to playback state and API calls (for background/foreground and page switching)

    Version 3.6 now internally handles background/foreground and page switching:

    • The -(void)setActive method is deprecated.

    • Handling of viewWillAppear and viewWillDisappear: In viewWillDisappear, you no longer need to call stopEdit to destroy the entire AliyunEdit instance. You only need to call stop to stop playback. Similarly, in viewWillAppear, you only need to call play to resume playback.

    • Handling of background/foreground switching: When the app enters the background, the SDK stops playback or export. When the app returns to the foreground, it automatically resumes playback (or remains paused).

      Error handling: In version 3.6, if an error occurs during playback or export, the process stops, and the error is returned through the playError or exportError callback.

      Error handling:

      In version 3.6, an error during playback or export stops the operation and returns an error through playError or exportError. You can then handle the error as needed.

  • The following three APIs in the AliyunImporter class are deprecated. They are kept for backward compatibility and will not cause issues if called.

    • (void)addVideoWithPath:(NSString *)videoPath animDuration:(CGFloat)animDuration;

    • (void)addVideoWithPath:(NSString *)videoPath startTime:(CGFloat)startTime duration:(CGFloat)duration animDuration:(CGFloat)animDuration;

    • (NSString *)addImage:(UIImage *)image duration:(CGFloat)duration animDuration:(CGFloat)animDuration;

    The new approach is to construct an AliyunClip object.

Note

Due to the addition of time effects, it is important to understand the following concepts related to the player:

  • /** Gets the total playback duration, in seconds. @return Total duration */

    (double)getDuration

  • /** Gets the current playback time, in seconds. */

    (double)getCurrentTime

  • /* Gets the duration of the original video stream, in seconds. @return The total duration. */

    (double)getStreamDuration

  • /** Gets the current playback time of the original video stream, in seconds. */

    (double)getCurrentStreamTime

Examples

  • For a 15-second video played at 2x speed: getDuration() returns 7.5 seconds. When getCurrentTime() is 3.5 seconds, getStreamDuration() is 15 seconds, and getCurrentStreamTime() is 7 seconds.

  • For a 15-second video played at 0.5x speed: getDuration() returns 30 seconds. When getCurrentTime() is 10 seconds, getStreamDuration() is 15 seconds, and getCurrentStreamTime() is 5 seconds.

  • For a 15-second video played in reverse: getDuration() returns 15 seconds. When getCurrentTime() is 6 seconds, getStreamDuration() is 15 seconds, and getCurrentStreamTime() is 9 seconds.

The same calculation rules apply when time effects (such as variable speed or repetition) are applied to only a portion of the video.

Other

Release notes

  • New time effect APIs

    • (int)applyTimeFilter:(AliyunEffectTimeFilter *)filter;

    • (int)removeTimeFilter;

  • APIs in the AliyunImporter class are adjusted. The following three APIs are deprecated:

    • (void)addVideoWithPath:(NSString *)videoPath animDuration:(CGFloat)animDuration;

    • (void)addVideoWithPath:(NSString *)videoPath startTime:(CGFloat)startTime duration:(CGFloat)duration animDuration:(CGFloat)animDuration;

    • (NSString *)addImage:(UIImage *)image duration:(CGFloat)duration animDuration:(CGFloat)animDuration

      The new approach is to construct an AliyunClip object.

  • Adjustments to playback state and API calls: Version 3.6 internally handles background/foreground and page switching.

    The (void)setActive method is deprecated.

    Handling of viewWillAppear and viewWillDisappear: When viewWillDisappear occurs, you no longer need to call stopEdit to destroy the entire AliyunEdit instance. You only need to call stop to stop playback. Similarly, in viewWillAppear, you only need to call play to resume playback.

    Handling of background/foreground switching: When the app enters the background, the SDK stops playback or export. When the app returns to the foreground, it automatically resumes playback (or remains paused).

    Error handling: In version 3.6, if an error occurs during playback or export, the process stops, and the error is returned through the playError or exportError callback.

  • New player APIs

    • (double)getStreamDuration; // Gets the original video stream duration, in seconds.

    • (double)getCurrentStreamTime; // Gets the current playback time of the original video stream, in seconds.

  • Watermarks

    • Deprecated the -(void)setWaterMark: frame API.

    • Use -(void)setWaterMark:(AliyunEffectImage *)effectImage instead.

    • Outro watermarks can now be previewed by calling the -(void)setTailWaterMark API.

  • Music API

    • Added support for multiple audio streams and playing specific time ranges of an audio file. If you need to add only one audio stream, call the removeMusics API first. Example:

      AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path];
      [self.editor removeMusics]; // Call this if you only need one audio track. 
      [self.editor applyMusic:music];
    • Added support for playing a specific time range of a music file. Example:

      AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path];
      music.startTime = startTime; // Start time within the source music file.
      music.duration = duration; // Playback duration from the source music file.
      music.streamStartTime = streamStart; // Start time on the main playback timeline.
      music.streamDuration = streamDuration; // Playback duration on the main playback timeline.