Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-iPhone-AVAssetWriter AVCapture会话使用绿色边缘录制视频_Ios_Iphone_Video_Avcapturesession_Avassetwriter - Fatal编程技术网

iOS-iPhone-AVAssetWriter AVCapture会话使用绿色边缘录制视频

iOS-iPhone-AVAssetWriter AVCapture会话使用绿色边缘录制视频,ios,iphone,video,avcapturesession,avassetwriter,Ios,Iphone,Video,Avcapturesession,Avassetwriter,我使用AVCaptureSession将使用AVAssetWriter的视频录制到一个文件中,一切正常,但由于某些原因,视频的右侧和底部有绿色边缘。我怎样才能摆脱它们 更新:这发生在iPhone 6上,而不是iPhone 5s上。我还没有在其他设备上试过 以下是我使用的设置: //Video output settings for NSDictionary *outputSettings = [[NSDictionary alloc] initWithObjectsAndKeys: [N

我使用AVCaptureSession将使用AVAssetWriter的视频录制到一个文件中,一切正常,但由于某些原因,视频的右侧和底部有绿色边缘。我怎样才能摆脱它们

更新:这发生在iPhone 6上,而不是iPhone 5s上。我还没有在其他设备上试过

以下是我使用的设置:

 //Video output settings for 
 NSDictionary *outputSettings = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithInt:kCVPixelFormatType_32BGRA],kCVPixelBufferPixelFormatTypeKey,
[NSNumber numberWithInt:videoWidth], AVVideoWidthKey, 
[NSNumber numberWithInt:videoHeight], AVVideoHeightKey, nil];




 //AssetWriter settings
         NSDictionary *videoCleanApertureSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                                                [NSNumber numberWithInt:videoWidth], AVVideoCleanApertureWidthKey,
                                                [NSNumber numberWithInt:videoHeight], AVVideoCleanApertureHeightKey,
                                                [NSNumber numberWithInt:10], AVVideoCleanApertureHorizontalOffsetKey,
                                                [NSNumber numberWithInt:10], AVVideoCleanApertureVerticalOffsetKey,
                                                nil];


    CGFloat videoBitRate = 960*1000;
    NSInteger videoFrameRate = 30;
    NSDictionary *compressionSettings = @{ AVVideoAverageBitRateKey : @(videoBitRate),
                                           AVVideoMaxKeyFrameIntervalKey : @(videoFrameRate),
                                           AVVideoCleanApertureKey : videoCleanApertureSettings };



    NSDictionary *videoSettings = @{ AVVideoCodecKey : AVVideoCodecH264,
                                     AVVideoScalingModeKey : AVVideoScalingModeResizeAspectFill,
                                     AVVideoWidthKey : @(videoWidth),
                                     AVVideoHeightKey : @(videoHeight),
                                     AVVideoCompressionPropertiesKey : compressionSettings };

可能重复,因为iPhone 6的分辨率不是16的倍数。@Ecaptain请参阅重复问题。