AVVideoComposition не добавляет текст в видео — iOS 10.3

Недавно я опубликовал вопрос об экспорте видео с textOverlay (используя AVVideoComposition). Я пытаюсь быстро применить наложение CATextLayer к видео, используя следующий метод:

     @IBOutlet weak var subTitle1: UITextField!


    func applyVideoEffectsToComposition(_ composition: AVMutableVideoComposition!, size: CGSize) {

    // 1 - Set up the text layer
      let subTitle1Text =            CATextLayer()
      subTitle1Text.font =           "Helvetica-Bold" as CFTypeRef
      subTitle1Text.frame =          CGRect(x: 0, y: 0, width: size.width, height: 100)
      subTitle1Text.string =         subTitle1.text
 //     subTitle1Text.string =       "Sheep"       ****No subtitle on output video if replace above line  with this one ****

    subTitle1Text.alignmentMode =  kCAAlignmentCenter
    subTitle1Text.foregroundColor = UIColor.white.cgColor

    // 2 - The usual overlay
    let overlayLayer =   CALayer()
    overlayLayer.addSublayer(subTitle1Text)
    overlayLayer.frame = CGRect(x: 0, y: 0, width: size.width, height: size.height)
    overlayLayer.masksToBounds = true


    // 3 - set up the parent layer
    let parentLayer =   CALayer()
    let videoLayer =    CALayer()
    parentLayer.frame = CGRect(x: 0, y: 0, width: size.width, height: size.height)
    videoLayer.frame =  CGRect(x: 0, y: 0, width: size.width, height: size.height)

    parentLayer.addSublayer(videoLayer)
    parentLayer.addSublayer(overlayLayer)
    composition.animationTool = AVVideoCompositionCoreAnimationTool(postProcessingAsVideoLayer: videoLayer, in: parentLayer)
}

Проблема Когда я использую textfield для назначения let subTitle1Text : CATextLayer, я получаю желаемое выходное видео с текстом на нем. Однако, если бы я заменил свойство subTitle1Text.string некоторым статическим текстом, таким как subTitle1Text.string = "Sheep", у меня не было бы текста в субтитрах.

Когда я просматриваю это с помощью AVPlayer, я вижу ожидаемый текст на видео, но при сохранении видео с AVExportSession субтитры не добавляются.

Итак, мой вопрос: в чем причина такого необычного поведения?


person 6994    schedule 30.07.2017    source источник
comment
Я только что столкнулся с той же проблемой. Вы нашли правильное решение?   -  person echo    schedule 05.07.2018