前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用TXVideoEditer 添加水印后导出视频卡在99%?没有成功失败回调?

使用TXVideoEditer 添加水印后导出视频卡在99%?没有成功失败回调?

原创
作者头像
小明同学接音视频
发布2021-05-27 12:01:07
8040
发布2021-05-27 12:01:07
举报

问题背景:

使用TXVideoEditer 添加水印,之后再通过

代码语言:objective-c
复制
- (void) generateVideo:(TXVideoCompressed)videoCompressed videoOutputPath:(NSString *)videoOutputPath;

导出添加水印之后的视频,在导出的时候没有成功和失败的回调,并且进度一直在99%。

问题根源:

再导出视频路径的时候,需要拼接视频后缀。如果是直接获取的网络视频名称,建议检查这个名称是否带有后缀。

正确:/var/mobile/Containers/Data/Application/7C70754F-60F1-4955-B69A-7A41611775E6/Library/Caches/WaterMark.mp4

错误:/var/mobile/Containers/Data/Application/7C70754F-60F1-4955-B69A-7A41611775E6/Library/Caches/WaterMark

解决方案:

导出视频的时候添加视频格式后缀即可。

代码语言:objective-c
复制
NSURL*url=  [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"1621582392155992" ofType:@"mp4"]];
    
    [_ugcEdit setVideoPath:url.path];
    [_ugcEdit setVideoBitrate:2000000];

   // 配置代理
         // 设置生成事件的回调委托对象,可以获取生成进度与结果
//    _fileName = @"1621582392155992.mp4";
   // 2. 对视频进行处理,这里以添加水印为例
    UIImage *image = [UIImage imageNamed:@"watermark"];
    [_ugcEdit setWaterMark:image normalizationFrame:CGRectMake(0, 0, 0.3 , 0.3 * image.size.height / image.size.width)];

    //拿到cache文件夹的路径
    NSString *cache=[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
    cache = [cache stringByAppendingPathComponent:@"WaterMark.mp4"];
    _savePath = cache;
    [_ugcEdit generateVideo:VIDEO_COMPRESSED_720P videoOutputPath:cache];

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题背景:
  • 问题根源:
  • 解决方案:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档