Obtener una imagen instantánea de un vídeo

El siguiente código captura y muestra una imagen estática del vídeo Publisher, la añade a la vista principal y establece un objeto UIImage para la imagen:

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()
}

El siguiente código captura y muestra una imagen estática del vídeo del suscriptor, la añade a la vista principal y establece un objeto UIImage para la imagen:

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()
}