MeiCam SDK For iOS  3.10.0
NvsTimeline.h
Go to the documentation of this file.
1 //================================================================================
2 //
3 // (c) Copyright China Digital Video (Beijing) Limited, 2016. All rights reserved.
4 //
5 // This code and information is provided "as is" without warranty of any kind,
6 // either expressed or implied, including but not limited to the implied
7 // warranties of merchantability and/or fitness for a particular purpose.
8 //
9 //--------------------------------------------------------------------------------
10 // Birth Date: Dec 29. 2016
11 // Author: NewAuto video team
12 //================================================================================
13 #pragma once
14 
15 #import "NvsCommonDef.h"
16 #import "NvsObject.h"
17 #import "NvsLiveWindow.h"
18 #import "NvsCustomVideoFx.h"
21 
22 @class NvsVideoTrack;
23 @class NvsAudioTrack;
24 @class NvsTimelineCaption;
26 @class NvsTimelineVideoFx;
27 @class NvsClip;
28 @class NvsCaption;
29 
36 typedef enum {
42 
44 
45  @property (nonatomic, assign) int64_t startTime;
46  @property (nonatomic, assign) int64_t endTime;
47  @property (nonatomic, assign) float playbackRate;
48  @property (nonatomic, assign) float audioGain;
49 
50 @end
51 
53 
54 @property (nonatomic, strong) NvsCaption* caption;
55 @property (nonatomic, strong) NSArray<NSValue*>* values; // CGPoint
56 
57 @end
58 
60 
61 @property (nonatomic, strong) NvsClip* clip;
62 @property (nonatomic, strong) NSArray<NSValue*>* values; // CGPoint
63 
64 @end
65 
66 
67 
85 
86 @property (readonly) NvsVideoResolution videoRes;
87 
88 @property (readonly) NvsAudioResolution audioRes;
89 
90 @property (readonly) NvsRational videoFps;
91 
92 @property (readonly) int64_t duration;
93 
94 @property (nonatomic) int64_t audioFadeOutDuration;
95 
104 -(int)getCreationFlags;
105 
119 - (NvsVideoTrack *)appendVideoTrack;
120 
134 - (NvsAudioTrack *)appendAudioTrack;
135 
151 - (NvsVideoTrack *)insertVideoTrack:(unsigned int)clipIndex;
152 
168 - (NvsAudioTrack *)insertAudioTrack:(unsigned int)clipIndex;
169 
185 - (BOOL)removeVideoTrack:(unsigned int)trackIndex;
186 
202 - (BOOL)removeAudioTrack:(unsigned int)trackIndex;
203 
214 - (unsigned int)videoTrackCount;
215 
226 - (unsigned int)audioTrackCount;
227 
241 - (NvsVideoTrack *)getVideoTrackByIndex:(unsigned int)trackIndex;
242 
256 - (NvsAudioTrack *)getAudioTrackByIndex:(unsigned int)trackIndex;
257 
275 - (BOOL)changeVideoSize:(int)videoWidth videoHeight:(int)videoHeight;
276 
288 - (BOOL)changeVideoBitDepth:(NvsVideoResolutionBitDepth)newBitDepth;
289 
290 
300 - (void)setCaptionBoundingRectInActualMode:(BOOL)isActualBoundingRect;
301 
317 - (void)enableRenderOrderByZValue:(BOOL)enable;
318 
328 - (BOOL)isRenderOrderByZValueEnabled;
329 
340 - (NvsTimelineCaption *)getFirstCaption;
341 
352 - (NvsTimelineCaption *)getLastCaption;
353 
365 - (NvsTimelineCaption *)getPrevCaption:(NvsTimelineCaption *)caption;
366 
378 - (NvsTimelineCaption *)getNextCaption:(NvsTimelineCaption *)caption;
379 
397 - (NSArray *)getCaptionsByTimelinePosition:(int64_t)timelinePos;
398 
422 - (NvsTimelineCaption *)addCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration captionStylePackageId:(NSString *)captionStylePackageId;
423 
448 - (NvsTimelineCaption *)addPanoramicCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration captionStylePackageId:(NSString *)captionStylePackageId;
449 
471 - (NvsTimelineCaption *)addModularCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration;
472 
484 - (NvsTimelineCaption *)removeCaption:(NvsTimelineCaption *)caption;
485 
497 - (NvsTimelineCompoundCaption *)getFirstCompoundCaption;
498 
510 - (NvsTimelineCompoundCaption *)getLastCompoundCaption;
511 
524 - (NvsTimelineCompoundCaption *)getPrevCompoundCaption:(NvsTimelineCompoundCaption *)caption;
525 
538 - (NvsTimelineCompoundCaption *)getNextCompoundCaption:(NvsTimelineCompoundCaption *)caption;
539 
558 - (NSArray<NvsTimelineCompoundCaption*> *)getCompoundCaptionsByTimelinePosition:(int64_t)timelinePos;
559 
584 - (NvsTimelineCompoundCaption *)addCompoundCaption:(int64_t)inPoint
585  duration:(int64_t)duration
586  compoundCaptionPackageId:(NSString *)compoundCaptionPackageId;
587 
611 - (NvsTimelineCompoundCaption *)addPanoramicCompoundCaption:(int64_t)inPoint
612  duration:(int64_t)duration
613  compoundCaptionPackageId:(NSString *)compoundCaptionPackageId;
614 
627 - (NvsTimelineCompoundCaption *)removeCompoundCaption:(NvsTimelineCompoundCaption *)caption;
628 
639 - (NvsTimelineAnimatedSticker *)getFirstAnimatedSticker;
640 
650 - (NvsTimelineAnimatedSticker *)getLastAnimatedSticker;
651 
663 - (NvsTimelineAnimatedSticker *)getPrevAnimatedSticker:(NvsTimelineAnimatedSticker *)animatedSticker;
664 
676 - (NvsTimelineAnimatedSticker *)getNextAnimatedSticker:(NvsTimelineAnimatedSticker *)animatedSticker;
677 
695 - (NSArray *)getAnimatedStickersByTimelinePosition:(int64_t)timelinePos;
696 
722 - (NvsTimelineAnimatedSticker *)addAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration animatedStickerPackageId:(NSString *)animatedStickerPackageId;
723 
750 - (NvsTimelineAnimatedSticker *)addPanoramicAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration animatedStickerPackageId:(NSString *)animatedStickerPackageId;
751 
781 - (NvsTimelineAnimatedSticker *)addCustomAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration animatedStickerPackageId:(NSString *)animatedStickerPackageId customImagePath:(NSString *)customImagePath;
782 
813 - (NvsTimelineAnimatedSticker *)addCustomPanoramicAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration animatedStickerPackageId:(NSString *)animatedStickerPackageId customImagePath:(NSString *)customImagePath;
814 
826 - (NvsTimelineAnimatedSticker *)removeAnimatedSticker:(NvsTimelineAnimatedSticker *)animatedSticker;
827 
836 - (NvsTimelineVideoFx *)getFirstTimelineVideoFx;
837 
846 - (NvsTimelineVideoFx *)getLastTimelineVideoFx;
847 
858 - (NvsTimelineVideoFx *)getPrevTimelineVideoFx:(NvsTimelineVideoFx *)videoFx;
859 
870 - (NvsTimelineVideoFx *)getNextTimelineVideoFx:(NvsTimelineVideoFx *)videoFx;
871 
888 - (NSArray *)getTimelineVideoFxByTimelinePosition:(int64_t)timelinePos;
889 
912 - (NvsTimelineVideoFx *)addBuiltinTimelineVideoFx:(int64_t)inPoint duration:(int64_t)duration videoFxName:(NSString *)videoFxName;
913 
938 - (NvsTimelineVideoFx *)addPackagedTimelineVideoFx:(int64_t)inPoint duration:(int64_t)duration videoFxPackageId:(NSString *)videoFxPackageId;
939 
963 - (NvsTimelineVideoFx *)addCustomTimelineVideoFx:(int64_t)inPoint
964  duration:(int64_t)duration
965  customVideoFxRender:(id<NvsCustomVideoFxRenderer>)customVideoFxRender;
966 
977 - (NvsTimelineVideoFx *)removeTimelineVideoFx:(NvsTimelineVideoFx *)videoFx;
978 
989 - (NSString *)getCurrentThemeId;
990 
1018 - (BOOL)applyTheme:(NSString *)themeId;
1019 
1030 - (void)removeCurrentTheme;
1031 
1042 - (void)setThemeTitleCaptionText:(NSString *)text;
1043 
1054 - (void)setThemeTrailerCaptionText:(NSString *)text;
1055 
1067 - (void)setThemeMusicVolumeGain:(float)leftVolumeGain rightVolumeGain:(float)rightVolumeGain;
1068 
1080 - (void)getThemeMusicVolumeGain:(float *)leftVolumeGain rightVolumeGain:(float *)rightVolumeGain;
1081 
1106 - (bool)addWatermark:(NSString*)watermarkFilePath displayWidth:(int)displayWidth displayHeight:(int)displayHeight opacity:(float)opacity position:(int)position marginX:(int)marginX marginY:(int)marginY;
1107 
1118 - (void)deleteWatermark;
1119 
1130 - (bool)setWatermarkOpacity:(float)opacity;
1131 
1151 - (bool)setTimelineEndingLogo:(NSString*)logoFilePath displayWidth:(unsigned int)displayWidth displayHeight:(unsigned int)displayHeight centerX:(int)centerX centerY:(int)centerY;
1152 
1162 - (void)removeTimelineEndingLogo;
1163 
1164 - (void)setPlaybackRateControl:(NSArray *) arrayPlaybackRateControlRegion;
1165 
1166 - (NSArray *)getPlaybackRateControl;
1167 
1182 - (BOOL)moveVideoTrackIndex:(unsigned int)srcTrackIndex dstTrackIndex:(unsigned int)dstTrackIndex;
1183 
1193 - (NvsTimelineGraphCompositor *)getFirstTimelineGraphCompositor;
1194 
1204 - (NvsTimelineGraphCompositor *)getLastTimelineGraphCompositor;
1205 
1217 - (NvsTimelineGraphCompositor *)getPrevTimelineGraphCompositor:(NvsTimelineGraphCompositor*)graphCompositor;
1218 
1230 - (NvsTimelineGraphCompositor *)getNextTimelineGraphCompositor:(NvsTimelineGraphCompositor*)graphCompositor;
1231 
1243 - (NvsTimelineGraphCompositor *)getTimelineGraphCompositorByTimelinePosition:(int64_t)timelinePos;
1244 
1260 - (NvsTimelineGraphCompositor *)addTimelineGraphCompositor:(int64_t)inPoint duration:(int64_t)duration graphDescStr:(NSString *)graphDescStr;
1261 
1279 - (NvsTimelineGraphCompositor *)addTimelineGraphCompositor:(int64_t)inPoint duration:(int64_t)duration graphDescStr:(NSString *)graphDescStr buddyTrackIndex:(int)buddyTrackIndex;
1280 
1281 
1293 - (NvsTimelineGraphCompositor *)removeTimelineGraphCompositor:(NvsTimelineGraphCompositor*)graphCompositor;
1294 
1304 - (unsigned int)creationFlags;
1305 
1318 - (bool)applyThemeTemplate:(NSString *)templateId;
1319 
1330 - (NSArray<NvsCaptionBoundingVerticesInfo*>*)getCaptionsBoundingVerticesRecursively:(NvsBoundingType)boundingType timelinePosition:(int64_t)timelinePosition;
1331 
1342 - (NSArray<NvsClipBoundingVerticesInfo*>*)getVideoClipBoundingVerticesRecursively:(int64_t)timelinePosition;
1343 
1344 @end
1345 
NvsTimeline
Timeline is which the entity of editing the scene.
Definition: NvsTimeline.h:85
NvsCaptionBoundingVerticesInfo
Definition: NvsTimeline.h:53
NvsTimelineWatermarkPosition_TopRight
@ NvsTimelineWatermarkPosition_TopRight
Watermark on top-right.
Definition: NvsTimeline.h:37
NvsTimelineWatermarkPosition_BottomLeft
@ NvsTimelineWatermarkPosition_BottomLeft
Watermark on bottom-left.
Definition: NvsTimeline.h:39
NvsPlaybackRateControlRegion::endTime
int64_t endTime
Definition: NvsTimeline.h:46
NvsVideoTrack
Video track is the collection of video clips.
Definition: NvsVideoTrack.h:64
NvsPlaybackRateControlRegion::startTime
int64_t startTime
Definition: NvsTimeline.h:45
NvsTimelineWatermarkPosition_TopLeft
@ NvsTimelineWatermarkPosition_TopLeft
Watermark on top-left.
Definition: NvsTimeline.h:38
NvsObject
The NvsObject class inherits from the NSObject class in object-c.
Definition: NvsObject.h:78
NvsRational
Rational value.
Definition: NvsCommonDef.h:270
NvsBoundingType
NvsBoundingType
Definition: NvsCompoundCaption.h:32
NvsPlaybackRateControlRegion
Definition: NvsTimeline.h:44
NvsTimelineCompoundCaption
Timeline compound caption.
Definition: NvsTimelineCompoundCaption.h:24
NvsTimelineGraphCompositor
Timeline video effect Timeline GraphCompositor is a video effect applied to a Timeline instance.
Definition: NvsTimelineGraphCompositor.h:29
NvsTimelineWatermarkPosition
NvsTimelineWatermarkPosition
Watermark position.
Definition: NvsTimeline.h:36
NvsCustomVideoFxRenderer-p
Custom video effects renderer interface.
Definition: NvsCustomVideoFx.h:47
NvsTimelineCaption
Timeline captions.
Definition: NvsTimelineCaption.h:32
NvsTimelineAnimatedSticker
Timeline animated sticker class.
Definition: NvsTimelineAnimatedSticker.h:36
NvsObject.h
NvsCaption
captions.
Definition: NvsCaption.h:34
NvsTimelineVideoFx
Timeline video effect Timeline Video Effect is a video effect applied to a Timeline instance....
Definition: NvsTimelineVideoFx.h:53
NvsTimelineWatermarkPosition_BottomRight
@ NvsTimelineWatermarkPosition_BottomRight
Watermark on bottom-right.
Definition: NvsTimeline.h:40
NvsAudioResolution
Audio resolution.
Definition: NvsCommonDef.h:305
NvsTimelineGraphCompositor.h
NVS_EXPORT
#define NVS_EXPORT
Definition: NvsCommonDef.h:20
NvsVideoResolution
Video resolution.
Definition: NvsCommonDef.h:317
NvsClipBoundingVerticesInfo
Definition: NvsTimeline.h:60
NvsClip
Clips are specific description of audio and video files.
Definition: NvsClip.h:47
NvsCommonDef.h
NvsCustomVideoFx.h
NvsPlaybackRateControlRegion::playbackRate
float playbackRate
Definition: NvsTimeline.h:47
NvsLiveWindow.h
NvsTimelineCompoundCaption.h
NvsVideoResolutionBitDepth
NvsVideoResolutionBitDepth
Video frame pixel format.
Definition: NvsCommonDef.h:200
NvsPlaybackRateControlRegion::audioGain
float audioGain
Definition: NvsTimeline.h:48
NvsAudioTrack
Audio track, collection of audio clips.
Definition: NvsAudioTrack.h:39