The Session Recorder allows you to Record data from system devices (e.g. camera and sensors) and tracking data (e.g. the device position or pose). The recorded data can be played back using the File Driver either on device or in Unity Play Mode in order to recreate a Vuforia session offline. In some instances, it may also be useful to share the recording with the Vuforia team to aid in reproducing a reported issue.
This article describes how to record sessions using the Session Recorder API. See Recording and Playback for an introduction into this feature and how to use it in Unity.
To retrieve recordings on iOS, the App needs to specify the
UIFileSharingEnabled property in the .plist file so that the App ‘Documents’ area is visible to users.
The recording frame rate is set to 30 frames per second (fps). In addition, if the camera resolution is above Standard HD (720p), the image scale is halved. The 720p @ 30 fps combination has been confirmed to provide a smooth recording experience across a number of (old and new) devices.
Currently devices with cameras that capture frames in the following pixel formats are supported:
- Luminance-only (Grayscale)
Please note that NV12 is internally converted to NV21 before being saved (for the difference between these two pixel formats, see the wiki.videolan.org).
Some Android devices provide camera frames is other formats e.g. YUV420P and YV12, these are not currently supported for recording.
Recordings can be performed only in landscape mode
If the display orientation is not in landscape mode,
SessionRecorder will refuse to start a recording and return an
OrientationNotSupported exit status. If the display orientation is changed to portrait mode during an ongoing recording, the recording will be stopped. This works around a limitation in the playback mechanism which hampers recognition / detection with portrait-mode recordings.