小编Ofi*_*chi的帖子

AVMutableComposition - 导出错误的视频转换

导出VideoAsset后:

问题:

  1. 视频方向不是原始变换
  2. 导出的视频层似乎总是风景.

尝试去:

  1. 变换视频图​​层方向 - 旋转到原始方向
  2. 视频图层大小 - 使其全屏尺寸(按原始方向)

一些说明:

  • videoAsset的CGRect从一开始就是反面的.

导出后,视频转换是错误的 导出后,视频转换是错误的

尝试旋转而没有成功完整尺寸的图层 尝试旋转而没有成功完整尺寸的图层

            AVURLAsset*videoAsset = [[AVURLAsset alloc]initWithURL:url options:nil];

            AVMutableComposition* mixComposition = [AVMixerBase compositionVideoTrackAssetUrl:videoAsset];

            AVMutableVideoComposition *videoComposition=[AVMutableVideoComposition videoComposition];
            videoComposition.frameDuration=CMTimeMake(1, 30); //frames per seconds
            videoComposition.renderSize = videoAsset.naturalSize;
            //videoComposition.renderScale = 1.0;

            videoComposition.animationTool = [AVVideoCompositionCoreAnimationTool videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];


  AVMutableCompositionTrack *videoTrack = [[mixComposition tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]; //was AVAssetTrack *videoTrack
    AVMutableVideoCompositionLayerInstruction *layerInstruction = [self layerInstructionAfterFixingOrientationForAsset:videoAsset
                                                                                                              forTrack:videoTrack   atTime:videoAsset.duration];



 AVMutableVideoCompositionLayerInstruction *layerInstruction =  [AVMutableVideoCompositionLayerInstruction  videoCompositionLayerInstructionWithAssetTrack:videoTrack];
    [layerInstruction setTransform:videoTrack.preferredTransform atTime:kCMTimeZero];
    [layerInstruction setOpacity:0.0 atTime:videoAsset.duration];




             AVMutableVideoCompositionInstruction *instruction = [AVMutableVideoCompositionInstruction videoCompositionInstruction]; …
Run Code Online (Sandbox Code Playgroud)

objective-c avmutablecomposition avurlasset

6
推荐指数
1
解决办法
749
查看次数

OpenCV iOS - 预期标识符 (MACRO)

从“opencv2.framework”中获取错误。只是一个包含“opencv2.framework”的新项目没有运行。

我的步骤:

  1. 下载最新的opencv2.framework
  2. 添加所需的框架
  3. 声明 .pch 文件内容
  4. 更改了 .m 文件 -> .mm

我错过了什么吗?

在此处输入图片说明

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

#import <Availability.h>

#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif

#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif

#endif /* PrefixHeader_pch */
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

opencv ios opencv3.0 opencv3.1

2
推荐指数
1
解决办法
1415
查看次数