wistia / WistiaKit

Access and playback all of your Wistia
MIT License
30 stars 16 forks source link

Cannot play video with SDK #32

Closed j796160836 closed 7 years ago

j796160836 commented 8 years ago

Hi, I have tried WistiaKit sample code.

simulator screen shot 4 nov 2016 10 19 21 pm

The same video in website plays normally. https://fast.wistia.net/embed/iframe/8tjg8ftj2p

What step I do wrong? Please feel free to ask me for detail, thanks.

spinosa commented 8 years ago

Hey @j796160836 sorry to hear that.

The ParserError is a red herring, not a problem; you can ignore that.

I don't think you did anything wrong. We will need to debug this, since I've never tested WK on your network and have a feeling something unexpected is going on...

Please put a breakpoint on WistiaPlayerViewController.presentForError(), it's in the file _WistiaPlayerViewController.swift. Then run the sample app and try to play the video. When Xcode stops at the breakpoint, I would like to know the stack trace.

Thanks

j796160836 commented 7 years ago

Hi @spinosa,

Here is your information you need. This log is version 0.16.1 captured by iPhone5s at China network.

Backstace

ParserError(message: "The key \'pageLoads\' was not found.")
(lldb) bt
* thread #1: tid = 0x19a21, 0x0000000100415a8c WistiaKit`WistiaPlayerViewController.wistiaPlayer(player=0x0000000101929600, newState=videoPlaybackError, self=0x0000000101801200) -> () + 8040 at _WistiaPlayerViewController.swift:212, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x0000000100415a8c WistiaKit`WistiaPlayerViewController.wistiaPlayer(player=0x0000000101929600, newState=videoPlaybackError, self=0x0000000101801200) -> () + 8040 at _WistiaPlayerViewController.swift:212
    frame #1: 0x000000010041a94c WistiaKit`protocol witness for WistiaPlayerDelegate.wistiaPlayer(WistiaPlayer, didChangeStateTo : WistiaPlayer.State) -> () in conformance WistiaPlayerViewController + 2528 at _WistiaPlayerViewController.swift:0
    frame #2: 0x000000010048d528 WistiaKit`WistiaPlayer.state.didset(oldValue=videoLoading, self=0x0000000101929600) + 6592 at WistiaPlayer.swift:506
    frame #3: 0x0000000100489800 WistiaKit`WistiaPlayer.state.setter(newValue=videoPlaybackError, self=0x0000000101929600) + 13716 at WistiaPlayer.swift:0
    frame #4: 0x00000001003fbae8 WistiaKit`WistiaPlayer.playerItem(playerItem=0x00000001740183a0, oldStatus=unknown, newStatus=failed, self=0x0000000101929600) -> () + 764 at _WistiaPlayer.swift:143
    frame #5: 0x00000001003fe4b4 WistiaKit`WistiaPlayer._wkObserveValue(keyPath="status", object=some, change=3 key/value pairs, context=(_rawValue = 0x0000000101929d08), self=0x0000000101929600) -> () + 1476 at _WistiaPlayer.swift:230
    frame #6: 0x0000000100492898 WistiaKit`WistiaPlayer.observeValue(keyPath="status", object=some, change=3 key/value pairs, context=(_rawValue = 0x0000000101929d08), self=0x0000000101929600) -> () + 540 at WistiaPlayer.swift:537
    frame #7: 0x0000000100492b38 WistiaKit`@objc WistiaPlayer.observeValue(forKeyPath : String?, of : Any?, change : [NSKeyValueChangeKey : Any]?, context : UnsafeMutableRawPointer?) -> () + 504 at WistiaPlayer.swift:0
    frame #8: 0x0000000189250a54 Foundation`NSKeyValueNotifyObserver + 304
    frame #9: 0x0000000189250574 Foundation`NSKeyValueDidChange + 404
    frame #10: 0x000000018923b460 Foundation`-[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:] + 120
    frame #11: 0x000000018ff60468 AVFoundation`-[AVPlayerItem didChangeValueForKey:] + 52
    frame #12: 0x000000018ff63724 AVFoundation`-[AVPlayerItem _changeStatusToFailedWithError:] + 528
    frame #13: 0x000000018ff75e64 AVFoundation`__avplayeritem_fpItemNotificationCallback_block_invoke + 928
    frame #14: 0x0000000100dd925c libdispatch.dylib`_dispatch_call_block_and_release + 24
    frame #15: 0x0000000100dd921c libdispatch.dylib`_dispatch_client_callout + 16
    frame #16: 0x0000000100dde284 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1200
    frame #17: 0x0000000188803f2c CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
    frame #18: 0x0000000188801b18 CoreFoundation`__CFRunLoopRun + 1660
    frame #19: 0x0000000188730048 CoreFoundation`CFRunLoopRunSpecific + 444
    frame #20: 0x000000018a1b6198 GraphicsServices`GSEventRunModal + 180
    frame #21: 0x000000018e71c2fc UIKit`-[UIApplication _run] + 684
    frame #22: 0x000000018e717034 UIKit`UIApplicationMain + 208
    frame #23: 0x000000010005d66c WistiaKit_Example`main + 140 at AppDelegate.swift:12
    frame #24: 0x00000001877145b8 libdyld.dylib`start + 4

player variable

(lldb) p player
(WistiaKit.WistiaPlayer) $R0 = 0x0000000101929600 {
  ObjectiveC.NSObject = {
    isa = WistiaKit.WistiaPlayer
  }
  preventIdleTimerDuringPlayback = true
  delegate = 0x0000000101801200 {
    UIKit.UIViewController = {
      baseUIResponder@0 = {
        NSObject = {
          isa = 0x0000000101801200
        }
        _hasOverrideClient = false
        _hasOverrideHost = false
        _hasInputAssistantItem = false
      }
      _overrideTransitioningDelegate = nil
      _view = 0x00000001011064e0
      _tabBarItem = nil
      _navigationItem = nil
      _toolbarItems = nil
      _title = nil
      _nibName = nil
      _nibBundle = nil
      _parentViewController = nil
      _childModalViewController = nil
      _parentModalViewController = 0x00000001010071f0
      _previousRootViewController = nil
      _modalTransitionView = nil
      _modalPreservedFirstResponder = nil
      _dimmingView = nil
      _dropShadowView = nil
      _currentAction = nil
      _storyboard = nil
      _externalObjectsTableForViewLoading = nil
      _topLevelObjectsToKeepAliveFromStoryboard = nil
      _savedHeaderSuperview = nil
      _savedFooterSuperview = nil
      _editButtonItem = nil
      _searchDisplayController = nil
      _strongSearchDisplayController = nil
      _modalTransitionStyle = 0
      _modalPresentationStyle = 0
      _lastKnownInterfaceOrientation = 1
      _popoverController = nil
      _containerViewInSheet = nil
      _recordedContentScrollView = nil
      _afterAppearance = nil
      _explicitAppearanceTransitionLevel = 0
      _interfaceBuilderKeyCommands = nil
      _addedKeyCommands = nil
      _overrideTraitCollections = nil
      _previewSourceViews = nil
      _retainCount = 18
      _ignoreAppSupportedOrientations = false
      _viewHostsLayoutEngine = false
      _storyboardIdentifier = nil
      _transitioningDelegate = nil
      _frozenTraitCollection = nil
      overrideUseCustomPresentation = false
      _modalPresentationCapturesStatusBarAppearance = false
      _disablesAutomaticKeyboardDismissal = false
      _ignoresParentMargins = false
      _childViewControllers = nil
      _customNavigationInteractiveTransitionDuration = 0
      _customNavigationInteractiveTransitionPercentComplete = 0
      _customTransitioningView = nil
      _lastNotifiedTraitCollection = 0x00000001740cd120
      _presentationController = nil
      _preferredFocusedItem = nil
      _navigationControllerContentOffsetAdjustment = 0
      _contentMargin = 16
      _topLayoutGuide = nil
      _bottomLayoutGuide = nil
      _topBarInsetGuideConstraint = nil
      _bottomBarInsetGuideConstraint = nil
      _storyboardSegueTemplates = nil
      _segueResponsibleForModalPresentation = nil
      _sourceViewControllerIfPresentedViaPopoverSegue = nil
      _modalSourceViewController = 0x00000001010071f0
      _presentedStatusBarViewController = nil
      _edgesForExtendedLayout = 15
      __childControllerToIgnoreWhileLookingForTransitionCoordinator = nil
      _presentingFocusedItem = nil
      _storyboardPreviewSegueTemplates = nil
      _storyboardCommitSegueTemplates = nil
      _storyboardPreviewingRegistrants = nil
      __embeddedView = nil
      __embeddingView = nil
      __embeddedDelegate = nil
      _originalPresentationController = nil
      _temporaryPresentationController = nil
    }
    delegate = nil
    overridingEmbedOptions = nil
    wPlayer.storage = 0x0000000101929600 {...}
    referrer = "WistiaKitDemo"
    requireHLS = false
    activeEmbedOptions = {
      playerColor = 0x000000017047fc00 {
        ObjectiveC.NSObject = {
          baseNSObject@0 = {
            isa = 0x000000017047fc00
          }
          _systemColorName = nil
          _cachedStyleString = nil
        }
      }
      bigPlayButton = true
      smallPlayButton = true
      playbar = true
      fullscreenButton = true
      controlsVisibleOnLoad = false
      autoplay = false
      endVideoBehaviorString = "default"
      endVideoBehavior = pauseOnLastFrame
      stillURL = nil
      actionButton = false
      actionShareURLString = nil
      actionShareTitle = nil
      captionsAvailable = true
      captionsOnByDefault = false
    }
    currentMediaEmbedOptions = some {
      playerColor = 0x000000017047fc00 {...}
      bigPlayButton = true
      smallPlayButton = true
      playbar = true
      fullscreenButton = true
      controlsVisibleOnLoad = false
      autoplay = false
      endVideoBehaviorString = "default"
      endVideoBehavior = pauseOnLastFrame
      stillURL = nil
      actionButton = false
      actionShareURLString = nil
      actionShareTitle = nil
      captionsAvailable = true
      captionsOnByDefault = false
    }
    playerRateBeforeScrubbing = 0
    scrubbing = false
    scrubbingSeekLastRequestedAt = 2016-11-08 11:27:58 UTC
    scrubTrackTimeLabelCenterConstraint = 0x0000000174097ca0 {
      baseNSObject@0 = {
        isa = 0x0000000174097ca0
      }
      _container = 0x000000010102cf00
      _firstAnchor = 0x00000001742701c0
      _secondAnchor = 0x0000000174270240
      _constant = 0
      _loweredConstant = 0
      _markerAndPositiveExtraVar = 0x0000000174036760
      _negativeExtraVar = nil
      _layoutConstraintFlags = 4296802304
      _coefficient = 1
      _priority = 1000
    }
    autoplayVideoWhenReady = false
    overlayTapGestureRecognizer = 0x00000001701b3080 {
      baseUIGestureRecognizer@0 = <extracting data from value failed>

      _imp = 0x00000001701735c0
      _delaysRecognitionForGreaterTapCounts = 0
      _buttonType = -1
    }
    overlayDoubleTapGestureRecognizer = 0x00000001701b2fa0 {
      baseUIGestureRecognizer@0 = <extracting data from value failed>

      _imp = 0x0000000170173500
      _delaysRecognitionForGreaterTapCounts = 0
      _buttonType = -1
    }
    playerContainer = 0x000000010111ce00 {
      baseUIResponder@0 = {
        NSObject = {
          isa = 0x000000010111ce00
        }
        _hasOverrideClient = false
        _hasOverrideHost = false
        _hasInputAssistantItem = false
      }
      _constraintsExceptingSubviewAutoresizingConstraints = 0x00000001702550f0 13 elements
      _cachedTraitCollection = 0x00000001740cd120
      _layer = 0x00000001740342c0
      _layerRetained = nil
      _gestureInfo = nil
      _gestureRecognizers = nil
      _window = 0x00000001010083a0
      _subviewCache = 0x0000000170255090 3 elements
      _templateLayoutView = nil
      _charge = 0
      _tag = 0
      _viewDelegate = nil
      _backgroundColorSystemColorName = nil
      _countOfMotionEffectsInSubtree = 0
      _countOfTraitChangeRespondersInDirectSubtree = 4
      _cachedScreenScale = 2
      _layoutSubviewsCount = 0
      _retainCount = 2
      _tintAdjustmentDimmingCount = 0
      _shouldArchiveUIAppearanceTags = false
      _wantsDeepColorDrawing = true
      _interactionTintColor = nil
      _layoutMarginsGuide = nil
      _minXVariable = 0x0000000174035da0
      _minYVariable = 0x0000000174033ba0
      _boundsWidthVariable = 0x0000000174036220
      _boundsHeightVariable = 0x0000000174035800
      _layoutEngine = 0x00000001701927c0
      _layoutDebuggingIdentifier = nil
      _stashedLayoutVariableObservations = 0x0000000101135c20
      _internalConstraints = 0x0000000170015e80 0 elements
      _continuousCornerRadius = 0
      _countOfFocusedAncestorTrackingViewsInSubtree = 0
      _semanticContentAttribute = 0
      _contentSizeNotificationToken = nil
      _readableContentGuide = nil
      __preferedContentsFormat = 0
      _previewingSegueTemplateStorage = nil
      __presentationControllerToNotifyOnLayoutSubviews = nil
    }
    playerFlatView = 0x000000010111cfa0 {
      UIKit.UIView = {
        baseUIResponder@0 = {
          NSObject = {
            isa = 0x000000010111cfa0
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = 0x0000000174248250 0 elements
        _cachedTraitCollection = 0x00000001740cd120
        _layer = 0x0000000174033a40
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = 0x00000001010083a0
        _subviewCache = 0x000000017024dce0 0 elements
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 1
        _cachedScreenScale = 2
        _layoutSubviewsCount = 0
        _retainCount = 2
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = true
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = 0x0000000174035020
        _minYVariable = 0x0000000174035920
        _boundsWidthVariable = 0x00000001740368e0
        _boundsHeightVariable = 0x0000000174033c40
        _layoutEngine = 0x00000001701927c0
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = 0x0000000101136140
        _internalConstraints = 0x0000000170015e80 0 elements
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      wistiaPlayer = 0x0000000101929600 {...}
    }
    player360View = 0x0000000101023af0 {
      UIKit.UIView = {
        baseUIResponder@0 = {
          NSObject = {
            isa = 0x0000000101023af0
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = 0x000000017024d560 6 elements
        _cachedTraitCollection = 0x00000001740cd120
        _layer = 0x0000000170038cc0
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = 0x00000001010083a0
        _subviewCache = 0x0000000170254280 1 element
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 2
        _cachedScreenScale = 2
        _layoutSubviewsCount = 0
        _retainCount = 2
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = true
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = 0x0000000174035d40
        _minYVariable = 0x00000001740361a0
        _boundsWidthVariable = 0x0000000174033e80
        _boundsHeightVariable = 0x000000017402eac0
        _layoutEngine = 0x00000001701927c0
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = 0x000000010110a070
        _internalConstraints = 0x0000000170015e80 0 elements
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      sceneView = 0x0000000101028c10 {
        baseUIView@0 = {
          UIResponder = {
            NSObject = {
              isa = 0x0000000101028c10
            }
            _hasOverrideClient = false
            _hasOverrideHost = false
            _hasInputAssistantItem = false
          }
          _constraintsExceptingSubviewAutoresizingConstraints = nil
          _cachedTraitCollection = nil
          _layer = nil
          _layerRetained = nil
          _gestureInfo = nil
          _gestureRecognizers = nil
          _window = nil
          _subviewCache = nil
          _templateLayoutView = nil
          _charge = 0
          _tag = 0
          _viewDelegate = nil
          _backgroundColorSystemColorName = nil
          _countOfMotionEffectsInSubtree = 0
          _countOfTraitChangeRespondersInDirectSubtree = 0
          _cachedScreenScale = 0
          _layoutSubviewsCount = 0
          _retainCount = 0
          _tintAdjustmentDimmingCount = 0
          _shouldArchiveUIAppearanceTags = false
          _wantsDeepColorDrawing = false
          _interactionTintColor = nil
          _layoutMarginsGuide = nil
          _minXVariable = nil
          _minYVariable = nil
          _boundsWidthVariable = nil
          _boundsHeightVariable = nil
          _layoutEngine = nil
          _layoutDebuggingIdentifier = nil
          _stashedLayoutVariableObservations = nil
          _internalConstraints = nil
          _continuousCornerRadius = 0
          _countOfFocusedAncestorTrackingViewsInSubtree = 0
          _semanticContentAttribute = 0
          _contentSizeNotificationToken = nil
          _readableContentGuide = nil
          __preferedContentsFormat = 0
          _previewingSegueTemplateStorage = nil
          __presentationControllerToNotifyOnLayoutSubviews = nil
        }
        _currentSystemTime = 18632.812141958337
        _lastUpdate = 0
        __ibSceneName = nil
        __ibPreferredRenderingAPI = 0
        _renderingAPI = 0
        _delegate = nil
        _renderer = 0x00000001010288c0
        _scene = nil
        __displayLink = 0x00000001740986f0
        _preferredFramePerSeconds = 0
        _jitterer = 0x000000017426fe40
        _lock = 0x00000001700d1410
        _backgroundColor = nil
        _snapshotImageData = 0x0000000000000000
        _snapshotImageDataLength = 0
        _eventHandler = nil
        _spriteKitEventHandler = nil
        _device = nil
        _controllerGestureRecognizers = nil
      }
      scene = 0x0000000170129f60 {
        baseNSObject@0 = {
          isa = 0x0000000170129f60
        }
        _scene = 0x0000000101023d50
        _sceneSource = nil
        _lastEvalTime = 0
        _physicsWorld = nil
        _rootNode = 0x00000001701df590
        _layerRootNode = {
          [0] = 0x00000001701df590
          [1] = nil
          [2] = nil
          [3] = nil
        }
        _background = nil
        _environment = nil
        _userAttributes = nil
        _fogStartDistance = 0
        _fogEndDistance = 0
        _fogDensityExponent = 1
        _fogColor = 0x0000000170464a80
        _paused = false
        _pausedForEditing = false
        _authoringEnvironment = nil
      }
      camera = 0x0000000101028090 {
        baseNSObject@0 = {
          isa = 0x0000000101028090
        }
        _animations = nil
        _name = nil
        _xFov = 0
        _yFov = 0
        _orthographicScale = 1
        _zNear = 1
        _zFar = 100
        _focalDistance = 10
        _focalBlurRadius = 0
        _focalSize = 0
        _aperture = 0.125
        _categoryBitMask = 18446744073709551615
        _technique = nil
        _colorGrading = nil
        _wantsHDR = false
        _whitePoint = 1
        _averageGray = 0.180000007
        _exposureOffset = 0
        _minimumExposure = -15
        _maximumExposure = 15
        _wantsExposureAdaptation = false
        _exposureAdaptationDuration = 1
        _exposureAdaptationBrighteningSpeedFactor = 0.400000006
        _exposureAdaptationDarkeningSpeedFactor = 0.600000024
        _bloomIntensity = 0
        _bloomThreshold = 0.5
        _bloomBlurRadius = 4
        _motionBlurIntensity = 0
        _vignettingPower = 0
        _vignettingIntensity = 1
        _colorFringeStrength = 0
        _colorFringeIntensity = 1
        _saturation = 1
        _contrast = 0
      }
      cameraNode = 0x00000001701df680 {
        baseNSObject@0 = {
          isa = 0x00000001701df680
        }
        _parent = nil
        _childNodes = nil
        _presentationInstance = nil
        _opacity = 1
        _categoryBitMask = 1
        _components = nil
        _animations = nil
        _actions = nil
        _renderingOrder = 0
        _name = nil
        _valueForKey = nil
        _rendererDelegate = nil
      }
      cameraHolderNode = 0x00000001701df770 {
        baseNSObject@0 = {
          isa = 0x00000001701df770
        }
        _parent = nil
        _childNodes = nil
        _presentationInstance = nil
        _opacity = 1
        _categoryBitMask = 1
        _components = nil
        _animations = nil
        _actions = nil
        _renderingOrder = 0
        _name = nil
        _valueForKey = nil
        _rendererDelegate = nil
      }
      SphereRadius = 30
      sphereNode = 0x00000001701df860 {
        baseNSObject@0 = {
          isa = 0x00000001701df860
        }
        _parent = nil
        _childNodes = nil
        _presentationInstance = nil
        _opacity = 1
        _categoryBitMask = 1
        _components = nil
        _animations = nil
        _actions = nil
        _renderingOrder = 0
        _name = nil
        _valueForKey = nil
        _rendererDelegate = nil
      }
      defaultCameraFov = 60
      cameraFovBounds = (min = 10, max = 90)
      pinchStartScale = 1
      initialCameraXFov = 0
      videoScene = nil
      videoNode = nil
      wPlayer = nil
      motionManager = 0x00000001700196d0 {
        baseNSObject@0 = {
          isa = 0x00000001700196d0
        }
        _internal = 0x0000000101028600
      }
      lastMotion = nil
      animatingPitch = false
      manualEuler = {
        x = 0
        y = 0
        z = 0
      }
      ManualPitchCapUp = 1.48352981
      ManualPitchCapDown = 1.04719758
      LookVectorUnchangedTemporalRequirement = 0.20000000000000001
      LookVectorUnchangedSpatialRequirement = (heading = 10, pitch = 5)
      lastLookVector = (heading = 0, pitch = 0)
      lookVectorStatsTimer = nil
      lookVectorIsSettled = false
    }
    player360ViewHeightConstraint = 0x000000017009e0f0 {
      baseNSObject@0 = {
        isa = 0x000000017009e0f0
      }
      _container = 0x0000000101023af0
      _firstAnchor = 0x0000000170468100
      _secondAnchor = nil
      _constant = 568
      _loweredConstant = -568
      _markerAndPositiveExtraVar = 0x000000017402bf00
      _negativeExtraVar = nil
      _layoutConstraintFlags = 21476671488
      _coefficient = 1
      _priority = 1000
    }
    player360ViewWidthConstraint = 0x000000017009e0a0 {
      baseNSObject@0 = {
        isa = 0x000000017009e0a0
      }
      _container = 0x0000000101023af0
      _firstAnchor = 0x0000000170467f80
      _secondAnchor = nil
      _constant = 320
      _loweredConstant = -320
      _markerAndPositiveExtraVar = 0x00000001740349a0
      _negativeExtraVar = nil
      _layoutConstraintFlags = 21476671488
      _coefficient = 1
      _priority = 1000
    }
    needsManualLayoutFor360View = false
    playing360 = false
    posterStillImageContainer = 0x000000010102d9c0 {
      baseUIResponder@0 = {
        NSObject = {
          isa = 0x000000010102d9c0
        }
        _hasOverrideClient = false
        _hasOverrideHost = false
        _hasInputAssistantItem = false
      }
      _constraintsExceptingSubviewAutoresizingConstraints = 0x0000000170255000 4 elements
      _cachedTraitCollection = 0x00000001740cd120
      _layer = 0x0000000170030d20
      _layerRetained = nil
      _gestureInfo = nil
      _gestureRecognizers = nil
      _window = 0x00000001010083a0
      _subviewCache = 0x0000000170254fa0 1 element
      _templateLayoutView = nil
      _charge = 0
      _tag = 0
      _viewDelegate = nil
      _backgroundColorSystemColorName = nil
      _countOfMotionEffectsInSubtree = 0
      _countOfTraitChangeRespondersInDirectSubtree = 2
      _cachedScreenScale = 2
      _layoutSubviewsCount = 0
      _retainCount = 2
      _tintAdjustmentDimmingCount = 0
      _shouldArchiveUIAppearanceTags = false
      _wantsDeepColorDrawing = true
      _interactionTintColor = nil
      _layoutMarginsGuide = nil
      _minXVariable = 0x0000000174035200
      _minYVariable = 0x0000000174035aa0
      _boundsWidthVariable = 0x00000001740363a0
      _boundsHeightVariable = 0x00000001740364c0
      _layoutEngine = 0x00000001701927c0
      _layoutDebuggingIdentifier = nil
      _stashedLayoutVariableObservations = 0x00000001011355e0
      _internalConstraints = 0x0000000170015e80 0 elements
      _continuousCornerRadius = 0
      _countOfFocusedAncestorTrackingViewsInSubtree = 0
      _semanticContentAttribute = 0
      _contentSizeNotificationToken = nil
      _readableContentGuide = nil
      __preferedContentsFormat = 0
      _previewingSegueTemplateStorage = nil
      __presentationControllerToNotifyOnLayoutSubviews = nil
    }
    posterStillImage = 0x000000010102db60 {
      baseUIView@0 = {
        UIResponder = {
          NSObject = {
            isa = 0x000000010102db60
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = nil
        _cachedTraitCollection = nil
        _layer = nil
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = nil
        _subviewCache = nil
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 0
        _cachedScreenScale = 0
        _layoutSubviewsCount = 0
        _retainCount = 0
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = false
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = nil
        _minYVariable = nil
        _boundsWidthVariable = nil
        _boundsHeightVariable = nil
        _layoutEngine = nil
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = nil
        _internalConstraints = nil
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      _storage = nil
      _lastResolvedTraitCollection = 0x00000001740cd120
      _lastResolvedLayoutDirectionTrait = 0
      _templateSettingsAreInvalid = false
      _edgeInsetsForEffectsAreValid = true
      _adjustsImageWhenAncestorFocused = false
      __animatesContents = false
      _focusedFrameGuide = nil
    }
    posterPlayButtonContainer = 0x0000000101029170 {
      baseUIView@0 = {
        UIResponder = {
          NSObject = {
            isa = 0x0000000101029170
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = nil
        _cachedTraitCollection = nil
        _layer = nil
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = nil
        _subviewCache = nil
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 0
        _cachedScreenScale = 0
        _layoutSubviewsCount = 0
        _retainCount = 0
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = false
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = nil
        _minYVariable = nil
        _boundsWidthVariable = nil
        _boundsHeightVariable = nil
        _layoutEngine = nil
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = nil
        _internalConstraints = nil
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      _maskView = nil
      _maskImage = nil
      _contentView = 0x000000010100e090
      _backdropSubview = 0x000000010102f520
      _grayscaleSubview = 0x000000010102f6f0
      _colorSubview = nil
      _colorBurnSubview = nil
      _darkeningSubview = nil
      _effectConfigViews = nil
      __blurDisabled = false
      _groupName = nil
      _cornerRadius = 0
      _effect = 0x000000017046b200
      _overrideEffect = nil
    }
    posterPlayButton = 0x000000010102c870 {
      baseUIControl@0 = {
        UIView = {
          UIResponder = {
            NSObject = {
              isa = 0x000000010102c870
            }
            _hasOverrideClient = false
            _hasOverrideHost = false
            _hasInputAssistantItem = false
          }
          _constraintsExceptingSubviewAutoresizingConstraints = nil
          _cachedTraitCollection = nil
          _layer = nil
          _layerRetained = nil
          _gestureInfo = nil
          _gestureRecognizers = nil
          _window = nil
          _subviewCache = nil
          _templateLayoutView = nil
          _charge = 0
          _tag = 0
          _viewDelegate = nil
          _backgroundColorSystemColorName = nil
          _countOfMotionEffectsInSubtree = 0
          _countOfTraitChangeRespondersInDirectSubtree = 0
          _cachedScreenScale = 0
          _layoutSubviewsCount = 0
          _retainCount = 0
          _tintAdjustmentDimmingCount = 0
          _shouldArchiveUIAppearanceTags = false
          _wantsDeepColorDrawing = false
          _interactionTintColor = nil
          _layoutMarginsGuide = nil
          _minXVariable = nil
          _minYVariable = nil
          _boundsWidthVariable = nil
          _boundsHeightVariable = nil
          _layoutEngine = nil
          _layoutDebuggingIdentifier = nil
          _stashedLayoutVariableObservations = nil
          _internalConstraints = nil
          _continuousCornerRadius = 0
          _countOfFocusedAncestorTrackingViewsInSubtree = 0
          _semanticContentAttribute = 0
          _contentSizeNotificationToken = nil
          _readableContentGuide = nil
          __preferedContentsFormat = 0
          _previewingSegueTemplateStorage = nil
          __presentationControllerToNotifyOnLayoutSubviews = nil
        }
        _targetActions = nil
        _downTime = 0
      }
      _externalFlatEdge = 0
      _contentLookup = 0x0000000170461c80
      _backgroundView = nil
      _floatingContentView = nil
      _contentBackdropView = nil
      _imageView = 0x0000000101135a00
      _titleView = nil
      _initialized = false
      _lastDrawingControlState = 0
      _selectGestureRecognizer = nil
      _effectiveContentView = 0x000000010102c870
      _maskAnimationView = nil
      _selectionView = nil
      _lazyTitleViewFont = 0x000000010100d7e0
      _contentConstraints = nil
    }
    posterLoadingIndicator = 0x000000010102f890 {
      baseUIView@0 = {
        UIResponder = {
          NSObject = {
            isa = 0x000000010102f890
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = nil
        _cachedTraitCollection = nil
        _layer = nil
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = nil
        _subviewCache = nil
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 0
        _cachedScreenScale = 0
        _layoutSubviewsCount = 0
        _retainCount = 0
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = false
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = nil
        _minYVariable = nil
        _boundsWidthVariable = nil
        _boundsHeightVariable = nil
        _layoutEngine = nil
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = nil
        _internalConstraints = nil
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      _duration = 0
      _animating = true
      _activityIndicatorViewStyle = 0
      _actualActivityIndicatorViewStyle = 0
      _hidesWhenStopped = true
      _hasShadow = false
      _clockWise = true
      _spinning = false
      _useArtwork = false
      _useOutlineShadow = false
      _width = 37
      _color = 0x0000000174243060
      _spokeCount = 12
      _shadowColor = nil
      _innerRadius = 0
      _spokeFrameRatio = 1
      _spokeImages = 0x0000000170256b60 12 elements
      _spinningDuration = 0
      _artBackupKeyString = 0x00000001702a4080 "37.000000-12-1-UIExtendedGrayColorSpace 1 1-(null)-{0, 0}-CW-OutlineShadowOFF"
      _highlightArtBackupKeyString = nil
      _internalView = 0x000000010102fcc0
      _spokeHighlightImages = nil
    }
    posterErrorIndicator = 0x0000000101032760 {
      baseUIView@0 = {
        UIResponder = {
          NSObject = {
            isa = 0x0000000101032760
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = nil
        _cachedTraitCollection = nil
        _layer = nil
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = nil
        _subviewCache = nil
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 0
        _cachedScreenScale = 0
        _layoutSubviewsCount = 0
        _retainCount = 0
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = false
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = nil
        _minYVariable = nil
        _boundsWidthVariable = nil
        _boundsHeightVariable = nil
        _layoutEngine = nil
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = nil
        _internalConstraints = nil
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      _storage = 0x0000000170280370
      _lastResolvedTraitCollection = 0x00000001740cd120
      _lastResolvedLayoutDirectionTrait = 0
      _templateSettingsAreInvalid = false
      _edgeInsetsForEffectsAreValid = true
      _adjustsImageWhenAncestorFocused = false
      __animatesContents = false
      _focusedFrameGuide = nil
    }
    playbackControlsContainer = 0x0000000101132aa0 {
      baseUIView@0 = {
        UIResponder = {
          NSObject = {
            isa = 0x0000000101132aa0
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = nil
        _cachedTraitCollection = nil
        _layer = nil
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = nil
        _subviewCache = nil
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 0
        _cachedScreenScale = 0
        _layoutSubviewsCount = 0
        _retainCount = 0
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = false
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = nil
        _minYVariable = nil
        _boundsWidthVariable = nil
        _boundsHeightVariable = nil
        _layoutEngine = nil
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = nil
        _internalConstraints = nil
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      _maskView = nil
      _maskImage = nil
      _contentView = 0x00000001011330b0
      _backdropSubview = 0x0000000101028a00
      _grayscaleSubview = 0x0000000101028fd0
      _colorSubview = nil
      _colorBurnSubview = nil
      _darkeningSubview = nil
      _effectConfigViews = nil
      __blurDisabled = false
      _groupName = nil
      _cornerRadius = 0
      _effect = 0x0000000174272680
      _overrideEffect = nil
    }
    playbackControlsInnerContainer = 0x0000000101133460 {
      baseUIView@0 = {
        UIResponder = {
          NSObject = {
            isa = 0x0000000101133460
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = nil
        _cachedTraitCollection = nil
        _layer = nil
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = nil
        _subviewCache = nil
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 0
        _cachedScreenScale = 0
        _layoutSubviewsCount = 0
        _retainCount = 0
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = false
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = nil
        _minYVariable = nil
        _boundsWidthVariable = nil
        _boundsHeightVariable = nil
        _layoutEngine = nil
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = nil
        _internalConstraints = nil
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      _maskView = nil
      _maskImage = nil
      _contentView = 0x0000000101133670
      _backdropSubview = 0x00000001011346e0
      _grayscaleSubview = 0x0000000101026c50
      _colorSubview = nil
      _colorBurnSubview = nil
      _darkeningSubview = nil
      _effectConfigViews = nil
      __blurDisabled = false
      _groupName = nil
      _cornerRadius = 0
      _effect = 0x0000000174272780
      _overrideEffect = nil
    }
    controlsPlayPauseButton = 0x0000000101023170 {
      baseUIControl@0 = {
        UIView = {
          UIResponder = {
            NSObject = {
              isa = 0x0000000101023170
            }
            _hasOverrideClient = false
            _hasOverrideHost = false
            _hasInputAssistantItem = false
          }
          _constraintsExceptingSubviewAutoresizingConstraints = nil
          _cachedTraitCollection = nil
          _layer = nil
          _layerRetained = nil
          _gestureInfo = nil
          _gestureRecognizers = nil
          _window = nil
          _subviewCache = nil
          _templateLayoutView = nil
          _charge = 0
          _tag = 0
          _viewDelegate = nil
          _backgroundColorSystemColorName = nil
          _countOfMotionEffectsInSubtree = 0
          _countOfTraitChangeRespondersInDirectSubtree = 0
          _cachedScreenScale = 0
          _layoutSubviewsCount = 0
          _retainCount = 0
          _tintAdjustmentDimmingCount = 0
          _shouldArchiveUIAppearanceTags = false
          _wantsDeepColorDrawing = false
          _interactionTintColor = nil
          _layoutMarginsGuide = nil
          _minXVariable = nil
          _minYVariable = nil
          _boundsWidthVariable = nil
          _boundsHeightVariable = nil
          _layoutEngine = nil
          _layoutDebuggingIdentifier = nil
          _stashedLayoutVariableObservations = nil
          _internalConstraints = nil
          _continuousCornerRadius = 0
          _countOfFocusedAncestorTrackingViewsInSubtree = 0
          _semanticContentAttribute = 0
          _contentSizeNotificationToken = nil
          _readableContentGuide = nil
          __preferedContentsFormat = 0
          _previewingSegueTemplateStorage = nil
          __presentationControllerToNotifyOnLayoutSubviews = nil
        }
        _targetActions = nil
        _downTime = 0
      }
      _externalFlatEdge = 0
      _contentLookup = 0x0000000170462080
      _backgroundView = nil
      _floatingContentView = nil
      _contentBackdropView = nil
      _imageView = 0x0000000101135060
      _titleView = nil
      _initialized = false
      _lastDrawingControlState = 0
      _selectGestureRecognizer = nil
      _effectiveContentView = 0x0000000101023170
      _maskAnimationView = nil
      _selectionView = nil
      _lazyTitleViewFont = 0x000000010100d7e0
      _contentConstraints = nil
    }
    controlsCaptionsButton = 0x0000000101022190 {
      baseUIControl@0 = {
        UIView = {
          UIResponder = {
            NSObject = {
              isa = 0x0000000101022190
            }
            _hasOverrideClient = false
            _hasOverrideHost = false
            _hasInputAssistantItem = false
          }
          _constraintsExceptingSubviewAutoresizingConstraints = nil
          _cachedTraitCollection = nil
          _layer = nil
          _layerRetained = nil
          _gestureInfo = nil
          _gestureRecognizers = nil
          _window = nil
          _subviewCache = nil
          _templateLayoutView = nil
          _charge = 0
          _tag = 0
          _viewDelegate = nil
          _backgroundColorSystemColorName = nil
          _countOfMotionEffectsInSubtree = 0
          _countOfTraitChangeRespondersInDirectSubtree = 0
          _cachedScreenScale = 0
          _layoutSubviewsCount = 0
          _retainCount = 0
          _tintAdjustmentDimmingCount = 0
          _shouldArchiveUIAppearanceTags = false
          _wantsDeepColorDrawing = false
          _interactionTintColor = nil
          _layoutMarginsGuide = nil
          _minXVariable = nil
          _minYVariable = nil
          _boundsWidthVariable = nil
          _boundsHeightVariable = nil
          _layoutEngine = nil
          _layoutDebuggingIdentifier = nil
          _stashedLayoutVariableObservations = nil
          _internalConstraints = nil
          _continuousCornerRadius = 0
          _countOfFocusedAncestorTrackingViewsInSubtree = 0
          _semanticContentAttribute = 0
          _contentSizeNotificationToken = nil
          _readableContentGuide = nil
          __preferedContentsFormat = 0
          _previewingSegueTemplateStorage = nil
          __presentationControllerToNotifyOnLayoutSubviews = nil
        }
        _targetActions = nil
        _downTime = 0
      }
      _externalFlatEdge = 0
      _contentLookup = 0x0000000170461a40
      _backgroundView = nil
      _floatingContentView = nil
      _contentBackdropView = nil
      _imageView = 0x0000000101136580
      _titleView = nil
      _initialized = false
      _lastDrawingControlState = 0
      _selectGestureRecognizer = nil
      _effectiveContentView = 0x0000000101022190
      _maskAnimationView = nil
      _selectionView = nil
      _lazyTitleViewFont = 0x000000010100d7e0
      _contentConstraints = nil
    }
    controlsActionButton = 0x00000001010200d0 {
      baseUIControl@0 = {
        UIView = {
          UIResponder = {
            NSObject = {
              isa = 0x00000001010200d0
            }
            _hasOverrideClient = false
            _hasOverrideHost = false
            _hasInputAssistantItem = false
          }
          _constraintsExceptingSubviewAutoresizingConstraints = nil
          _cachedTraitCollection = nil
          _layer = nil
          _layerRetained = nil
          _gestureInfo = nil
          _gestureRecognizers = nil
          _window = nil
          _subviewCache = nil
          _templateLayoutView = nil
          _charge = 0
          _tag = 0
          _viewDelegate = nil
          _backgroundColorSystemColorName = nil
          _countOfMotionEffectsInSubtree = 0
          _countOfTraitChangeRespondersInDirectSubtree = 0
          _cachedScreenScale = 0
          _layoutSubviewsCount = 0
          _retainCount = 0
          _tintAdjustmentDimmingCount = 0
          _shouldArchiveUIAppearanceTags = false
          _wantsDeepColorDrawing = false
          _interactionTintColor = nil
          _layoutMarginsGuide = nil
          _minXVariable = nil
          _minYVariable = nil
          _boundsWidthVariable = nil
          _boundsHeightVariable = nil
          _layoutEngine = nil
          _layoutDebuggingIdentifier = nil
          _stashedLayoutVariableObservations = nil
          _internalConstraints = nil
          _continuousCornerRadius = 0
          _countOfFocusedAncestorTrackingViewsInSubtree = 0
          _semanticContentAttribute = 0
          _contentSizeNotificationToken = nil
          _readableContentGuide = nil
          __preferedContentsFormat = 0
          _previewingSegueTemplateStorage = nil
          __presentationControllerToNotifyOnLayoutSubviews = nil
        }
        _targetActions = nil
        _downTime = 0
      }
      _externalFlatEdge = 0
      _contentLookup = 0x0000000170461840
      _backgroundView = nil
      _floatingContentView = nil
      _contentBackdropView = nil
      _imageView = 0x0000000101136760
      _titleView = nil
      _initialized = false
      _lastDrawingControlState = 0
      _selectGestureRecognizer = nil
      _effectiveContentView = 0x00000001010200d0
      _maskAnimationView = nil
      _selectionView = nil
      _lazyTitleViewFont = 0x000000010100d7e0
      _contentConstraints = nil
    }
    controlsCloseButton = 0x0000000101022eb0 {
      baseUIControl@0 = {
        UIView = {
          UIResponder = {
            NSObject = {
              isa = 0x0000000101022eb0
            }
            _hasOverrideClient = false
            _hasOverrideHost = false
            _hasInputAssistantItem = false
          }
          _constraintsExceptingSubviewAutoresizingConstraints = nil
          _cachedTraitCollection = nil
          _layer = nil
          _layerRetained = nil
          _gestureInfo = nil
          _gestureRecognizers = nil
          _window = nil
          _subviewCache = nil
          _templateLayoutView = nil
          _charge = 0
          _tag = 0
          _viewDelegate = nil
          _backgroundColorSystemColorName = nil
          _countOfMotionEffectsInSubtree = 0
          _countOfTraitChangeRespondersInDirectSubtree = 0
          _cachedScreenScale = 0
          _layoutSubviewsCount = 0
          _retainCount = 0
          _tintAdjustmentDimmingCount = 0
          _shouldArchiveUIAppearanceTags = false
          _wantsDeepColorDrawing = false
          _interactionTintColor = nil
          _layoutMarginsGuide = nil
          _minXVariable = nil
          _minYVariable = nil
          _boundsWidthVariable = nil
          _boundsHeightVariable = nil
          _layoutEngine = nil
          _layoutDebuggingIdentifier = nil
          _stashedLayoutVariableObservations = nil
          _internalConstraints = nil
          _continuousCornerRadius = 0
          _countOfFocusedAncestorTrackingViewsInSubtree = 0
          _semanticContentAttribute = 0
          _contentSizeNotificationToken = nil
          _readableContentGuide = nil
          __preferedContentsFormat = 0
          _previewingSegueTemplateStorage = nil
          __presentationControllerToNotifyOnLayoutSubviews = nil
        }
        _targetActions = nil
        _downTime = 0
      }
      _externalFlatEdge = 0
      _contentLookup = 0x0000000170461e40
      _backgroundView = nil
      _floatingContentView = nil
      _contentBackdropView = nil
      _imageView = 0x0000000101135820
      _titleView = nil
      _initialized = false
      _lastDrawingControlState = 0
      _selectGestureRecognizer = nil
      _effectiveContentView = 0x0000000101022eb0
      _maskAnimationView = nil
      _selectionView = nil
      _lazyTitleViewFont = 0x000000010100d7e0
      _contentConstraints = nil
    }
    scrubberTrackContainerView = 0x000000010102c6d0 {
      baseUIResponder@0 = {
        NSObject = {
          isa = 0x000000010102c6d0
        }
        _hasOverrideClient = false
        _hasOverrideHost = false
        _hasInputAssistantItem = false
      }
      _constraintsExceptingSubviewAutoresizingConstraints = 0x0000000174240270 3 elements
      _cachedTraitCollection = 0x00000001740cd120
      _layer = 0x000000017003a120
      _layerRetained = nil
      _gestureInfo = nil
      _gestureRecognizers = 0x000000017024a620 2 elements
      _window = 0x00000001010083a0
      _subviewCache = 0x000000017405fb60 1 element
      _templateLayoutView = nil
      _charge = 0
      _tag = 0
      _viewDelegate = nil
      _backgroundColorSystemColorName = nil
      _countOfMotionEffectsInSubtree = 0
      _countOfTraitChangeRespondersInDirectSubtree = 2
      _cachedScreenScale = 2
      _layoutSubviewsCount = 0
      _retainCount = 12
      _tintAdjustmentDimmingCount = 0
      _shouldArchiveUIAppearanceTags = false
      _wantsDeepColorDrawing = true
      _interactionTintColor = nil
      _layoutMarginsGuide = nil
      _minXVariable = 0x0000000174034d40
      _minYVariable = 0x00000001740337a0
      _boundsWidthVariable = 0x000000017003c000
      _boundsHeightVariable = 0x000000017003b400
      _layoutEngine = 0x00000001701927c0
      _layoutDebuggingIdentifier = nil
      _stashedLayoutVariableObservations = 0x0000000101135d40
      _internalConstraints = 0x0000000170015e80 0 elements
      _continuousCornerRadius = 0
      _countOfFocusedAncestorTrackingViewsInSubtree = 0
      _semanticContentAttribute = 0
      _contentSizeNotificationToken = nil
      _readableContentGuide = nil
      __preferedContentsFormat = 0
      _previewingSegueTemplateStorage = nil
      __presentationControllerToNotifyOnLayoutSubviews = nil
    }
    scrubberCurrentProgressView = 0x000000010102cf00 {
      baseUIResponder@0 = {
        NSObject = {
          isa = 0x000000010102cf00
        }
        _hasOverrideClient = false
        _hasOverrideHost = false
        _hasInputAssistantItem = false
      }
      _constraintsExceptingSubviewAutoresizingConstraints = 0x0000000174242af0 4 elements
      _cachedTraitCollection = 0x00000001740cd120
      _layer = 0x000000017003a140
      _layerRetained = nil
      _gestureInfo = nil
      _gestureRecognizers = nil
      _window = 0x00000001010083a0
      _subviewCache = 0x00000001742446e0 1 element
      _templateLayoutView = nil
      _charge = 0
      _tag = 0
      _viewDelegate = nil
      _backgroundColorSystemColorName = nil
      _countOfMotionEffectsInSubtree = 0
      _countOfTraitChangeRespondersInDirectSubtree = 2
      _cachedScreenScale = 2
      _layoutSubviewsCount = 0
      _retainCount = 2
      _tintAdjustmentDimmingCount = 0
      _shouldArchiveUIAppearanceTags = false
      _wantsDeepColorDrawing = true
      _interactionTintColor = nil
      _layoutMarginsGuide = nil
      _minXVariable = 0x00000001740339e0
      _minYVariable = 0x0000000174033d00
      _boundsWidthVariable = 0x0000000174034ea0
      _boundsHeightVariable = 0x0000000174033860
      _layoutEngine = 0x00000001701927c0
      _layoutDebuggingIdentifier = nil
      _stashedLayoutVariableObservations = 0x0000000101136a50
      _internalConstraints = 0x0000000170015e80 0 elements
      _continuousCornerRadius = 0
      _countOfFocusedAncestorTrackingViewsInSubtree = 0
      _semanticContentAttribute = 0
      _contentSizeNotificationToken = nil
      _readableContentGuide = nil
      __preferedContentsFormat = 0
      _previewingSegueTemplateStorage = nil
      __presentationControllerToNotifyOnLayoutSubviews = nil
    }
    scrubberCurrentProgressViewWidthConstraint = 0x0000000174097d90 {
      baseNSObject@0 = {
        isa = 0x0000000174097d90
      }
      _container = 0x000000010102cf00
      _firstAnchor = 0x0000000174270140
      _secondAnchor = nil
      _constant = 0
      _loweredConstant = 0
      _markerAndPositiveExtraVar = 0x0000000174034660
      _negativeExtraVar = nil
      _layoutConstraintFlags = 21476671488
      _coefficient = 1
      _priority = 1000
    }
    scrubberTrackCurrentTimeLabel = 0x000000010102d0a0 {
      baseUIView@0 = {
        UIResponder = {
          NSObject = {
            isa = 0x000000010102d0a0
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = nil
        _cachedTraitCollection = nil
        _layer = nil
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = nil
        _subviewCache = nil
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 0
        _cachedScreenScale = 0
        _layoutSubviewsCount = 0
        _retainCount = 0
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = false
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = nil
        _minYVariable = nil
        _boundsWidthVariable = nil
        _boundsHeightVariable = nil
        _layoutEngine = nil
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = nil
        _internalConstraints = nil
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      _highlightedColor = nil
      _numberOfLines = 1
      _measuredNumberOfLines = -1
      _lastLineBaseline = 0
      _previousBaselineOffsetFromBottom = 984
      _firstLineBaseline = 0
      _previousFirstLineBaseline = 16
      _minimumScaleFactor = 0
      _content = nil
      _synthesizedAttributedText = nil
      _defaultAttributes = 0x0000000170254ee0 4 key/value pairs
      _fallbackColorsForUserInterfaceStyle = nil
      _minimumFontSize = 0
      _lineSpacing = 0
      _layout = nil
      _scaledMetrics = nil
      _contentsFormat = 2
      _cuiCatalog = nil
      _cuiStyleEffectConfiguration = nil
      _adjustsFontForContentSizeCategory = false
      __textColorFollowsTintColor = false
      _preferredMaxLayoutWidth = 0
    }
    chromeInteractionTimer = nil
    extraCloseButton = 0x0000000101022820 {
      baseUIControl@0 = {
        UIView = {
          UIResponder = {
            NSObject = {
              isa = 0x0000000101022820
            }
            _hasOverrideClient = false
            _hasOverrideHost = false
            _hasInputAssistantItem = false
          }
          _constraintsExceptingSubviewAutoresizingConstraints = nil
          _cachedTraitCollection = nil
          _layer = nil
          _layerRetained = nil
          _gestureInfo = nil
          _gestureRecognizers = nil
          _window = nil
          _subviewCache = nil
          _templateLayoutView = nil
          _charge = 0
          _tag = 0
          _viewDelegate = nil
          _backgroundColorSystemColorName = nil
          _countOfMotionEffectsInSubtree = 0
          _countOfTraitChangeRespondersInDirectSubtree = 0
          _cachedScreenScale = 0
          _layoutSubviewsCount = 0
          _retainCount = 0
          _tintAdjustmentDimmingCount = 0
          _shouldArchiveUIAppearanceTags = false
          _wantsDeepColorDrawing = false
          _interactionTintColor = nil
          _layoutMarginsGuide = nil
          _minXVariable = nil
          _minYVariable = nil
          _boundsWidthVariable = nil
          _boundsHeightVariable = nil
          _layoutEngine = nil
          _layoutDebuggingIdentifier = nil
          _stashedLayoutVariableObservations = nil
          _internalConstraints = nil
          _continuousCornerRadius = 0
          _countOfFocusedAncestorTrackingViewsInSubtree = 0
          _semanticContentAttribute = 0
          _contentSizeNotificationToken = nil
          _readableContentGuide = nil
          __preferedContentsFormat = 0
          _previewingSegueTemplateStorage = nil
          __presentationControllerToNotifyOnLayoutSubviews = nil
        }
        _targetActions = nil
        _downTime = 0
      }
      _externalFlatEdge = 0
      _contentLookup = 0x0000000170461cc0
      _backgroundView = nil
      _floatingContentView = nil
      _contentBackdropView = nil
      _imageView = 0x0000000101138e80
      _titleView = nil
      _initialized = false
      _lastDrawingControlState = 0
      _selectGestureRecognizer = nil
      _effectiveContentView = 0x0000000101022820
      _maskAnimationView = nil
      _selectionView = nil
      _lazyTitleViewFont = 0x000000010100d7e0
      _contentConstraints = nil
    }
    captionsLabel = 0x000000010102e220 {
      UIKit.UILabel = {
        baseUIView@0 = {
          UIResponder = {
            NSObject = {
              isa = 0x000000010102e220
            }
            _hasOverrideClient = false
            _hasOverrideHost = false
            _hasInputAssistantItem = false
          }
          _constraintsExceptingSubviewAutoresizingConstraints = nil
          _cachedTraitCollection = nil
          _layer = nil
          _layerRetained = nil
          _gestureInfo = nil
          _gestureRecognizers = nil
          _window = nil
          _subviewCache = nil
          _templateLayoutView = nil
          _charge = 0
          _tag = 0
          _viewDelegate = nil
          _backgroundColorSystemColorName = nil
          _countOfMotionEffectsInSubtree = 0
          _countOfTraitChangeRespondersInDirectSubtree = 0
          _cachedScreenScale = 0
          _layoutSubviewsCount = 0
          _retainCount = 0
          _tintAdjustmentDimmingCount = 0
          _shouldArchiveUIAppearanceTags = false
          _wantsDeepColorDrawing = false
          _interactionTintColor = nil
          _layoutMarginsGuide = nil
          _minXVariable = nil
          _minYVariable = nil
          _boundsWidthVariable = nil
          _boundsHeightVariable = nil
          _layoutEngine = nil
          _layoutDebuggingIdentifier = nil
          _stashedLayoutVariableObservations = nil
          _internalConstraints = nil
          _continuousCornerRadius = 0
          _countOfFocusedAncestorTrackingViewsInSubtree = 0
          _semanticContentAttribute = 0
          _contentSizeNotificationToken = nil
          _readableContentGuide = nil
          __preferedContentsFormat = 0
          _previewingSegueTemplateStorage = nil
          __presentationControllerToNotifyOnLayoutSubviews = nil
        }
        _highlightedColor = nil
        _numberOfLines = 0
        _measuredNumberOfLines = -1
        _lastLineBaseline = 0
        _previousBaselineOffsetFromBottom = 0
        _firstLineBaseline = 0
        _previousFirstLineBaseline = 0
        _minimumScaleFactor = 0
        _content = 0x00000001a77bdbf0 ""
        _synthesizedAttributedText = nil
        _defaultAttributes = 0x0000000170255180 4 key/value pairs
        _fallbackColorsForUserInterfaceStyle = nil
        _minimumFontSize = 0
        _lineSpacing = 0
        _layout = nil
        _scaledMetrics = nil
        _contentsFormat = 1
        _cuiCatalog = nil
        _cuiStyleEffectConfiguration = nil
        _adjustsFontForContentSizeCategory = false
        __textColorFollowsTintColor = false
        _preferredMaxLayoutWidth = 16
      }
      leftEdgeInset = 8
      rightEdgeInset = 8
      topEdgeInset = 4
      bottomEdgeInset = 4
      edgeInsets = {
        top = 4
        left = 8
        bottom = 4
        right = 8
      }
    }
    captionsLanguagePickerView = 0x0000000101035f50 {
      baseUIView@0 = {
        UIResponder = {
          NSObject = {
            isa = 0x0000000101035f50
          }
          _hasOverrideClient = false
          _hasOverrideHost = false
          _hasInputAssistantItem = false
        }
        _constraintsExceptingSubviewAutoresizingConstraints = nil
        _cachedTraitCollection = nil
        _layer = nil
        _layerRetained = nil
        _gestureInfo = nil
        _gestureRecognizers = nil
        _window = nil
        _subviewCache = nil
        _templateLayoutView = nil
        _charge = 0
        _tag = 0
        _viewDelegate = nil
        _backgroundColorSystemColorName = nil
        _countOfMotionEffectsInSubtree = 0
        _countOfTraitChangeRespondersInDirectSubtree = 0
        _cachedScreenScale = 0
        _layoutSubviewsCount = 0
        _retainCount = 0
        _tintAdjustmentDimmingCount = 0
        _shouldArchiveUIAppearanceTags = false
        _wantsDeepColorDrawing = false
        _interactionTintColor = nil
        _layoutMarginsGuide = nil
        _minXVariable = nil
        _minYVariable = nil
        _boundsWidthVariable = nil
        _boundsHeightVariable = nil
        _layoutEngine = nil
        _layoutDebuggingIdentifier = nil
        _stashedLayoutVariableObservations = nil
        _internalConstraints = nil
        _continuousCornerRadius = 0
        _countOfFocusedAncestorTrackingViewsInSubtree = 0
        _semanticContentAttribute = 0
        _contentSizeNotificationToken = nil
        _readableContentGuide = nil
        __preferedContentsFormat = 0
        _previewingSegueTemplateStorage = nil
        __presentationControllerToNotifyOnLayoutSubviews = nil
      }
      _tables = 0x000000017424bf40 1 element
      _topFrame = nil
      _dividers = nil
      _selectionBars = nil
      _dataSource = 0x0000000101801200
      _delegate = 0x0000000101801200
      _backgroundView = nil
      _numberOfComponents = 0
      _topGradient = nil
      _bottomGradient = nil
      _foregroundView = 0x0000000101036390
      _maskGradientLayer = 0x0000000174035140
      _topLineView = 0x000000010113b4b0
      _bottomLineView = 0x000000010113b650
      _usesModernStyle = true
      _textColor = 0x0000000174241770
      _textShadowColor = 0x0000000170246ea0
      _currentTestParameters = nil
      _magnifierEnabled = true
      _enabled = true
      _magnifierLineColor = 0x0000000170248d00
      _retargetBehavior = 0x000000017411fb60
    }
    showStatusBar = true
  }
  requireHLS = false
  captionsRenderer = 0x000000010102dd40 {
    delegate = 0x0000000101801200 {...}
    captionsView = 0x000000010102e220 {...}
    enabled = false
    captionsLanguageCode = "eng"
    captionsLanguagesAvailable = 1 value {
      [0] = "eng"
    }
    media = some {
      name = "Shooting Laptop Screencasts"
      status = ready
      thumbnail = nil
      duration = 166.337997
      created = nil
      updated = nil
      assets = 20 values {
        [0] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/9039a1891fb40360d54cb980bcbd3776bb485913.bin"
          width = 1920
          height = 1080
          size = 316391352
          type = "original"
          status = ready
          slug = "original"
          displayName = "Original file"
          container = nil
          codec = nil
          ext = "mp4"
          bitrate = 14871
        }
        [1] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/16c63c633ab781d665f6f139b7c85380e22ed8b1.bin"
          width = 640
          height = 360
          size = 17430643
          type = "flash_video"
          status = ready
          slug = "flv_h264_818k"
          displayName = "360p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 818
        }
        [2] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/73b85c67563ea8003465754e1230f3de6e7f12b9.bin"
          width = 400
          height = 224
          size = 7022331
          type = "flash_video"
          status = ready
          slug = "flv_h264_329k"
          displayName = "224p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 329
        }
        [3] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/de22bf43d9c148950123f5c9fe798d84919463ec.bin"
          width = 960
          height = 540
          size = 27811253
          type = "md_flash_video"
          status = ready
          slug = "flv_h264_1306k"
          displayName = "540p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 1306
        }
        [4] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/37ac63356e12690b40ce7545c7eb6fc3daf7ef70.bin"
          width = 1280
          height = 720
          size = 54814967
          type = "hd_flash_video"
          status = ready
          slug = "flv_h264_2574k"
          displayName = "720p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 2574
        }
        [5] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/e4d96e88e4eb4315aa1e0866dd38332cf774da22.bin"
          width = 1920
          height = 1080
          size = 80790689
          type = "hd_flash_video"
          status = ready
          slug = "flv_h264_3794k"
          displayName = "1080p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 3794
        }
        [6] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/b4cba49c559d9f19f8b49db985eaf6c0e63c878b.bin"
          width = 1280
          height = 720
          size = 195099
          type = "still_image"
          status = ready
          slug = "still_image_1280x720"
          displayName = "Image"
          container = nil
          codec = nil
          ext = "jpg"
          bitrate = 0
        }
        [7] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/b4cba49c559d9f19f8b49db985eaf6c0e63c878b.bin"
          width = 1280
          height = 720
          size = 195099
          type = "still_image"
          status = ready
          slug = "still_image_1280x720"
          displayName = "Image"
          container = nil
          codec = nil
          ext = "jpg"
          bitrate = 0
        }
        [8] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/33cb955b095dbdc12ec06a34032d282d1a85b0f9.bin"
          width = 960
          height = 540
          size = 27741365
          type = "md_mp4_video"
          status = ready
          slug = "mp4_h264_1302k"
          displayName = "540p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 1302
        }
        [9] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/191fa755ae37ceb31ca72deb0fb97927233f1316.bin"
          width = 1920
          height = 1080
          size = 80718897
          type = "hd_mp4_video"
          status = ready
          slug = "mp4_h264_3791k"
          displayName = "1080p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 3791
        }
        [10] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/d889f883b0b145f2c11d9959ab63c1db69958cd2.bin"
          width = 640
          height = 360
          size = 11525385
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_539k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 539
        }
        [11] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/27b950839d548024264599dae36c5cab15b9dd9f.bin"
          width = 1280
          height = 720
          size = 54744527
          type = "hd_mp4_video"
          status = ready
          slug = "mp4_h264_2571k"
          displayName = "720p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 2571
        }
        [12] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/2b4a2c036a660ff6724ca495564c24159516c57d.bin"
          width = 640
          height = 360
          size = 19236865
          type = "iphone_video"
          status = ready
          slug = "mp4_h264_903k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 903
        }
        [13] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/98f4ccd0ba6ef0b38f0cae1ee2c0e32134aa37ad.bin"
          width = 640
          height = 360
          size = 11525385
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_539k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 539
        }
        [14] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/33d288607171f85358eea8120f3af636d58f3315.bin"
          width = 400
          height = 224
          size = 6953427
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_326k"
          displayName = "224p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 326
        }
        [15] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/8f47c50a324d22b29da4519d9d6a12f409e07631.bin"
          width = 640
          height = 360
          size = 11525385
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_539k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 539
        }
        [16] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/4f1ee1fcb3b611bc1ba78c2ec2c80f14b3b0140b.bin"
          width = 640
          height = 360
          size = 11519094
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_538k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 538
        }
        [17] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/548c429f88d4794a9564152b8f689f2ebaf9f088.bin"
          width = 640
          height = 360
          size = 11519094
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_538k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 538
        }
        [18] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/0d1ba858eddc71b099a727f4bb4584272580b5a4.bin"
          width = 640
          height = 360
          size = 11519093
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_538k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 538
        }
        [19] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/ab89f97c1113124ecfe4dbc3555600a0e713e0ff.bin"
          width = 2000
          height = 2352
          size = 1145724
          type = "storyboard"
          status = ready
          slug = "storyboard_2000x2352"
          displayName = "Storyboard"
          container = nil
          codec = nil
          ext = "jpg"
          bitrate = 0
        }
      }
      description = nil
      hashedID = "8tjg8ftj2p"
      embedOptions = some {
        playerColor = 0x000000017047fc00 {...}
        bigPlayButton = true
        smallPlayButton = true
        playbar = true
        fullscreenButton = true
        controlsVisibleOnLoad = false
        autoplay = false
        endVideoBehaviorString = "default"
        endVideoBehavior = pauseOnLastFrame
        stillURL = nil
        actionButton = false
        actionShareURLString = nil
        actionShareTitle = nil
        captionsAvailable = true
        captionsOnByDefault = false
      }
      stats = nil
      distilleryURLString = "https://distillery.wistia.com/x"
      accountKey = "wistia-production_97"
      mediaKey = "wistia-production_16076342"
      spherical = false
      captions = 1 value {
        [0] = {
          captionsID = 378923
          languageCode = "eng"
          englishName = "English"
          nativeName = "English"
          rightToLeft = false
          captionSegments = 69 values {
            [0] = {
              startTime = 0.499000013
              endTime = 3.53999996
              text = 2 values {
                [0] = "Hey, I\'m Chris from Wistia,"
                [1] = "and I\'m on a laptop."
              }
            }
            [1] = {
              startTime = 3.53999996
              endTime = 6.34000015
              text = 2 values {
                [0] = "For this shot, we\'re using"
                [1] = "a camera to physically shoot"
              }
            }
            [2] = {
              startTime = 6.34000015
              endTime = 7.57999992
              text = 1 value {
                [0] = "the computer."
              }
            }
            [3] = {
              startTime = 7.57999992
              endTime = 9.36999988
              text = 1 value {
                [0] = "Why, might you ask?"
              }
            }
            [4] = {
              startTime = 9.36999988
              endTime = 11.3999996
              text = 2 values {
                [0] = "For us, it presents"
                [1] = "a more real-life look"
              }
            }
            [5] = {
              startTime = 11.3999996
              endTime = 13.6999998
              text = 2 values {
                [0] = "at the Wistia product,"
                [1] = "and we just kind of think"
              }
            }
            [6] = {
              startTime = 13.6999998
              endTime = 15.0299997
              text = 1 value {
                [0] = "it looks better."
              }
            }
            [7] = {
              startTime = 15.0299997
              endTime = 16.0900002
              text = 1 value {
                [0] = "So here\'s how we do it."
              }
            }
            [8] = {
              startTime = 16.0900002
              endTime = 18.8899994
              text = 2 values {
                [0] = "It all starts with"
                [1] = "recording a screencast."
              }
            }
            [9] = {
              startTime = 18.8899994
              endTime = 21.1900005
              text = 2 values {
                [0] = "We use ScreenFlow because"
                [1] = "it not only is a way"
              }
            }
            [10] = {
              startTime = 21.1900005
              endTime = 24.1100006
              text = 2 values {
                [0] = "to capture your screen, but"
                [1] = "it\'s a great editing program,"
              }
            }
            [11] = {
              startTime = 24.1100006
              endTime = 25.2999992
              text = 1 value {
                [0] = "as well."
              }
            }
            [12] = {
              startTime = 25.2999992
              endTime = 27.5400009
              text = 2 values {
                [0] = "We\'ll record each"
                [1] = "screencast segment,"
              }
            }
            [13] = {
              startTime = 27.5400009
              endTime = 30.1700001
              text = 2 values {
                [0] = "remove the boring parts,"
                [1] = "and then stitch together"
              }
            }
            [14] = {
              startTime = 30.1700001
              endTime = 32.9099998
              text = 2 values {
                [0] = "all of the shots that we"
                [1] = "want in our final video."
              }
            }
            [15] = {
              startTime = 32.9099998
              endTime = 34.7299995
              text = 2 values {
                [0] = "When everything is"
                [1] = "timed out just right,"
              }
            }
            [16] = {
              startTime = 34.7299995
              endTime = 37.5499992
              text = 2 values {
                [0] = "we export to a lossless"
                [1] = "QuickTime file."
              }
            }
            [17] = {
              startTime = 37.5499992
              endTime = 39.6500015
              text = 2 values {
                [0] = "Then with the file"
                [1] = "open up in QuickTime,"
              }
            }
            [18] = {
              startTime = 39.6500015
              endTime = 42.8699989
              text = 2 values {
                [0] = "we loop the playback,"
                [1] = "and take it full-screen."
              }
            }
            [19] = {
              startTime = 42.8699989
              endTime = 44.8300018
              text = 2 values {
                [0] = "Here are a few things"
                [1] = "to consider when"
              }
            }
            [20] = {
              startTime = 44.8300018
              endTime = 46.75
              text = 1 value {
                [0] = "you\'re recording a screencast."
              }
            }
            [21] = {
              startTime = 46.75
              endTime = 49.3600006
              text = 2 values {
                [0] = "Hide your bookmarks,"
                [1] = "and close your tabs."
              }
            }
            [22] = {
              startTime = 49.3600006
              endTime = 52.9300003
              text = 2 values {
                [0] = "If you\'re on a Mac, hit that"
                [1] = "do not disturb button, too."
              }
            }
            [23] = {
              startTime = 52.9300003
              endTime = 56.0299988
              text = 2 values {
                [0] = "Go full screen with the"
                [1] = "app or browser, get as much"
              }
            }
            [24] = {
              startTime = 56.0299988
              endTime = 58.5099983
              text = 2 values {
                [0] = "of the product in the"
                [1] = "screen as you can."
              }
            }
            [25] = {
              startTime = 58.5099983
              endTime = 60.3499985
              text = 2 values {
                [0] = "If you have a few"
                [1] = "screen recordings,"
              }
            }
            [26] = {
              startTime = 60.3499985
              endTime = 63.7000008
              text = 2 values {
                [0] = "combine them all in one"
                [1] = "timeline, trim the dead space,"
              }
            }
            [27] = {
              startTime = 63.7000008
              endTime = 66.0699997
              text = 2 values {
                [0] = "then export everything"
                [1] = "out to QuickTime."
              }
            }
            [28] = {
              startTime = 66.0699997
              endTime = 69.4100037
              text = 2 values {
                [0] = "Now we\'re ready to shoot the"
                [1] = "laptop from multiple angles."
              }
            }
            [29] = {
              startTime = 69.4100037
              endTime = 73.2200012
              text = 2 values {
                [0] = "First thing\'s first--"
                [1] = "clean your screen."
              }
            }
            [30] = {
              startTime = 73.2200012
              endTime = 75.9700012
              text = 2 values {
                [0] = "It might look clean to"
                [1] = "the eye, but the camera"
              }
            }
            [31] = {
              startTime = 75.9700012
              endTime = 78.75
              text = 2 values {
                [0] = "will pick up your greasy"
                [1] = "fingerprints or dust particles"
              }
            }
            [32] = {
              startTime = 78.75
              endTime = 81.300003
              text = 1 value {
                [0] = "like you will not believe."
              }
            }
            [33] = {
              startTime = 81.300003
              endTime = 83.0199966
              text = 1 value {
                [0] = "Build yourself a set."
              }
            }
            [34] = {
              startTime = 83.0199966
              endTime = 85
              text = 2 values {
                [0] = "Grab a desk and throw"
                [1] = "some natural elements"
              }
            }
            [35] = {
              startTime = 85
              endTime = 87.9599991
              text = 2 values {
                [0] = "into the scene, like a"
                [1] = "coffee mug, a notepad,"
              }
            }
            [36] = {
              startTime = 87.9599991
              endTime = 89.4300003
              text = 1 value {
                [0] = "or your headphones."
              }
            }
            [37] = {
              startTime = 89.4300003
              endTime = 90.800003
              text = 1 value {
                [0] = "But don\'t overdo it."
              }
            }
            [38] = {
              startTime = 90.800003
              endTime = 93.0299987
              text = 2 values {
                [0] = "The goal here is to add"
                [1] = "a little personality"
              }
            }
            [39] = {
              startTime = 93.0299987
              endTime = 94.9899978
              text = 1 value {
                [0] = "and make it feel natural."
              }
            }
            [40] = {
              startTime = 94.9899978
              endTime = 97.9199981
              text = 2 values {
                [0] = "Watch out for"
                [1] = "moire, which is just"
              }
            }
            [41] = {
              startTime = 97.9199981
              endTime = 100.610001
              text = 2 values {
                [0] = "a fancy term for"
                [1] = "your shot\'s ruined."
              }
            }
            [42] = {
              startTime = 100.610001
              endTime = 102.830002
              text = 2 values {
                [0] = "Different cameras and"
                [1] = "lenses have different moire"
              }
            }
            [43] = {
              startTime = 102.830002
              endTime = 106.449997
              text = 2 values {
                [0] = "characteristics, so try"
                [1] = "moving closer or further"
              }
            }
            [44] = {
              startTime = 106.449997
              endTime = 107.889999
              text = 1 value {
                [0] = "away from the screen."
              }
            }
            [45] = {
              startTime = 107.889999
              endTime = 110.699997
              text = 2 values {
                [0] = "And if you have to,"
                [1] = "use a soft focus"
              }
            }
            [46] = {
              startTime = 110.699997
              endTime = 113.370003
              text = 2 values {
                [0] = "and sharpen the video"
                [1] = "just a touch in post."
              }
            }
            [47] = {
              startTime = 113.370003
              endTime = 115.760002
              text = 2 values {
                [0] = "Get the camera\'s exposure"
                [1] = "right for the scene,"
              }
            }
            [48] = {
              startTime = 115.760002
              endTime = 118.879997
              text = 2 values {
                [0] = "then adjust the brightness"
                [1] = "on your laptop to match it."
              }
            }
            [49] = {
              startTime = 118.879997
              endTime = 120.360001
              text = 2 values {
                [0] = "We usually go a"
                [1] = "couple clicks down"
              }
            }
            [50] = {
              startTime = 120.360001
              endTime = 122.019997
              text = 1 value {
                [0] = "from the brightest setting."
              }
            }
            [51] = {
              startTime = 122.019997
              endTime = 124.529999
              text = 2 values {
                [0] = "Watch out for reflections"
                [1] = "on the screen."
              }
            }
            [52] = {
              startTime = 124.529999
              endTime = 127.029999
              text = 2 values {
                [0] = "Tilt your screen a little"
                [1] = "bit forward or backward"
              }
            }
            [53] = {
              startTime = 127.029999
              endTime = 129.610001
              text = 2 values {
                [0] = "until the reflection"
                [1] = "is out of the frame."
              }
            }
            [54] = {
              startTime = 129.610001
              endTime = 131.990005
              text = 2 values {
                [0] = "If you have one,"
                [1] = "use a macro lens."
              }
            }
            [55] = {
              startTime = 131.990005
              endTime = 134.529999
              text = 2 values {
                [0] = "It\'ll be your best friend for"
                [1] = "getting those little details"
              }
            }
            [56] = {
              startTime = 134.529999
              endTime = 136.009995
              text = 1 value {
                [0] = "onscreen."
              }
            }
            [57] = {
              startTime = 136.009995
              endTime = 138.5
              text = 2 values {
                [0] = "Try panning side-to-side,"
                [1] = "or up and down"
              }
            }
            [58] = {
              startTime = 138.5
              endTime = 141.009995
              text = 2 values {
                [0] = "to create some"
                [1] = "motion in your shot."
              }
            }
            [59] = {
              startTime = 141.009995
              endTime = 143.729996
              text = 2 values {
                [0] = "Record a little"
                [1] = "extra just in case."
              }
            }
            [60] = {
              startTime = 143.729996
              endTime = 146.300003
              text = 2 values {
                [0] = "Wait for the loop to come"
                [1] = "around a second time,"
              }
            }
            [61] = {
              startTime = 146.300003
              endTime = 147.899994
              text = 1 value {
                [0] = "and find different angles."
              }
            }
            [62] = {
              startTime = 147.899994
              endTime = 152.339996
              text = 2 values {
                [0] = "Record the whole loop on a"
                [1] = "wide, a medium, and a close shot"
              }
            }
            [63] = {
              startTime = 152.339996
              endTime = 154.320007
              text = 2 values {
                [0] = "to give you different"
                [1] = "options in your edit."
              }
            }
            [64] = {
              startTime = 154.320007
              endTime = 156.520004
              text = 2 values {
                [0] = "Once you have a couple"
                [1] = "different angles locked down,"
              }
            }
            [65] = {
              startTime = 156.520004
              endTime = 157.899994
              text = 1 value {
                [0] = "you\'re ready for the edit."
              }
            }
            [66] = {
              startTime = 157.899994
              endTime = 160.384003
              text = 2 values {
                [0] = "Now get out there and"
                [1] = "shoot your laptop."
              }
            }
            [67] = {
              startTime = 160.384003
              endTime = 161.050003
              text = 1 value {
                [0] = "Or your desktop."
              }
            }
            [68] = {
              startTime = 161.050003
              endTime = 164.100006
              text = 1 value {
                [0] = "[MUSIC PLAYING]"
              }
            }
          }
        }
      }
    }
    currentlySelectedCaptions = some {
      captionsID = 378923
      languageCode = "eng"
      englishName = "English"
      nativeName = "English"
      rightToLeft = false
      captionSegments = 69 values {
        [0] = {
          startTime = 0.499000013
          endTime = 3.53999996
          text = 2 values {
            [0] = "Hey, I\'m Chris from Wistia,"
            [1] = "and I\'m on a laptop."
          }
        }
        [1] = {
          startTime = 3.53999996
          endTime = 6.34000015
          text = 2 values {
            [0] = "For this shot, we\'re using"
            [1] = "a camera to physically shoot"
          }
        }
        [2] = {
          startTime = 6.34000015
          endTime = 7.57999992
          text = 1 value {
            [0] = "the computer."
          }
        }
        [3] = {
          startTime = 7.57999992
          endTime = 9.36999988
          text = 1 value {
            [0] = "Why, might you ask?"
          }
        }
        [4] = {
          startTime = 9.36999988
          endTime = 11.3999996
          text = 2 values {
            [0] = "For us, it presents"
            [1] = "a more real-life look"
          }
        }
        [5] = {
          startTime = 11.3999996
          endTime = 13.6999998
          text = 2 values {
            [0] = "at the Wistia product,"
            [1] = "and we just kind of think"
          }
        }
        [6] = {
          startTime = 13.6999998
          endTime = 15.0299997
          text = 1 value {
            [0] = "it looks better."
          }
        }
        [7] = {
          startTime = 15.0299997
          endTime = 16.0900002
          text = 1 value {
            [0] = "So here\'s how we do it."
          }
        }
        [8] = {
          startTime = 16.0900002
          endTime = 18.8899994
          text = 2 values {
            [0] = "It all starts with"
            [1] = "recording a screencast."
          }
        }
        [9] = {
          startTime = 18.8899994
          endTime = 21.1900005
          text = 2 values {
            [0] = "We use ScreenFlow because"
            [1] = "it not only is a way"
          }
        }
        [10] = {
          startTime = 21.1900005
          endTime = 24.1100006
          text = 2 values {
            [0] = "to capture your screen, but"
            [1] = "it\'s a great editing program,"
          }
        }
        [11] = {
          startTime = 24.1100006
          endTime = 25.2999992
          text = 1 value {
            [0] = "as well."
          }
        }
        [12] = {
          startTime = 25.2999992
          endTime = 27.5400009
          text = 2 values {
            [0] = "We\'ll record each"
            [1] = "screencast segment,"
          }
        }
        [13] = {
          startTime = 27.5400009
          endTime = 30.1700001
          text = 2 values {
            [0] = "remove the boring parts,"
            [1] = "and then stitch together"
          }
        }
        [14] = {
          startTime = 30.1700001
          endTime = 32.9099998
          text = 2 values {
            [0] = "all of the shots that we"
            [1] = "want in our final video."
          }
        }
        [15] = {
          startTime = 32.9099998
          endTime = 34.7299995
          text = 2 values {
            [0] = "When everything is"
            [1] = "timed out just right,"
          }
        }
        [16] = {
          startTime = 34.7299995
          endTime = 37.5499992
          text = 2 values {
            [0] = "we export to a lossless"
            [1] = "QuickTime file."
          }
        }
        [17] = {
          startTime = 37.5499992
          endTime = 39.6500015
          text = 2 values {
            [0] = "Then with the file"
            [1] = "open up in QuickTime,"
          }
        }
        [18] = {
          startTime = 39.6500015
          endTime = 42.8699989
          text = 2 values {
            [0] = "we loop the playback,"
            [1] = "and take it full-screen."
          }
        }
        [19] = {
          startTime = 42.8699989
          endTime = 44.8300018
          text = 2 values {
            [0] = "Here are a few things"
            [1] = "to consider when"
          }
        }
        [20] = {
          startTime = 44.8300018
          endTime = 46.75
          text = 1 value {
            [0] = "you\'re recording a screencast."
          }
        }
        [21] = {
          startTime = 46.75
          endTime = 49.3600006
          text = 2 values {
            [0] = "Hide your bookmarks,"
            [1] = "and close your tabs."
          }
        }
        [22] = {
          startTime = 49.3600006
          endTime = 52.9300003
          text = 2 values {
            [0] = "If you\'re on a Mac, hit that"
            [1] = "do not disturb button, too."
          }
        }
        [23] = {
          startTime = 52.9300003
          endTime = 56.0299988
          text = 2 values {
            [0] = "Go full screen with the"
            [1] = "app or browser, get as much"
          }
        }
        [24] = {
          startTime = 56.0299988
          endTime = 58.5099983
          text = 2 values {
            [0] = "of the product in the"
            [1] = "screen as you can."
          }
        }
        [25] = {
          startTime = 58.5099983
          endTime = 60.3499985
          text = 2 values {
            [0] = "If you have a few"
            [1] = "screen recordings,"
          }
        }
        [26] = {
          startTime = 60.3499985
          endTime = 63.7000008
          text = 2 values {
            [0] = "combine them all in one"
            [1] = "timeline, trim the dead space,"
          }
        }
        [27] = {
          startTime = 63.7000008
          endTime = 66.0699997
          text = 2 values {
            [0] = "then export everything"
            [1] = "out to QuickTime."
          }
        }
        [28] = {
          startTime = 66.0699997
          endTime = 69.4100037
          text = 2 values {
            [0] = "Now we\'re ready to shoot the"
            [1] = "laptop from multiple angles."
          }
        }
        [29] = {
          startTime = 69.4100037
          endTime = 73.2200012
          text = 2 values {
            [0] = "First thing\'s first--"
            [1] = "clean your screen."
          }
        }
        [30] = {
          startTime = 73.2200012
          endTime = 75.9700012
          text = 2 values {
            [0] = "It might look clean to"
            [1] = "the eye, but the camera"
          }
        }
        [31] = {
          startTime = 75.9700012
          endTime = 78.75
          text = 2 values {
            [0] = "will pick up your greasy"
            [1] = "fingerprints or dust particles"
          }
        }
        [32] = {
          startTime = 78.75
          endTime = 81.300003
          text = 1 value {
            [0] = "like you will not believe."
          }
        }
        [33] = {
          startTime = 81.300003
          endTime = 83.0199966
          text = 1 value {
            [0] = "Build yourself a set."
          }
        }
        [34] = {
          startTime = 83.0199966
          endTime = 85
          text = 2 values {
            [0] = "Grab a desk and throw"
            [1] = "some natural elements"
          }
        }
        [35] = {
          startTime = 85
          endTime = 87.9599991
          text = 2 values {
            [0] = "into the scene, like a"
            [1] = "coffee mug, a notepad,"
          }
        }
        [36] = {
          startTime = 87.9599991
          endTime = 89.4300003
          text = 1 value {
            [0] = "or your headphones."
          }
        }
        [37] = {
          startTime = 89.4300003
          endTime = 90.800003
          text = 1 value {
            [0] = "But don\'t overdo it."
          }
        }
        [38] = {
          startTime = 90.800003
          endTime = 93.0299987
          text = 2 values {
            [0] = "The goal here is to add"
            [1] = "a little personality"
          }
        }
        [39] = {
          startTime = 93.0299987
          endTime = 94.9899978
          text = 1 value {
            [0] = "and make it feel natural."
          }
        }
        [40] = {
          startTime = 94.9899978
          endTime = 97.9199981
          text = 2 values {
            [0] = "Watch out for"
            [1] = "moire, which is just"
          }
        }
        [41] = {
          startTime = 97.9199981
          endTime = 100.610001
          text = 2 values {
            [0] = "a fancy term for"
            [1] = "your shot\'s ruined."
          }
        }
        [42] = {
          startTime = 100.610001
          endTime = 102.830002
          text = 2 values {
            [0] = "Different cameras and"
            [1] = "lenses have different moire"
          }
        }
        [43] = {
          startTime = 102.830002
          endTime = 106.449997
          text = 2 values {
            [0] = "characteristics, so try"
            [1] = "moving closer or further"
          }
        }
        [44] = {
          startTime = 106.449997
          endTime = 107.889999
          text = 1 value {
            [0] = "away from the screen."
          }
        }
        [45] = {
          startTime = 107.889999
          endTime = 110.699997
          text = 2 values {
            [0] = "And if you have to,"
            [1] = "use a soft focus"
          }
        }
        [46] = {
          startTime = 110.699997
          endTime = 113.370003
          text = 2 values {
            [0] = "and sharpen the video"
            [1] = "just a touch in post."
          }
        }
        [47] = {
          startTime = 113.370003
          endTime = 115.760002
          text = 2 values {
            [0] = "Get the camera\'s exposure"
            [1] = "right for the scene,"
          }
        }
        [48] = {
          startTime = 115.760002
          endTime = 118.879997
          text = 2 values {
            [0] = "then adjust the brightness"
            [1] = "on your laptop to match it."
          }
        }
        [49] = {
          startTime = 118.879997
          endTime = 120.360001
          text = 2 values {
            [0] = "We usually go a"
            [1] = "couple clicks down"
          }
        }
        [50] = {
          startTime = 120.360001
          endTime = 122.019997
          text = 1 value {
            [0] = "from the brightest setting."
          }
        }
        [51] = {
          startTime = 122.019997
          endTime = 124.529999
          text = 2 values {
            [0] = "Watch out for reflections"
            [1] = "on the screen."
          }
        }
        [52] = {
          startTime = 124.529999
          endTime = 127.029999
          text = 2 values {
            [0] = "Tilt your screen a little"
            [1] = "bit forward or backward"
          }
        }
        [53] = {
          startTime = 127.029999
          endTime = 129.610001
          text = 2 values {
            [0] = "until the reflection"
            [1] = "is out of the frame."
          }
        }
        [54] = {
          startTime = 129.610001
          endTime = 131.990005
          text = 2 values {
            [0] = "If you have one,"
            [1] = "use a macro lens."
          }
        }
        [55] = {
          startTime = 131.990005
          endTime = 134.529999
          text = 2 values {
            [0] = "It\'ll be your best friend for"
            [1] = "getting those little details"
          }
        }
        [56] = {
          startTime = 134.529999
          endTime = 136.009995
          text = 1 value {
            [0] = "onscreen."
          }
        }
        [57] = {
          startTime = 136.009995
          endTime = 138.5
          text = 2 values {
            [0] = "Try panning side-to-side,"
            [1] = "or up and down"
          }
        }
        [58] = {
          startTime = 138.5
          endTime = 141.009995
          text = 2 values {
            [0] = "to create some"
            [1] = "motion in your shot."
          }
        }
        [59] = {
          startTime = 141.009995
          endTime = 143.729996
          text = 2 values {
            [0] = "Record a little"
            [1] = "extra just in case."
          }
        }
        [60] = {
          startTime = 143.729996
          endTime = 146.300003
          text = 2 values {
            [0] = "Wait for the loop to come"
            [1] = "around a second time,"
          }
        }
        [61] = {
          startTime = 146.300003
          endTime = 147.899994
          text = 1 value {
            [0] = "and find different angles."
          }
        }
        [62] = {
          startTime = 147.899994
          endTime = 152.339996
          text = 2 values {
            [0] = "Record the whole loop on a"
            [1] = "wide, a medium, and a close shot"
          }
        }
        [63] = {
          startTime = 152.339996
          endTime = 154.320007
          text = 2 values {
            [0] = "to give you different"
            [1] = "options in your edit."
          }
        }
        [64] = {
          startTime = 154.320007
          endTime = 156.520004
          text = 2 values {
            [0] = "Once you have a couple"
            [1] = "different angles locked down,"
          }
        }
        [65] = {
          startTime = 156.520004
          endTime = 157.899994
          text = 1 value {
            [0] = "you\'re ready for the edit."
          }
        }
        [66] = {
          startTime = 157.899994
          endTime = 160.384003
          text = 2 values {
            [0] = "Now get out there and"
            [1] = "shoot your laptop."
          }
        }
        [67] = {
          startTime = 160.384003
          endTime = 161.050003
          text = 1 value {
            [0] = "Or your desktop."
          }
        }
        [68] = {
          startTime = 161.050003
          endTime = 164.100006
          text = 1 value {
            [0] = "[MUSIC PLAYING]"
          }
        }
      }
    }
    currentCaptionSegment = nil
  }
  state = videoPlaybackError {
    videoPlaybackError = (description = "Player Item Failed")
  }
  avPlayer = 0x00000001700194b0 {
    baseAVPlayer@0 = <extracting data from value failed>

  }
  media = some {
    name = "Shooting Laptop Screencasts"
    status = ready
    thumbnail = nil
    duration = 166.337997
    created = nil
    updated = nil
    assets = 20 values {
      [0] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/9039a1891fb40360d54cb980bcbd3776bb485913.bin"
        width = 1920
        height = 1080
        size = 316391352
        type = "original"
        status = ready
        slug = "original"
        displayName = "Original file"
        container = nil
        codec = nil
        ext = "mp4"
        bitrate = 14871
      }
      [1] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/16c63c633ab781d665f6f139b7c85380e22ed8b1.bin"
        width = 640
        height = 360
        size = 17430643
        type = "flash_video"
        status = ready
        slug = "flv_h264_818k"
        displayName = "360p"
        container = "flv"
        codec = "h264"
        ext = "flv"
        bitrate = 818
      }
      [2] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/73b85c67563ea8003465754e1230f3de6e7f12b9.bin"
        width = 400
        height = 224
        size = 7022331
        type = "flash_video"
        status = ready
        slug = "flv_h264_329k"
        displayName = "224p"
        container = "flv"
        codec = "h264"
        ext = "flv"
        bitrate = 329
      }
      [3] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/de22bf43d9c148950123f5c9fe798d84919463ec.bin"
        width = 960
        height = 540
        size = 27811253
        type = "md_flash_video"
        status = ready
        slug = "flv_h264_1306k"
        displayName = "540p"
        container = "flv"
        codec = "h264"
        ext = "flv"
        bitrate = 1306
      }
      [4] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/37ac63356e12690b40ce7545c7eb6fc3daf7ef70.bin"
        width = 1280
        height = 720
        size = 54814967
        type = "hd_flash_video"
        status = ready
        slug = "flv_h264_2574k"
        displayName = "720p"
        container = "flv"
        codec = "h264"
        ext = "flv"
        bitrate = 2574
      }
      [5] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/e4d96e88e4eb4315aa1e0866dd38332cf774da22.bin"
        width = 1920
        height = 1080
        size = 80790689
        type = "hd_flash_video"
        status = ready
        slug = "flv_h264_3794k"
        displayName = "1080p"
        container = "flv"
        codec = "h264"
        ext = "flv"
        bitrate = 3794
      }
      [6] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/b4cba49c559d9f19f8b49db985eaf6c0e63c878b.bin"
        width = 1280
        height = 720
        size = 195099
        type = "still_image"
        status = ready
        slug = "still_image_1280x720"
        displayName = "Image"
        container = nil
        codec = nil
        ext = "jpg"
        bitrate = 0
      }
      [7] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/b4cba49c559d9f19f8b49db985eaf6c0e63c878b.bin"
        width = 1280
        height = 720
        size = 195099
        type = "still_image"
        status = ready
        slug = "still_image_1280x720"
        displayName = "Image"
        container = nil
        codec = nil
        ext = "jpg"
        bitrate = 0
      }
      [8] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/33cb955b095dbdc12ec06a34032d282d1a85b0f9.bin"
        width = 960
        height = 540
        size = 27741365
        type = "md_mp4_video"
        status = ready
        slug = "mp4_h264_1302k"
        displayName = "540p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 1302
      }
      [9] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/191fa755ae37ceb31ca72deb0fb97927233f1316.bin"
        width = 1920
        height = 1080
        size = 80718897
        type = "hd_mp4_video"
        status = ready
        slug = "mp4_h264_3791k"
        displayName = "1080p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 3791
      }
      [10] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/d889f883b0b145f2c11d9959ab63c1db69958cd2.bin"
        width = 640
        height = 360
        size = 11525385
        type = "mp4_video"
        status = ready
        slug = "mp4_h264_539k"
        displayName = "360p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 539
      }
      [11] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/27b950839d548024264599dae36c5cab15b9dd9f.bin"
        width = 1280
        height = 720
        size = 54744527
        type = "hd_mp4_video"
        status = ready
        slug = "mp4_h264_2571k"
        displayName = "720p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 2571
      }
      [12] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/2b4a2c036a660ff6724ca495564c24159516c57d.bin"
        width = 640
        height = 360
        size = 19236865
        type = "iphone_video"
        status = ready
        slug = "mp4_h264_903k"
        displayName = "360p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 903
      }
      [13] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/98f4ccd0ba6ef0b38f0cae1ee2c0e32134aa37ad.bin"
        width = 640
        height = 360
        size = 11525385
        type = "mp4_video"
        status = ready
        slug = "mp4_h264_539k"
        displayName = "360p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 539
      }
      [14] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/33d288607171f85358eea8120f3af636d58f3315.bin"
        width = 400
        height = 224
        size = 6953427
        type = "mp4_video"
        status = ready
        slug = "mp4_h264_326k"
        displayName = "224p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 326
      }
      [15] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/8f47c50a324d22b29da4519d9d6a12f409e07631.bin"
        width = 640
        height = 360
        size = 11525385
        type = "mp4_video"
        status = ready
        slug = "mp4_h264_539k"
        displayName = "360p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 539
      }
      [16] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/4f1ee1fcb3b611bc1ba78c2ec2c80f14b3b0140b.bin"
        width = 640
        height = 360
        size = 11519094
        type = "mp4_video"
        status = ready
        slug = "mp4_h264_538k"
        displayName = "360p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 538
      }
      [17] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/548c429f88d4794a9564152b8f689f2ebaf9f088.bin"
        width = 640
        height = 360
        size = 11519094
        type = "mp4_video"
        status = ready
        slug = "mp4_h264_538k"
        displayName = "360p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 538
      }
      [18] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/0d1ba858eddc71b099a727f4bb4584272580b5a4.bin"
        width = 640
        height = 360
        size = 11519093
        type = "mp4_video"
        status = ready
        slug = "mp4_h264_538k"
        displayName = "360p"
        container = "mp4"
        codec = "h264"
        ext = "mp4"
        bitrate = 538
      }
      [19] = {
        media = {
          name = "Shooting Laptop Screencasts"
          status = ready
          thumbnail = nil
          duration = 166.337997
          created = nil
          updated = nil
          assets = 0 values {}
          description = nil
          hashedID = "8tjg8ftj2p"
          embedOptions = some {
            playerColor = 0x000000017047fc00 {...}
            bigPlayButton = true
            smallPlayButton = true
            playbar = true
            fullscreenButton = true
            controlsVisibleOnLoad = false
            autoplay = false
            endVideoBehaviorString = "default"
            endVideoBehavior = pauseOnLastFrame
            stillURL = nil
            actionButton = false
            actionShareURLString = nil
            actionShareTitle = nil
            captionsAvailable = true
            captionsOnByDefault = false
          }
          stats = nil
          distilleryURLString = "https://distillery.wistia.com/x"
          accountKey = "wistia-production_97"
          mediaKey = "wistia-production_16076342"
          spherical = false
          captions = nil
        }
        urlString = "https://embed-ssl.wistia.com/deliveries/ab89f97c1113124ecfe4dbc3555600a0e713e0ff.bin"
        width = 2000
        height = 2352
        size = 1145724
        type = "storyboard"
        status = ready
        slug = "storyboard_2000x2352"
        displayName = "Storyboard"
        container = nil
        codec = nil
        ext = "jpg"
        bitrate = 0
      }
    }
    description = nil
    hashedID = "8tjg8ftj2p"
    embedOptions = some {
      playerColor = 0x000000017047fc00 {...}
      bigPlayButton = true
      smallPlayButton = true
      playbar = true
      fullscreenButton = true
      controlsVisibleOnLoad = false
      autoplay = false
      endVideoBehaviorString = "default"
      endVideoBehavior = pauseOnLastFrame
      stillURL = nil
      actionButton = false
      actionShareURLString = nil
      actionShareTitle = nil
      captionsAvailable = true
      captionsOnByDefault = false
    }
    stats = nil
    distilleryURLString = "https://distillery.wistia.com/x"
    accountKey = "wistia-production_97"
    mediaKey = "wistia-production_16076342"
    spherical = false
    captions = nil
  }
  statsCollector = 0x0000000101155500 {
    UpdateEventResolution = 4
    SeekEventDelta = 5
    manager = 0x0000000170256d40 {
      EventTTL = 5
      eventCollectors = 1 value {
        [0] = 0x0000000101155500 {...}
      }
      eventsPending = 0 values {}
      statsTimer = 0x0000000170176440 {
        baseNSTimer@0 = <extracting data from value failed>

      }
    }
    eventEndpoint = "https://distillery.wistia.com/x"
    eventMetadata = 8 key/value pairs {
      [0] = {
        key = "media_duration"
        value = "166.338"
      }
      [1] = {
        key = "event_key"
        value = "v201611313_56BC3A5E-BF0A-4898-9BDD-A1887CC3650E"
      }
      [2] = {
        key = "visitor_version"
        value = "1"
      }
      [3] = {
        key = "session_id"
        value = "v201610302_73D9E1CA-6A99-4059-AC34-4B332D232A1D"
      }
      [4] = {
        key = "media_id"
        value = "wistia-production_16076342"
      }
      [5] = {
        key = "referrer"
        value = "WistiaKitDemo"
      }
      [6] = {
        key = "account_key"
        value = "wistia-production_97"
      }
      [7] = {
        key = "sdk_version"
        value = "iOS,0.1"
      }
    }
    initTime = 2016-11-08 11:28:11 UTC
    media = some {
      name = "Shooting Laptop Screencasts"
      status = ready
      thumbnail = nil
      duration = 166.337997
      created = nil
      updated = nil
      assets = 20 values {
        [0] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/9039a1891fb40360d54cb980bcbd3776bb485913.bin"
          width = 1920
          height = 1080
          size = 316391352
          type = "original"
          status = ready
          slug = "original"
          displayName = "Original file"
          container = nil
          codec = nil
          ext = "mp4"
          bitrate = 14871
        }
        [1] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/16c63c633ab781d665f6f139b7c85380e22ed8b1.bin"
          width = 640
          height = 360
          size = 17430643
          type = "flash_video"
          status = ready
          slug = "flv_h264_818k"
          displayName = "360p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 818
        }
        [2] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/73b85c67563ea8003465754e1230f3de6e7f12b9.bin"
          width = 400
          height = 224
          size = 7022331
          type = "flash_video"
          status = ready
          slug = "flv_h264_329k"
          displayName = "224p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 329
        }
        [3] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/de22bf43d9c148950123f5c9fe798d84919463ec.bin"
          width = 960
          height = 540
          size = 27811253
          type = "md_flash_video"
          status = ready
          slug = "flv_h264_1306k"
          displayName = "540p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 1306
        }
        [4] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/37ac63356e12690b40ce7545c7eb6fc3daf7ef70.bin"
          width = 1280
          height = 720
          size = 54814967
          type = "hd_flash_video"
          status = ready
          slug = "flv_h264_2574k"
          displayName = "720p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 2574
        }
        [5] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/e4d96e88e4eb4315aa1e0866dd38332cf774da22.bin"
          width = 1920
          height = 1080
          size = 80790689
          type = "hd_flash_video"
          status = ready
          slug = "flv_h264_3794k"
          displayName = "1080p"
          container = "flv"
          codec = "h264"
          ext = "flv"
          bitrate = 3794
        }
        [6] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/b4cba49c559d9f19f8b49db985eaf6c0e63c878b.bin"
          width = 1280
          height = 720
          size = 195099
          type = "still_image"
          status = ready
          slug = "still_image_1280x720"
          displayName = "Image"
          container = nil
          codec = nil
          ext = "jpg"
          bitrate = 0
        }
        [7] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/b4cba49c559d9f19f8b49db985eaf6c0e63c878b.bin"
          width = 1280
          height = 720
          size = 195099
          type = "still_image"
          status = ready
          slug = "still_image_1280x720"
          displayName = "Image"
          container = nil
          codec = nil
          ext = "jpg"
          bitrate = 0
        }
        [8] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/33cb955b095dbdc12ec06a34032d282d1a85b0f9.bin"
          width = 960
          height = 540
          size = 27741365
          type = "md_mp4_video"
          status = ready
          slug = "mp4_h264_1302k"
          displayName = "540p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 1302
        }
        [9] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/191fa755ae37ceb31ca72deb0fb97927233f1316.bin"
          width = 1920
          height = 1080
          size = 80718897
          type = "hd_mp4_video"
          status = ready
          slug = "mp4_h264_3791k"
          displayName = "1080p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 3791
        }
        [10] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/d889f883b0b145f2c11d9959ab63c1db69958cd2.bin"
          width = 640
          height = 360
          size = 11525385
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_539k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 539
        }
        [11] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/27b950839d548024264599dae36c5cab15b9dd9f.bin"
          width = 1280
          height = 720
          size = 54744527
          type = "hd_mp4_video"
          status = ready
          slug = "mp4_h264_2571k"
          displayName = "720p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 2571
        }
        [12] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/2b4a2c036a660ff6724ca495564c24159516c57d.bin"
          width = 640
          height = 360
          size = 19236865
          type = "iphone_video"
          status = ready
          slug = "mp4_h264_903k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 903
        }
        [13] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/98f4ccd0ba6ef0b38f0cae1ee2c0e32134aa37ad.bin"
          width = 640
          height = 360
          size = 11525385
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_539k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 539
        }
        [14] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/33d288607171f85358eea8120f3af636d58f3315.bin"
          width = 400
          height = 224
          size = 6953427
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_326k"
          displayName = "224p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 326
        }
        [15] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/8f47c50a324d22b29da4519d9d6a12f409e07631.bin"
          width = 640
          height = 360
          size = 11525385
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_539k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 539
        }
        [16] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/4f1ee1fcb3b611bc1ba78c2ec2c80f14b3b0140b.bin"
          width = 640
          height = 360
          size = 11519094
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_538k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 538
        }
        [17] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/548c429f88d4794a9564152b8f689f2ebaf9f088.bin"
          width = 640
          height = 360
          size = 11519094
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_538k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 538
        }
        [18] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/0d1ba858eddc71b099a727f4bb4584272580b5a4.bin"
          width = 640
          height = 360
          size = 11519093
          type = "mp4_video"
          status = ready
          slug = "mp4_h264_538k"
          displayName = "360p"
          container = "mp4"
          codec = "h264"
          ext = "mp4"
          bitrate = 538
        }
        [19] = {
          media = {
            name = "Shooting Laptop Screencasts"
            status = ready
            thumbnail = nil
            duration = 166.337997
            created = nil
            updated = nil
            assets = 0 values {}
            description = nil
            hashedID = "8tjg8ftj2p"
            embedOptions = some {
              playerColor = 0x000000017047fc00 {...}
              bigPlayButton = true
              smallPlayButton = true
              playbar = true
              fullscreenButton = true
              controlsVisibleOnLoad = false
              autoplay = false
              endVideoBehaviorString = "default"
              endVideoBehavior = pauseOnLastFrame
              stillURL = nil
              actionButton = false
              actionShareURLString = nil
              actionShareTitle = nil
              captionsAvailable = true
              captionsOnByDefault = false
            }
            stats = nil
            distilleryURLString = "https://distillery.wistia.com/x"
            accountKey = "wistia-production_97"
            mediaKey = "wistia-production_16076342"
            spherical = false
            captions = nil
          }
          urlString = "https://embed-ssl.wistia.com/deliveries/ab89f97c1113124ecfe4dbc3555600a0e713e0ff.bin"
          width = 2000
          height = 2352
          size = 1145724
          type = "storyboard"
          status = ready
          slug = "storyboard_2000x2352"
          displayName = "Storyboard"
          container = nil
          codec = nil
          ext = "jpg"
          bitrate = 0
        }
      }
      description = nil
      hashedID = "8tjg8ftj2p"
      embedOptions = some {
        playerColor = 0x000000017047fc00 {...}
        bigPlayButton = true
        smallPlayButton = true
        playbar = true
        fullscreenButton = true
        controlsVisibleOnLoad = false
        autoplay = false
        endVideoBehaviorString = "default"
        endVideoBehavior = pauseOnLastFrame
        stillURL = nil
        actionButton = false
        actionShareURLString = nil
        actionShareTitle = nil
        captionsAvailable = true
        captionsOnByDefault = false
      }
      stats = nil
      distilleryURLString = "https://distillery.wistia.com/x"
      accountKey = "wistia-production_97"
      mediaKey = "wistia-production_16076342"
      spherical = false
      captions = nil
    }
    eventDetails = 0 values {}
    nextUpdateEventOkayToSendAfter = 2016-11-08 11:28:11 UTC
    lastSeekValue = 0
  }
  referrer = "WistiaKitDemo"
  SphericalTargetAssetWidth = 1920
  playerItemContext = 1
  playerContext = 2
  periodicTimeObserver = some {
    payload_data_0 = 0x0000000170173d40
    payload_data_1 = 0x0000000000000000
    payload_data_2 = 0x0000000000000000
    instance_type = 0x0000000101460068
  }
}

newState variable

(lldb) p newState
(WistiaKit.WistiaPlayer.State) $R1 = videoPlaybackError {
  videoPlaybackError = (description = "Player Item Failed")
}
spinosa commented 7 years ago

Thanks for the info! It's helpful. In it we see that the underlying AVPlayerItem is failing. More information on why it's failing should be available in the player's error property and/or the player item's error property...

1) Please break on _WistiaPlayer.swift:143 (it is the .failed case in the playerItem( playerItem: oldStatus: newStatus:) method) and send me the output of: p self.avPlayer, p self.avPlayer.error, p playerItem, and p playerItem.error.
Hopefully this pinpoints the error.

2) Let's also look at the URL we're trying to load and play. Please break on _WistiaPlayer.swift:48 (it is right after the call let url = try bestPlaybackUrl(for:andAssetWithSlug:requiringHLS:atTargetWidth:)) and send me the output of: p url. I'd like to know what that URL is. Additionally, if you'd like to try curl'ing that URL, or pasting it into a browser, that could provide some insight.

Thanks!

j796160836 commented 7 years ago

Here you are

1.

p self.avPlayer

ParserError(message: "The key \'pageLoads\' was not found.")
(lldb) p self.avPlayer
(AVPlayer) $R0 = 0x0000000170201100 {
  ObjectiveC.NSObject = {
    baseNSObject@0 = {
      isa = 0x0000000170201100
    }
    _player = 0x0000000159d2c630
  }
}

p self.avPlayer.error

(lldb) p self.avPlayer.error
(Error?) $R1 = nil
(lldb) p playerItem
(AVPlayerItem) $R2 = 0x0000000170202600 {
  ObjectiveC.NSObject = {
    baseNSObject@0 = {
      isa = 0x0000000170202600
    }
    _playerItem = 0x0000000159d63e70
  }
}

p playerItem.error

(lldb) p playerItem.error
(Error?) $R3 = (instance_type = 0x000000017424fe10) {
  instance_type = 0x000000017424fe10
}

2.

p url

(lldb) p url
(URL) $R0 = "https://embed-ssl.wistia.com/deliveries/27b950839d548024264599dae36c5cab15b9dd9f.bin"

I'm tried put the url in Mac Chrome and Simulator's Safari, it can play well. I put the url in iPhone Safari, not response.

spinosa commented 7 years ago

1.

Hey @j796160836 , I should have asked for po since those are objects, sorry about that. The playerItem.error is what I'm curious about. Can you po that for me?

2.

The URL is what I expected.

Is your iPhone going over the same network as your Mac? Or is the iPhone on a cellular network?

The video we've been looking at (8tjg8ftj2p) does not have HLS assets, and the WistiaKit-Example project has requireHLS=false. Pulling at straws but, maybe you need to use HLS over your cellular network, and this is why it's failing on your phone (cellular) and not your mac (wifi)...

If you'd like to test the HLS hypothesis, try setting requireHLS: true at both spots in WistiaKit\Example for WistiaKit\ViewController.swift and using the hashed ID: 8q4pv4kofw . That video has HLS assets and the playback URL should be "https://fast.wistia.net/embed/medias/8q4pv4kofw.m3u8"

j796160836 commented 7 years ago

Hi @spinosa, Here you go

(lldb) po playerItem.error!
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSUnderlyingError=0x17024f270 {Error Domain=NSOSStatusErrorDomain Code=-16190 "(null)"}, NSLocalizedFailureReason=An unknown error occurred (-16190), NSLocalizedDescription=The operation could not be completed}

Captured by iPhone 5s with own wifi network in China. About your question

Is your iPhone going over the same network as your Mac? Or is the iPhone on a cellular network? My iPhone is going over the same network as my Mac.


Also, tried to play video (8tjg8ftj2p) and use cellular network (China Mobile 4G), it gave me this.

(lldb) po playerItem.error!
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSUnderlyingError=0x174252210 {Error Domain=NSPOSIXErrorDomain Code=54 "Connection reset by peer"}, NSLocalizedFailureReason=An unknown error occurred (54), NSLocalizedDescription=The operation could not be completed}

I tried to play video (8q4pv4kofw), with wifi connection at iPhone 5s, it plays normal but no sound when ringtone off. The result is same as cellular network. The url is same as you provided.

What and why requireHLS is needed? I just leave it true and confirm all content supports HLS asset is ok?

spinosa commented 7 years ago

Thanks!

Unfortunately, those error messages are quite vague. But, I think we may be on to something with our HLS tests...


HLS stands for Http Live Streaming. It streams video in chunks instead of downloading one big file. Apple requires it when playing back video > 10m long over a cellular network.

The setting requireHLS instructs WistiaKit to use the HLS version of your media. Not all Wistia accounts have HLS enabled, but the support team can answer/change that very quickly.


To confirm: when you play 8q4pv4kofw it does play back over WiFi and cellular? The only problem is that you get no sound when you put your phone into vibrate (ie. silence ringtone)?

j796160836 commented 7 years ago

Hi Spinosa, okay, I see. I will contact support team to check accounts have HLS enabled or not. I confirmed the video (8q4pv4kofw) with WiFi it's ok but silence in vibrate mode.


The video (8q4pv4kofw) with cellular (China Mobile 中国移动 4G). It show me another result,

(lldb) po newState
▿ State
  - mediaNotFoundError : "8q4pv4kofw"

I think it's metadata load error.

I had tried to put this url to iPhone5s 's Safari https://fast.wistia.net/embed/medias/8q4pv4kofw.json There is no response in cellular but ok in Wifi.

spinosa commented 7 years ago

Hey @j796160836 !

Thanks for that info, I think we're making progress. Fortunately, we've got some smart people here at Wistia :-] And we think the issue is related to SSL over cellular (not HLS). In particular, it seems like all the HTTPS requests being made over cellular are failing.

Let's find out! ...

1) Please test the following video (using HTTP) over Wifi and cellular: http://embed.wistia.com/deliveries/27b950839d548024264599dae36c5cab15b9dd9f.bin

2) Also, let's see if that metadata will load over cellular without SSL: http://fast.wistia.net/embed/medias/8q4pv4kofw.json

3) And finally, could you get the HTTP headers for an SSL request that fails over cellular? For instance; https://fast.wistia.net/embed/medias/8q4pv4kofw.json over cellular?
One way to get the headers would be create a simple iPhone app, use NSURLSession to GET the URL and inspect the HTTPURLResponse.allHeaderFields


Thanks for digging in with me!
If you don't have the time for # 3 right now, the pass/fail results for tests # 1 and # 2 would be helpful.

j796160836 commented 7 years ago

Hi @spinosa,

Here you go, the # 3 result will be later for you.

nfrydenholm commented 7 years ago

Hi guys I'm having this issue as well, but the video only fails on iOS10. It works fine on iOS9.

The url (bestPlaybackUrl in line 51 in _WistiaPlayer) is the same on both iOS 9 and 10. E.g. this url https://fast.wistia.net/embed/medias/ugkj321ymn.m3u8

But on iOS10, I go into the case .failed in line 150, and the playerItem.error says the following po playerItem.error! Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo={NSLocalizedDescription=unsupported URL, NSUnderlyingError=0x610000257b80 {Error Domain=NSOSStatusErrorDomain Code=-1002 "(null)"}}

It's a very simple implementation I'm using in the app so far - I just show the WistiaPlayerController in full screen, and I have tried with requireHLS set to both true and false. Any ideas on what's wrong here?

nfrydenholm commented 7 years ago

It turned out my problem ☝️ was related to "Domain restrictions", and I got it working now, by providing a valid referrer.

spinosa commented 7 years ago

If there are still open questions/problems, please re-open and update me!