Неверная ориентация AVAssetExportSession на передней панели

Я сталкиваюсь с неправильной ориентацией видео, экспортируемой с использованием AVAssetExportSession только перед камерой. Я выполнил этот учебник https://stackoverflow.com/a/35368649/3764365, но я получил этот сценарий. Я думаю, что это не неправильная ориентация, изображение сокращается наполовину. Я попытался изменить слой видео, сделать слой, но не повезло. Pls. помогите, спасибо! Мой код выглядит так.

let composition = AVMutableComposition() let vidAsset = AVURLAsset(url: path) // get video track let vtrack = vidAsset.tracks(withMediaType: AVMediaTypeVideo) // get audi trac let videoTrack:AVAssetTrack = vtrack[0] _ = videoTrack.timeRange.duration let vid_timerange = CMTimeRangeMake(kCMTimeZero, vidAsset.duration) var _: NSError? let compositionvideoTrack:AVMutableCompositionTrack = composition.addMutableTrack(withMediaType: AVMediaTypeVideo, preferredTrackID: CMPersistentTrackID()) do { try compositionvideoTrack.insertTimeRange(vid_timerange, of: videoTrack, at: kCMTimeZero) } catch let error { print(error.localizedDescription) } let compositionVideoTrack = composition.addMutableTrack(withMediaType: AVMediaTypeAudio, preferredTrackID: kCMPersistentTrackID_Invalid) let audioTrack = vidAsset.tracks(withMediaType: AVMediaTypeAudio)[0] do { try compositionVideoTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, vidAsset.duration), of: audioTrack, at: kCMTimeZero) } catch { print("error") } let size = videoTrack.naturalSize let parentlayer = CALayer() parentlayer.frame = CGRect(x: 0, y: 0, width: size.height, height: size.width) let videolayer = CALayer() videolayer.frame = CGRect(x: 0, y: 0, width: size.height, height: size.width) parentlayer.addSublayer(videolayer) let layercomposition = AVMutableVideoComposition() layercomposition.frameDuration = CMTimeMake(1, 30) layercomposition.renderSize = CGSize(width: size.height, height: size.width) layercomposition.animationTool = AVVideoCompositionCoreAnimationTool(postProcessingAsVideoLayer: videolayer, in: parentlayer) // instruction for watermark let instruction = AVMutableVideoCompositionInstruction() instruction.timeRange = CMTimeRangeMake(kCMTimeZero, composition.duration) let videotrack = composition.tracks(withMediaType: AVMediaTypeVideo)[0] as AVAssetTrack let layerinstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: videotrack) instruction.layerInstructions = [layerinstruction] layercomposition.instructions = [instruction] layerinstruction.setTransform(videoTrack.preferredTransform, at: kCMTimeZero) // create new file to receive data let movieDestinationUrl = UIImage.outPut() // use AVAssetExportSession to export video let assetExport = AVAssetExportSession(asset: composition, presetName: AVAssetExportPreset1280x720)! assetExport.videoComposition = layercomposition assetExport.outputFileType = AVFileTypeQuickTimeMovie assetExport.outputURL = movieDestinationUrl 

One Solution collect form web for “Неверная ориентация AVAssetExportSession на передней панели”

Установка movieFileOutputConnection? .isVideoMirrored от true to false исправил проблему для меня. На мой взгляд, это странная ошибка.

 if self.currentCamera == .front { movieFileOutputConnection?.isVideoMirrored = false } 
  • Упрощенный захват экрана: записывать видео только то, что появляется в слоях UIView?
  • Воспроизведение звука камеры только один раз для нескольких изображений с использованием AVFoundation ИЛИ Простое отключение звука / подавление звука
  • поиск или очистка видеопотока в обратном порядке
  • AVAssetExportSession спорадически вызывает черную рамку
  • Как получить текст песни Now Playing в iOS10 (Swift 3)
  • iOS Swift: попытка использовать буфер записи изображений для создания видео, finishWritingWithCompletionHandler не вызван. Выходное видео содержит нулевые байты
  • Предварительный просмотр AVCam застрял после разблокировки телефона
  • Ориентация UIImage, когда iPhone находится на Z-оси
  • Может ли AVCaptureSession использовать пользовательское разрешение
  • Приложение зависает при попытке создать объект AVAsset
  • Как использовать scaleTimeRange в AVMutableComposition?
  • Interesting Posts

    Можем ли мы показать UIAlertController из расширения приложения без интерфейса пользователя, например «Расширение действия»?

    ios firebase ui: лицензионное соглашение для поставщика google

    Строка состояния не отображается в приложении iOS

    IOS Video Compression Swift iOS 8 поврежденный видеофайл

    UITextView с динамической высотой

    Как выровнять текст по горизонтали и вертикали в UITextView?

    Ошибка приложения с голосом при каждом включении текстового поля со ссылкой в ​​нем

    Что такое предпочтение «Настройка» в WatchKit-Storyboard?

    Строка состояния iOS: как показать какой-то текст там

    Как удалить KVO-наблюдателя себя в категории UIButton?

    Получите IndexPath из подкласса UITableViewCell в Swift

    вызов метода через 3 секунды интервала времени в backgound

    Как выполнять Unwind segue программно?

    Возможно ли создать наследование, подобное структуре для строковых файлов в Xcode?

    Как изменить изображение пользовательской кнопки при нажатии на iOS?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.