上云无忧 > 文档中心 > 百度智能云短视频 SDK IOS开发 - 转场
短视频 SDK
百度智能云短视频 SDK IOS开发 - 转场

文档简介:
转场的相关接口在VideoProducer.framewrok中RMVPMediaTrack.h头文件。 添加基础转场: 添加基础转场,目前支持淡入、闪黑、闪白、模糊、横滑、纵滑。添加转场,需要传入媒体轨道上插入点(即,片段相应位置,这里可参考转场UI逻辑)。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

  • 转场的相关接口在VideoProducer.framewrok中RMVPMediaTrack.h头文件。

添加基础转场

  • 添加基础转场,目前支持淡入、闪黑、闪白、模糊、横滑、纵滑。添加转场,需要传入媒体轨道上插入点(即,片段相应位置,这里可参考转场UI逻辑)
  • 代码示例如下:

//创建转场效果实例,这里以读取本地配置文件为例
	NSString *name = [NSString stringWithFormat:@"bundle/%@.zip",转场唯一签名];

    NSString *path = [[[NSBundle mainBundle]resourcePath] stringByAppendingPathComponent:name];

    BOOL isExist = [[NSFileManager defaultManager] fileExistsAtPath:path];

    //解压

    if (isExist) {

        NSString *destPath = [self localPath];

        destPath = [destPath stringByAppendingPathComponent:item.sign];

        BOOL bSucess = [self unzipStickerPackage:path destPath:destPath];

        if (bSucess) {

            // 读取json文件

            NSString *jsonPath =  [destPath stringByAppendingPathComponent:@"transition_config.json"];

            BOOL isJsonExist = [[NSFileManager defaultManager] fileExistsAtPath:jsonPath];

            if (isJsonExist) {

                NSData *data=[NSData dataWithContentsOfFile:jsonPath];

                NSError *error;

                NSDictionary *jsonDict =[NSJSONSerialization JSONObjectWithData:data

                                                                        options:NSJSONReadingAllowFragments

                                                                          error:&error];                

                if(jsonDict != nil && jsonDict.count > 0) {

                    NSString *library_name      = @"library_name";

                    NSString *vertex_function   = @"vertex_function";

                    NSString *fragment_function = @"fragment_function";

                    NSString *durationKey       = @"duration";
                    
                    NSString *library = [jsonDict objectForKey:library_name];

                    NSString *libraryPath = [destPath stringByAppendingPathComponent:library];
                    
                    if (![[NSFileManager defaultManager] fileExistsAtPath:libraryPath]) {

                        return nil;

                    }                    

                    NSString *vertexShaderName = [jsonDict objectForKey:vertex_function];

                    NSString *fragmentShaderName = [jsonDict objectForKey:fragment_function];

                    CGFloat defaultDuration = 0.5 * 1000;

                    CGFloat duration = [jsonDict hk_floatForKey:durationKey];

                    if (duration <0.01) {

                        duration = defaultDuration;

                    }
					//创建转场效果实例
                    RMVPMediaVideoTransitionItem *mediaItem = [[RMVPMediaVideoTransitionItem alloc]
 initWithType:RMVPMediaVideoTransitionItemTypeDual transitionType:RMVPMediaVideoTransitionItemType
TransitionTypeDefault libraryPath:libraryPath vertexFunctionName:vertexShaderName fragmentFunctionName:fragmentShaderName];

                    mediaItem.duration = CMTimeMakeWithSeconds(duration / 1000, NSEC_PER_SEC);

                    mediaItem.transitionId = item.transition_id;             

                }

            }

        }

    }


	//删除原有转场效果
	[self.videoTrack removeTransitionItemAtIndex:index];


	//绑定最新转场效果
	[self.videoTrack bindTransitionItem:mediaItem atIndex:index];

相似文档
  • 创建字幕轨道: 创建字幕轨道,使用字幕相关功能,需要创建字幕轨并添加到媒体轨道中心,并创建一个字幕片段,配合字幕UI逻辑使用,详见智能小视频源码,涉及组件BDHKVlogSubtitlesView(字幕位置),BDMVSubtitleInputAccessoryView(字幕输入框),BDMVInputEventBottomBar(字幕确认框)。
  • 编辑的相关接口在VideoProducer.framewrok中。 视频预览: 完成拍摄或选取本地视频,将实时预览窗口与创建的媒体轨道中心(MediaTrackCenter)连接,对已完成拍摄的视频或本地视频根据需要进行编辑,然后生成视频输出.mov格式的文件。
  • 录制的相关接口是在BDCloudAVStreamContext类里,包括采集预览(startPreview),录制(startRecording:),添加视频美颜(applyBeautyBaseVideoFx)等。 注意:百度云拍摄器SDK所有的类都是以“BDCloud”开头。
  • 百度云短视频创作专注移动端视音频场景研发,提供端到端的一站式视音频技术解决方案,不限于采集、录制、合成、上传、存储、分发,极大降低客户接入音视频产品的技术门槛。 运行环境:Android 4.1系统,API Level 16以上。
  • 百度云短视频产品(SDK)专注移动端视音频场景研发,提供端到端的一站式视音频技术解决方案,不限于采集、录制、合成、上传、存储、分发,极大降低客户接入音视频产品的技术门槛。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部