All Products
Search
Document Center

ApsaraVideo VOD:Release notes

Last Updated:Jan 12, 2026

V7.10.0

Feature updates

Fixed some known issues.

V7.9.1

Feature updates

Fixed some known issues.

V7.8.0

Feature updates

Fixed some known issues.

V7.7.0

Feature updates

Fixed some known issues.

V7.6.0

Feature updates

Fixed some known issues.

V7.5.0

Feature updates

Fixed some known issues.

V7.4.0

Feature updates

Fixed some known issues.

V7.3.0

Feature updates

Fixed some known issues.

V7.2.0

Feature updates

Fixed some known issues.

V7.1.0

Feature updates

Fixed some known issues.

V7.0.0

Feature updates

  • The integration package is now unified and is no longer separated into Basic, Standard, and Professional editions. You can enable different features using a license.

  • Fixed some known issues.

V6.15.0

Feature updates

  • The SDK is now compatible with iOS 18.

  • Fixed some known issues.

V6.7.0

Feature updates

Fixed some 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 some known issues.

V3.35.0

Feature updates

Fixed some known issues.

V3.34.1

Feature updates

Fixed some known issues.

V3.34.0

Feature updates

  • Added the option to set the audio sampling rate and number of channels when exporting videos from the editor.

  • Fixed some known issues.

V3.33.0

Feature updates

  • Optimized the custom rendering feature in the editor.

  • Fixed some known issues.

V3.32.0

Feature updates

  • Added support for Bitcode.

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

  • Added support for uploading videos during production.

  • Fixed some known issues.

V3.31.0

Feature updates

  • Added the border radius feature for caption backgrounds.

  • Added the image feature in 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

  • Optimized the license connection type.

  • Optimized crop performance.

  • Fixed some 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

Feature updates

Fixed some known issues.

V3.27.0

Feature updates

  • Added support for echo cancellation, denoising, background music, and audio mixing for multi-source recording.

  • Added LUT filter effects.

  • Fixed some known issues.

V3.26.0

Feature updates

  • Improved the stability of the SDK.

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

V3.25.1

Feature updates

  • Optimized memory usage for captions.

  • Fixed a screen corruption issue that occurred when cropping HDR videos edited with the native iPhone editor.

  • Fixed a display issue with exported videos that were recorded in landscape mode.

  • Fixed some known issues.

V3.25.0

Feature updates

  • Added a Picture-in-Picture (PiP) feature. You can add PiP effects on the editing interface.

  • Added a caption animation feature. You can add animations to captions and animated text.

  • Added support for custom thumbnails in the draft box.

  • Fixed some known issues.

V3.24.0

Feature updates

  • Optimized the SDK by removing FFmpeg softcoding.

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

  • Fixed some known issues.

V3.23.0

Feature updates

  • Added a draft box feature that supports exporting drafts.

  • Added features for captions, such as background color and alignment.

  • Added an echo cancellation feature for duet recording.

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

  • Added six split-screen filter effects to the demo.

  • Added support for automatically deleting temporary video files after recording.

  • Added support for editing and cropping HDR videos.

V3.22.0

Feature updates

  • Added an animated text feature to the editor.

  • Added a duet recording feature for multiple recording sources.

  • Added a partial screen capture feature.

  • Added a built-in time variable (BUILTIN_PROGRESS) to the custom effect Shader class.

  • Improved SDK stability and fixed related issues in some scenarios.

API changes

  • New API:

    (AliyunStickerManager *)getStickerManager;

  • Deprecated APIs:

    • (AliyunPasterManager *)getPasterManager;

    • (id<AliyunIPasterRender>)getPasterRender;

V3.21.0

Feature updates

  • The duet recording feature now supports adjusting view layers and setting border effects.

  • Added support for importing and editing mirrored videos.

  • Optimized memory usage during soft compilation.

  • Fixed SDK stability issues.

V3.20.0

Feature updates

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

  • Added a composite caption feature to the editing module.

  • Added basic editing capabilities to the editing module.

  • Added the ability to retrieve video thumbnails at specific timestamps.

  • Fixed an issue where the frame rate setting was not applied when exporting videos from the editor.

  • Fixed SDK stability issues.

V3.19.0

Feature updates

  • Added an audio denoising feature to the editing module.

  • Added duet recording and video stitching features. You can set background images and colors.

  • Added duet recording and video merging features that support merging audio tracks.

  • Added an echo cancellation capability to duet recording.

  • Fixed an issue where the color of transparent halo images changed when they were added as watermarks or pictures.

  • Fixed an issue where the rotation angle was incorrect when adding static images.

API changes

Deprecated API

AliyunCamera & AliyunIRecorder: @property(nonatomic, assign) BOOL useAudioSessionModeVideoRecording;

V3.18.1

Feature updates

Fixed a hard-coded memory issue on some iOS device models.

V3.18.0

Feature updates

Added a feature to select the audio track for duet recordings (original audio, recorded audio, or mute).

V3.17.1

Feature updates

  • Added support for zooming with the front-facing camera.

  • Fixed a crash issue caused by OpenGL after video production on some device models.

V3.17.0

Feature updates

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

  • Fixed a green screen issue that occurred when importing videos shot with the native camera on iPhone 12 into the crop and edit modules.

V3.16.2

Feature updates

Resolved an issue with Gaussian blur backgrounds.

V3.16.1

Feature Updates

Fixed an issue that prevented video production when the recording length exceeded the video duration.

V3.16.0

Feature updates

  • Restored mainstream animation features.

  • Fixed occasional crash issues.

  • Fixed potential playback stuttering issues for long videos.

  • Fixed a watermark orientation issue in landscape recording.

V3.15.0

Feature updates

  • Fixed a playback stuttering issue for produced videos.

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

  • Added two sets of transitions and filter effects based on the custom effect production specifications.

API changes

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

  • Added support for custom filters and transition effects. For more information about custom effect production specifications, see the official documentation.

V3.14.0

Feature updates

  • Optimized the crop module to prevent color aliasing after repeated cropping.

  • Optimized the recording implementation to improve stability in abnormal situations, such as when the app runs in the background or hardware resources are occupied.

  • Fixed several known memory leaks and optimized performance.

Bug fixes

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

  • Fixed an issue caused by audio resources being occupied during recording.

  • Fixed an issue where the background color setting in the editor was not applied.

  • Fixed an issue in the iOS editor where the playback screen was partially magnified after the view was changed.

  • Fixed some memory leaks and other known issues.

API changes

The AliyunVideoSDKPro.framework (dynamic library) is split into AliyunVideoSDKPro.framework (static library) and AliyunVideoCore.framework (dynamic library). This change affects you if you integrate the SDK manually.

For more information, see Integrate the SDK.

V3.13.0

Feature updates

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

  • The recording module now supports RACE-based retouching and shaping features.

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

API changes

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

V3.12.0

Feature updates

  • Added a log analysis feature. You can use the [AliyunVideoSDKInfo setDebugLogLevel:] API to enable or disable log analysis. Three levels are available:

    AlivcDebugLogClose: Disables the log analysis feature.
    AlivcDebugLogNormal: Analyzes logs at the WARNING and ERROR levels. We recommend that you use this level for log analysis.
    AlivcDebugLogAll: Analyzes all logs. We recommend that you enable this level only when you troubleshoot complex issues. Do not use this level in the official release. This feature analyzes only SDK logs.                       
  • Improved the performance of the editing module.

Troubleshooting

Fixed an issue where a thread in the recording module failed to exit.

API changes

Deprecated the applyRunningDisplayMode API and removed the feature for dynamically switching the content mode in the editing module.

V3.11.0

Feature updates

  • Improved the speed of starting and stopping segment recording, along with recording and composition, for a smoother segmented recording experience.

  • Optimized the granularity and accuracy of the recording progress callback.

  • Enabled precise GOP control to improve transcoding speed in some scenarios.

  • Reduced the time required to switch cameras.

Bug fixes

  • Fixed an issue where the number of GIF frames was parsed incorrectly.

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

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

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

API changes

  • Unified all external error codes into AliyunVideoCoreError.

  • New method: NSString* AlivcErrorMessage(int code). This method retrieves the error description.

V3.10.5

Feature updates

  • Added a duet recording feature (AliyunMixRecorder).

  • Added multi-track video stitching, which enables effects such as Picture-in-Picture (PiP) and side-by-side split screen (AliyunMixComposer).

V3.10.0

Feature updates

  • Added 'monster' and 'minion' sound effects.

  • Added support for the MJPEG video format.

  • Improved playback compatibility for certain corrupted video files.

  • Added a draw method to support the forced rendering of a single frame.

Bug Fixes

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

  • Fixed an issue where the watermark disappeared when the app was moved to the background during recording.

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

  • Fixed a potential crash that occurred when the app was moved to the background during video production and export in the editor.

V3.9.0

Feature updates

  • Added a sound effect API that provides four effects: lively female voice, deep male voice, reverb, and echo.

  • Improved the seek performance of the editing module.

  • Improved SDK stability.

V3.8.0

Feature updates

  • Improved recording stability.

  • Improved the accuracy of crop time selection.

  • Optimized editing and playback for a smooth, stutter-free experience.

  • Optimized the speed of editing and composition.

  • Fixed some bugs.

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

  • To improve stability monitoring and support future data requirements, the short video SDK now requires a dependency library. If you integrate the SDK manually, add AlivcConan.framework. If you use CocoaPods, run `pod 'AlivcConan', '0.9.0'`. For more information, see the demo.

V3.7.7

Feature updates

  • Improved the stability of the SDK.

  • Improved the definition of cropped and produced videos.

V3.7.5

Feature updates

  • Fixed a bug that caused an abnormal display during the reverse playback of HEVC videos generated on iOS 12.

  • Fixed a bug that could cause a crash when using a third-party rendering API in the editor.

  • Improved playback smoothness for time effects.

  • Enhanced compatibility for importing GIF images.

  • Added support for importing videos with odd resolutions.

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

  • Improved stability.

V3.7.0

Feature updates

  • Added a transition feature that includes popular effects such as fade-in/fade-out, polygon transitions, and blinds.

  • Added a special effects API that includes basic animations (rotate, pan, scale, transparency) and custom animation effects (linear wipe).

  • Added a feature to apply a Gaussian blur effect to a specified stream for a specified time period.

  • Added a feature to apply a display mode (fill or crop) to a specified stream for a specified time period.

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

  • Added support for applying multiple speed adjustment time effects to multi-segment videos. The repeat and reverse effects are still only supported for single-segment videos.

API changes

  • After the editing preview finishes, you must call the `replay` API. Previously, the `play` API was called.

  • Added the `prepare` API to the editor for preloading data. Call this API after `startEdit`.

  • Changed the reference coordinates for watermark position and size to the output resolution coordinates.

  • When you apply a transition effect, you must first call `stopEdit`, then 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

This version is now compatible with Xcode 10.x.

V3.6.5.3

Feature updates

  • Fixed an issue that caused an occasional crash when the screen locked while an MV was being added during a recording.

  • Fixed an issue that caused inaccurate timing when special effect filters were added during reverse playback.

  • Fixed an issue that caused the color gamut to be displayed incorrectly for some videos.

  • Added support for the AAC-SBR audio format.

V3.6.5

Feature updates

  • Fixed a bug causing occasional crashes during export.

  • Improved reverse video playback smoothness.

V3.6.0

Feature updates

Package Size and FAQs

Package name

Package size (MB)

AliyunVideoSDKPro.framework 3.5.0 release

4.9 MB

AliyunVideoSDKPro.framework 3.5.0 debug

10.1 MB

AliyunVideoSDKPro.framework 3.6.0 release

7.6 M

AliyunVideoSDKPro.framework 3.6.0 debug

15.7 M

QuCore-ThirdParty.framework 3.5.0 release

9.3 M

QuCore-ThirdParty.framework 3.5.0 debug

23.1 M

QuCore-ThirdParty.framework 3.6.0 release

10.2 M

QuCore-ThirdParty.framework 3.6.0 debug

23.2 MB

Note

You must replace both AliyunVideoSDKPro.framework and QuCore-ThirdParty.framework. Otherwise, exceptions such as a composition crash may occur.

API changes

  • Watermark API

    The `-(void)setWaterMark: frame` API is deprecated. Use `-(void)setWaterMark`. Example:

    NSStringwatermarkPath = [[NSBundle mainBundle] pathForResource:@”watermark” ofType:@”png”];
    AliyunEffectImage effectImage = [[AliyunEffectImage alloc] init];
    effectImage.frame = CGRectMake(10, 10, 28, 20);
    effectImage.path = watermarkPath;
    [self.editor setWaterMark:effectImag];
  • Video end interface

    Version 3.6 supports previewing the ending slate. To do this, call the `-(void)setTailWaterMark` method. Example:

    NSStringtailWatermarkPath = [[NSBundle mainBundle] pathForResource:@”tail” ofType:@”png”];
    AliyunEffectImagetailWatermark = [[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];
  • Add music API

    • Version 3.6 supports multi-channel audio stream mixing. To add only one audio track, call the `remove` API. Example:

      AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path];
      [self.editor removeMusics];// Call this if you need only one audio track.
      [self.editor applyMusic:music];
    • When adding music, you must first call `-(void)removeMVMusic`. For example, to add music from a file path: `AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path]`.

      [self.editor removeMVMusic];
      [self.editor removeMusics];
      [self.editor applyMusic:music];
    • Version 3.6 supports selecting a time range within the music file for playback. Example:

      AliyunEffectMusicmusic = [[AliyunEffectMusic alloc] initWithFile:path];
      music.startTime = startTime; // The start time of the music itself.
      music.duration = duration; // The playback duration of the music itself.
      music.streamStartTime = streamStart[_player getStreamDuration]; // The start time of the music on the playback timeline.
      music.streamDuration = streamDuration * [_player getStreamDuration]; // The playback duration of the music on the playback timeline.
  • New time effect display.

    • The demo includes the `-(void)addTimelineTimeFilterItem` API. For a code example, see the demo.

    • Interaction between time effects and special effect filters

      When you add a special effect filter during full-length speed adjustment or reverse playback, you must verify that the time range is displayed correctly. The related code in version 3.6 is located in the following three functions:

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

      You can reference the code in these three functions directly:

      AliyunEffectFilter *animationFilter = [[AliyunEffectFilter alloc] initWithFile:[animtinoFilterInfo localFilterResourcePath]];
      float currentSec = [self.player getCurrentTime];
      float currentStreamSec = [self.player getCurrentStreamTime];
      animationFilter.startTime = currentSec;
      animationFilter.endTime = [self.player getDuration];
      animationFilter.streamStartTime = currentStreamSec;  // New property. Set streamStartTime if a time effect is applied.
      animationFilter.streamEndTime = [self.player getStreamDuration];// New property. Set this if a time effect is applied.
      [self.editor applyAnimationFilter:animationFilter];

      For backward compatibility, if no time effect is applied, you can still set `startTime` and `endTime` directly without setting `streamStartTime` and `streamEndTime`.

  • New time effect API

    Integration with version 3.5 does not cause compatibility issues. For a code example, see the version 3.6 demo. Example:

    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];
  • Playback status and API call adjustments (for example, app and page switching)

    Version 3.6 handles app and page switching internally, which is a change from version 3.5. The details are as follows:

    • The `-(void)setActive` method is deprecated.

    • Handling of `viewWillAppear` and `viewWillDisappear`: When `viewWillDisappear` is called, you do not need to call `stopEdit` to destroy the entire AliyunEdit object. Call `stop` to stop playback. Similarly, when `viewWillAppear` is called, call `play` to resume playback.

    • Handling app switching between the background and foreground:

      When the app is sent to the background, the SDK stops playback or export. When the app returns to the foreground, playback resumes by default (or remains paused).

      Error handling:

      In version 3.6, if an error occurs during playback or export, the process stops. The error is returned through `playError` or `exportError`. You can handle the error as needed.

  • AliyunImporter class API adjustments. The following three APIs are deprecated. For backward compatibility, calling them does not cause issues for now.

    • (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 APIs work by creating an AliyunClip object.

Note

Due to time effects, you need to distinguish between several basic concepts for the player:

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

    (double)getDuration

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

    (double)getCurrentTime

  • /* Gets the original video stream duration in seconds. @return Total duration */

    (double)getStreamDuration

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

    (double)getCurrentStreamTime

Examples

  • For example, consider a 15-second video with 2x fast-forward applied to its entire length. The video plays at twice the normal speed. In this case, `getDuration` is 7.5 s. If `getCurrentTime` is 3.5 s, `getStreamDuration` is 15 s, and `getCurrentStreamTime` is 7 s.

  • As another example, consider a 15-second video with 2x slow-motion applied to its entire length. In this case, `getDuration` is 30 s. If `getCurrentTime` is 10 s, `getStreamDuration` is 15 s, and `getCurrentStreamTime` is 5 s.

  • As another example, consider a 15-second video with reverse playback applied to its entire length. In this case, `getDuration` is 15 s. If `getCurrentTime` is 6 s, `getStreamDuration` is 15 s, and `getCurrentStreamTime` is 9 s.

The preceding examples apply to effects on the entire video. For partial effects, such as partial speed adjustment and repeat, the values are calculated based on the same rules.

Others

Release notes

  • New APIs for the time effect feature

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

    • (int)removeTimeFilter。

  • The AliyunImporter class APIs 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 APIs work by creating an AliyunClip object.

  • Playback status and API call adjustments: Version 3.6 handles app and page switching internally, which is a change from version 3.5. The details are as follows:

    The `(void)setActive` method is deprecated.

    Handling of `viewWillAppear` and `viewWillDisappear`: When `viewWillDisappear` is called, you do not need to call `stopEdit` to destroy the entire AliyunEdit object. Call `stop` to stop playback. Similarly, when `viewWillAppear` is called, call `play` to resume playback.

    Handling of app switching between background and foreground: When the app is sent to the background, the SDK stops playback or export. When the app returns to the foreground, playback resumes by default (or remains paused).

    Error handling: In version 3.6, if an error occurs during playback or export, the process stops. The error is returned through `playError` or `exportError`. You can handle the error as needed.

  • New player APIs

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

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

  • Watermarks

    • Deprecated API: (void)setWaterMark: frame.

    • New API: (void)setWaterMark:(AliyunEffect*)waterMark.

    • The ending slate watermark supports preview. You must call the `-(void)setTailWaterMark` API.

  • Music API

    • Supports multi-channel audio streams and selecting a time range within the audio for playback. To add only one audio track, you can call the `remove` API. Example:

      AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path];
      [self.editor removeMusics];// Call this if you need only one audio track. 
      [self.editor applyMusic:music];
    • Supports selecting a time range within the music file for playback. Example:

      AliyunEffectMusicmusic = [[AliyunEffectMusic alloc] initWithFile:path];
      music.startTime = startTime; // The start time of the music itself.
      music.duration = duration; // The playback duration of the music itself.
      music.streamStartTime = streamStart[_player getStreamDuration]; // The start time of the music on the playback timeline.
      music.streamDuration = streamDuration * [_player getStreamDuration]; // The playback duration of the music on the playback timeline.