MeiCam SDK For iOS  3.7.2
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 
34 typedef enum {
40 
42 
43  @property (nonatomic, assign) int64_t startTime;
44  @property (nonatomic, assign) int64_t endTime;
45  @property (nonatomic, assign) float playbackRate;
46  @property (nonatomic, assign) float audioGain;
47 
48 @end
49 
67 
68 @property (readonly) NvsVideoResolution videoRes;
69 
70 @property (readonly) NvsAudioResolution audioRes;
71 
72 @property (readonly) NvsRational videoFps;
73 
74 @property (readonly) int64_t duration;
75 
76 @property (nonatomic) int64_t audioFadeOutDuration;
77 
86 -(int)getCreationFlags;
87 
101 - (NvsVideoTrack *)appendVideoTrack;
102 
116 - (NvsAudioTrack *)appendAudioTrack;
117 
133 - (NvsVideoTrack *)insertVideoTrack:(unsigned int)clipIndex;
134 
150 - (NvsAudioTrack *)insertAudioTrack:(unsigned int)clipIndex;
151 
167 - (BOOL)removeVideoTrack:(unsigned int)trackIndex;
168 
184 - (BOOL)removeAudioTrack:(unsigned int)trackIndex;
185 
196 - (unsigned int)videoTrackCount;
197 
208 - (unsigned int)audioTrackCount;
209 
223 - (NvsVideoTrack *)getVideoTrackByIndex:(unsigned int)trackIndex;
224 
238 - (NvsAudioTrack *)getAudioTrackByIndex:(unsigned int)trackIndex;
239 
257 - (BOOL)changeVideoSize:(int)videoWidth videoHeight:(int)videoHeight;
258 
270 - (BOOL)changeVideoBitDepth:(NvsVideoResolutionBitDepth)newBitDepth;
271 
272 
282 - (void)setCaptionBoundingRectInActualMode:(BOOL)isActualBoundingRect;
283 
299 - (void)enableRenderOrderByZValue:(BOOL)enable;
300 
310 - (BOOL)isRenderOrderByZValueEnabled;
311 
322 - (NvsTimelineCaption *)getFirstCaption;
323 
334 - (NvsTimelineCaption *)getLastCaption;
335 
347 - (NvsTimelineCaption *)getPrevCaption:(NvsTimelineCaption *)caption;
348 
360 - (NvsTimelineCaption *)getNextCaption:(NvsTimelineCaption *)caption;
361 
379 - (NSArray *)getCaptionsByTimelinePosition:(int64_t)timelinePos;
380 
404 - (NvsTimelineCaption *)addCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration captionStylePackageId:(NSString *)captionStylePackageId;
405 
430 - (NvsTimelineCaption *)addPanoramicCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration captionStylePackageId:(NSString *)captionStylePackageId;
431 
453 - (NvsTimelineCaption *)addModularCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration;
454 
466 - (NvsTimelineCaption *)removeCaption:(NvsTimelineCaption *)caption;
467 
479 - (NvsTimelineCompoundCaption *)getFirstCompoundCaption;
480 
492 - (NvsTimelineCompoundCaption *)getLastCompoundCaption;
493 
506 - (NvsTimelineCompoundCaption *)getPrevCompoundCaption:(NvsTimelineCompoundCaption *)caption;
507 
520 - (NvsTimelineCompoundCaption *)getNextCompoundCaption:(NvsTimelineCompoundCaption *)caption;
521 
540 - (NSArray<NvsTimelineCompoundCaption*> *)getCompoundCaptionsByTimelinePosition:(int64_t)timelinePos;
541 
566 - (NvsTimelineCompoundCaption *)addCompoundCaption:(int64_t)inPoint
567  duration:(int64_t)duration
568  compoundCaptionPackageId:(NSString *)compoundCaptionPackageId;
569 
582 - (NvsTimelineCompoundCaption *)removeCompoundCaption:(NvsTimelineCompoundCaption *)caption;
583 
594 - (NvsTimelineAnimatedSticker *)getFirstAnimatedSticker;
595 
605 - (NvsTimelineAnimatedSticker *)getLastAnimatedSticker;
606 
618 - (NvsTimelineAnimatedSticker *)getPrevAnimatedSticker:(NvsTimelineAnimatedSticker *)animatedSticker;
619 
631 - (NvsTimelineAnimatedSticker *)getNextAnimatedSticker:(NvsTimelineAnimatedSticker *)animatedSticker;
632 
650 - (NSArray *)getAnimatedStickersByTimelinePosition:(int64_t)timelinePos;
651 
677 - (NvsTimelineAnimatedSticker *)addAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration animatedStickerPackageId:(NSString *)animatedStickerPackageId;
678 
705 - (NvsTimelineAnimatedSticker *)addPanoramicAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration animatedStickerPackageId:(NSString *)animatedStickerPackageId;
706 
736 - (NvsTimelineAnimatedSticker *)addCustomAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration animatedStickerPackageId:(NSString *)animatedStickerPackageId customImagePath:(NSString *)customImagePath;
737 
768 - (NvsTimelineAnimatedSticker *)addCustomPanoramicAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration animatedStickerPackageId:(NSString *)animatedStickerPackageId customImagePath:(NSString *)customImagePath;
769 
781 - (NvsTimelineAnimatedSticker *)removeAnimatedSticker:(NvsTimelineAnimatedSticker *)animatedSticker;
782 
791 - (NvsTimelineVideoFx *)getFirstTimelineVideoFx;
792 
801 - (NvsTimelineVideoFx *)getLastTimelineVideoFx;
802 
813 - (NvsTimelineVideoFx *)getPrevTimelineVideoFx:(NvsTimelineVideoFx *)videoFx;
814 
825 - (NvsTimelineVideoFx *)getNextTimelineVideoFx:(NvsTimelineVideoFx *)videoFx;
826 
843 - (NSArray *)getTimelineVideoFxByTimelinePosition:(int64_t)timelinePos;
844 
867 - (NvsTimelineVideoFx *)addBuiltinTimelineVideoFx:(int64_t)inPoint duration:(int64_t)duration videoFxName:(NSString *)videoFxName;
868 
893 - (NvsTimelineVideoFx *)addPackagedTimelineVideoFx:(int64_t)inPoint duration:(int64_t)duration videoFxPackageId:(NSString *)videoFxPackageId;
894 
918 - (NvsTimelineVideoFx *)addCustomTimelineVideoFx:(int64_t)inPoint
919  duration:(int64_t)duration
920  customVideoFxRender:(id<NvsCustomVideoFxRenderer>)customVideoFxRender;
921 
932 - (NvsTimelineVideoFx *)removeTimelineVideoFx:(NvsTimelineVideoFx *)videoFx;
933 
944 - (NSString *)getCurrentThemeId;
945 
973 - (BOOL)applyTheme:(NSString *)themeId;
974 
985 - (void)removeCurrentTheme;
986 
997 - (void)setThemeTitleCaptionText:(NSString *)text;
998 
1009 - (void)setThemeTrailerCaptionText:(NSString *)text;
1010 
1022 - (void)setThemeMusicVolumeGain:(float)leftVolumeGain rightVolumeGain:(float)rightVolumeGain;
1023 
1035 - (void)getThemeMusicVolumeGain:(float *)leftVolumeGain rightVolumeGain:(float *)rightVolumeGain;
1036 
1061 - (bool)addWatermark:(NSString*)watermarkFilePath displayWidth:(int)displayWidth displayHeight:(int)displayHeight opacity:(float)opacity position:(int)position marginX:(int)marginX marginY:(int)marginY;
1062 
1073 - (void)deleteWatermark;
1074 
1085 - (bool)setWatermarkOpacity:(float)opacity;
1086 
1106 - (bool)setTimelineEndingLogo:(NSString*)logoFilePath displayWidth:(unsigned int)displayWidth displayHeight:(unsigned int)displayHeight centerX:(int)centerX centerY:(int)centerY;
1107 
1117 - (void)removeTimelineEndingLogo;
1118 
1119 - (void)setPlaybackRateControl:(NSArray *) arrayPlaybackRateControlRegion;
1120 
1121 - (NSArray *)getPlaybackRateControl;
1122 
1137 - (BOOL)moveVideoTrackIndex:(unsigned int)srcTrackIndex dstTrackIndex:(unsigned int)dstTrackIndex;
1138 
1148 - (NvsTimelineGraphCompositor *)getFirstTimelineGraphCompositor;
1149 
1159 - (NvsTimelineGraphCompositor *)getLastTimelineGraphCompositor;
1160 
1172 - (NvsTimelineGraphCompositor *)getPrevTimelineGraphCompositor:(NvsTimelineGraphCompositor*)graphCompositor;
1173 
1185 - (NvsTimelineGraphCompositor *)getNextTimelineGraphCompositor:(NvsTimelineGraphCompositor*)graphCompositor;
1186 
1198 - (NvsTimelineGraphCompositor *)getTimelineGraphCompositorByTimelinePosition:(int64_t)timelinePos;
1199 
1215 - (NvsTimelineGraphCompositor *)addTimelineGraphCompositor:(int64_t)inPoint duration:(int64_t)duration graphDescStr:(NSString *)graphDescStr;
1216 
1234 - (NvsTimelineGraphCompositor *)addTimelineGraphCompositor:(int64_t)inPoint duration:(int64_t)duration graphDescStr:(NSString *)graphDescStr buddyTrackIndex:(int)buddyTrackIndex;
1235 
1236 
1248 - (NvsTimelineGraphCompositor *)removeTimelineGraphCompositor:(NvsTimelineGraphCompositor*)graphCompositor;
1249 
1259 - (unsigned int)creationFlags;
1260 
1273 - (bool)applyThemeTemplate:(NSString *)templateId;
1274 
1275 @end
1276 
NvsTimeline
Timeline is which the entity of editing the scene.
Definition: NvsTimeline.h:67
NvsTimelineWatermarkPosition_TopRight
@ NvsTimelineWatermarkPosition_TopRight
Watermark on top-right.
Definition: NvsTimeline.h:35
NvsTimelineWatermarkPosition_BottomLeft
@ NvsTimelineWatermarkPosition_BottomLeft
Watermark on bottom-left.
Definition: NvsTimeline.h:37
NvsPlaybackRateControlRegion::endTime
int64_t endTime
Definition: NvsTimeline.h:44
NvsVideoTrack
Video track is the collection of video clips.
Definition: NvsVideoTrack.h:64
NvsPlaybackRateControlRegion::startTime
int64_t startTime
Definition: NvsTimeline.h:43
NvsTimelineWatermarkPosition_TopLeft
@ NvsTimelineWatermarkPosition_TopLeft
Watermark on top-left.
Definition: NvsTimeline.h:36
NvsObject
The NvsObject class inherits from the NSObject class in object-c.
Definition: NvsObject.h:78
NvsRational
Rational value.
Definition: NvsCommonDef.h:254
NvsPlaybackRateControlRegion
Definition: NvsTimeline.h:42
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:34
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
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:38
NvsAudioResolution
Audio resolution.
Definition: NvsCommonDef.h:289
NvsTimelineGraphCompositor.h
NVS_EXPORT
#define NVS_EXPORT
Definition: NvsCommonDef.h:20
NvsVideoResolution
Video resolution.
Definition: NvsCommonDef.h:301
NvsCommonDef.h
NvsCustomVideoFx.h
NvsPlaybackRateControlRegion::playbackRate
float playbackRate
Definition: NvsTimeline.h:45
NvsLiveWindow.h
NvsTimelineCompoundCaption.h
NvsVideoResolutionBitDepth
NvsVideoResolutionBitDepth
Video frame pixel format.
Definition: NvsCommonDef.h:184
NvsPlaybackRateControlRegion::audioGain
float audioGain
Definition: NvsTimeline.h:46
NvsAudioTrack
Audio track, collection of audio clips.
Definition: NvsAudioTrack.h:39