Capturar um quadro de um vídeo

O código a seguir captura e exibe uma imagem estática do vídeo do Publisher, adiciona-a à visualização principal e define um objeto UIImage para a imagem:

if let publisherView = publisher.view,
        let screenCapture = publisherView.snapshotView(afterScreenUpdates: true) {
    self.view.addSubview(screenCapture)
    UIGraphicsBeginImageContextWithOptions(publisherView.bounds.size, false, UIScreen.main.scale)
    view.drawHierarchy(in: publisherView.bounds, afterScreenUpdates: true)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
}

O código a seguir captura e exibe uma imagem estática do vídeo do assinante, adiciona-a à visualização principal e define um objeto UIImage para a imagem:

if let subscriberView = subscriber?.view,
        let screenCapture = subscriberView.snapshotView(afterScreenUpdates: true) {
    self.view.addSubview(screenCapture)
    UIGraphicsBeginImageContextWithOptions(subscriberView.bounds.size, false, UIScreen.main.scale)
    view.drawHierarchy(in: subscriberView.bounds, afterScreenUpdates: true)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
}