Changelog
Tracking Changes
- Added audio captioning using AI with the
AudioAsset.Caption
method. - Added ability to parse an arbitrary
struct
from text using AI with theTextAsset.To
method. - Added ability to pick images and videos from the camera roll with the
MediaAsset.FromCameraRoll<T>
method. - Added
MediaAsset
class for loading, inspecting, and sharing media. - Added
TextAsset
class for loading, inspecting, and extracting models from text. - Added
ImageAsset
class for loading, modifying, and sharing images. - Added
VideoAsset
class for loading, inspecting, and sharing videos. - Added
AudioAsset
class for loading, inspecting, and sharing audio. - Added
MediaRecorder
class to consolidate working with recorders. - Added
MediaFormat
enumeration for identifying and working with media formats. - Added
AudioDevice.Discover
static method for discovering available microphones. - Added
CameraDevice.Discover
static method for discovering available cameras. - Added
CameraDevice.exposureDuration
property to get the current camera exposure duration in seconds. - Added
CameraDevice.ISO
property to get the current camera exposure sensitivity. - Added
VideoKitProjectSettings
class for managing VideoKit settings in the current Unity project. - Added
VideoKitRecorder.frameRate
property for setting the frame rate of recorded GIF images. - Added
VideoKitRecordButton.recorder
property for getting and setting the recorder on which the button acts. - Added automatic camera pausing and resuming when app is suspended and resumed in
VideoKitCameraManager
. - Added native sharing support on macOS.
- Added native sharing support on WebGL for browsers that are WebShare compliant.
- Fixed
VideoKitRecorder.Resolution._240xAuto
,_720xAuto
, and_1080xAuto
constants resulting in incorrect resolutions. - Fixed visible artifacts when recording camera that only clears depth or doesn't clear at all (#32).
- Fixed camera permissions not being requested when calling
CameraDevice.CheckPermissions
on fresh Android app install. - Fixed
CameraDevice
preview stream being frozen in the Safari browser on macOS. - Fixed
CameraDevice
focus being lost when settingFocusMode.Locked
on Android. - Fixed
mimeType not supported
exception when creating aWEBMRecorder
in the Safari browser. - Fixed
std::bad_function_call
exception whenAudioDevice.StopRunning
is called on WebGL. - Fixed
CommitFrame
exception when recording audio to aWAV
file withVideoKitRecorder
class. - Fixed media preview in native share UI not showing when sharing an image or video on Android.
- Updated
VideoKitCameraManager.StartRunning
method to return aTask
that can be awaited. - Updated
VideoKitAudioManager.StartRunning
method to return aTask
that can be awaited. - Updated
VideoKitRecorder.StartRecording
method to return aTask
that can be awaited. - Updated
JPEGRecorder.FinishWriting
to return path to all recorded image files separated byPath.PathSeparator
character. - Refactored
IMediaDevice
interface toMediaDevice
class. - Refactored
MediaDeviceCriteria
class toMediaDeviceFilters
. - Refactored
DeviceLocation
enumeration toMediaDevice.Location
. - Refactored
PermissionStatus
enumeration toMediaDevice.PermissionStatus
. - Refactored
VideoKitCameraManager.Capabilities.MachineLearning
enumeration member toCapabilities.AI
. - Removed
IMediaRecorder
interface. UseMediaRecorder
class instead. - Removed
MP4Recorder
class. UseMediaRecorder.Create
withMediaFormat.MP4
instead. - Removed
HEVCRecorder
class. UseMediaRecorder.Create
withMediaFormat.HEVC
instead. - Removed
GIFRecorder
class. UseMediaRecorder.Create
withMediaFormat.GIF
instead. - Removed
WAVRecorder
class. UseMediaRecorder.Create
withMediaFormat.WAV
instead. - Removed
WEBMRecorder
class. UseMediaRecorder.Create
withMediaFormat.WEBM
instead. - Removed
JPEGRecorder
class. UseMediaRecorder.Create
withMediaFormat.JPEG
instead. - Removed
MediaDeviceQuery
class. UseAudioDevice.GetDevices
andCameraDevice.GetDevices
methods. - Removed
SharePayload
class. UseMediaAsset.Share
method instead. - Removed
SavePayload
class. UseMediaAsset.SaveToCameraRoll
method instead. - Removed
AudioSpectrumOutput
class. - Removed
IEquatable
interface inheritance fromMediaDevice
class. - Removed
AudioDevice.Equals
method as audio devices no longer define a custom equality method. - Removed
CameraDevice.Equals
method as camera devices no longer define a custom equality method. - Removed
VideoKitRecorder.frameDuration
property. UseVideoKitRecorder.frameRate
property instead. - Removed
VideoKitRecorder.Format
enumeration. UseMediaFormat
enumeration instead. - Removed
VideoKitRecordButton.OnTouchDown
event. - Removed
VideoKitRecordButton.OnTouchUp
event. - Updated top-level namespace from
NatML.VideoKit
toVideoKit
. - VideoKit now requires iOS 13+.
- VideoKit now requires macOS 11+.
- Fixed crash when rapidly switching cameras on WebGL (#23).
- Fixed rare memory exception when discovering audio devices on WebGL (#24).
- Added
VideoKitCameraManager.frameRate
property for setting the camera preview frame rate. - Added
VideoKitRecordButton
UI prefab for building recording UIs similar to Instagram. - Added
VideoKitRecorder.Destination.Playback
enumeration member for immediately playing back recorded media. - Added help URLs to VideoKit components in the Unity inspector.
- Removed
VideoKitRecorder.OrientationMode
enumeration. - Removed
VideoKitRecorder.AspectMode
enumeration.
- Added
VideoKitCameraManager.facing
property for specifying a desired camera facing. - Added
VideoKitCameraManager.Facing
enumeration for specifying a desired camera facing. - Fixed camera preview being vertically mirrored when streaming the front camera on Android devices.
- Refactored
VideoKitRecorder.Resolution._2K
enumeration member toResolution._2560xAuto
. - Refactored
VideoKitRecorder.Resolution._4K
enumeration member toResolution._3840xAuto
.
- Upgraded to NatML 1.1.
- Added
VideoKitRecorder.Resolution.Custom
resolution preset for specifying custom recording resolution. - Added
VideoKitRecorder.customResolution
property for setting custom recording resolution. - Added
VideoKitCameraView.focusMode
setting for specifying how to handle camera focus gestures. - Added
VideoKitCameraView.exposureMode
setting for specifying how to handle camera exposure gestures. - Added
VideoKitCameraView.zoomMode
setting for specifying how to handle camera zoom gestures. - Fixed bug where VideoKit components could not be added in the Unity 2022 editor.
- Removed
VideoKitCameraFocus
component. UseVideoKitCameraView.focusMode
setting instead. - Removed
VideoKitCameraZoom
component. UseVideoKitCameraView.zoomMode
setting instead.
- Added
VideoKitRecorder.frameSkip
property for recording everyn
frames during recording. - Fixed
VideoKitRecorder.StartRecording
throwing error on Android with OpenGL ES3. - Fixed
VideoKitRecorder
exception when stopping recording session on WebGL. - Fixed
NullReferenceException
inVideoKitRecorder
when stopping recording withoutaudioManager
assigned. - Refactored
VideoKitAudioManager.SampleRate._160000
toSampleRate._16000
.
- Added
VideoKitAudioManager
component for managing streaming audio from audio devices. - Added
VideoKitRecorder.RecordingSession
struct for receiving richer information about a completed recording session. - Added
VideoKitRecorder.audioManager
property for managing recording audio from audio devices. - Added
VideoKitRecorder.Resolution._320x240
resolution preset. - Added
VideoKitRecorder.Resolution._480x320
resolution preset. - Fixed
VideoKitRecorder
not allowing developer to selectDestination.PromptUser
destination. - Fixed
VideoKitRecorder
incorrect video size orientation when usingResolution.Screen
andOrientation.Portrait
. - Refactored
VideoKitRecorder.orientation
property toVideoKitRecorder.orientationMode
. - Refactored
VideoKitRecorder.aspect
property toVideoKitRecorder.aspectMode
. - Refactored
VideoKitRecorder.videoKeyframeInterval
property toVideoKitRecorder.keyframeInterval
. - Refactored
VideoKitCameraManager.OnFrame
event toOnCameraFrame
. - Removed
VideoKitRecorder.OnRecordingFailed
event. UseOnRecordingCompleted
event instead.
- Added
VideoKitRecorder.videoBitRate
property for specifying the video bitrate for applicable formats. - Added
VideoKitRecorder.videoKeyframeInterval
property for specifying the keyframe interval for applicable formats. - Added
VideoKitRecorder.audioBitRate
property for specifying the audio bitrate for applicable formats.
- Added
CropTextureInput
for recording a cropped area of the recording. - Added
WatermarkTextureInput
for adding a watermark to recorded videos. - Added
VideoKitRecorder.VideoMode.CameraDevice
video mode for recording videos directly from a camera device. - Added
VideoKitRecorder.destinationPathPrefix
property for specifying recording directory. - Added
VideoKitRecorder.Resolution._2K
resolution preset for recording at 2K WQHD. - Added
VideoKitRecorder.Resolution._4K
resolution preset for recording at 4K UHD. - Added
VideoKitCameraView.OnPresent
event to be notified when the view presents the camera preview to the user. - Added
VideoKitCameraFocus
UI component for focusing a camera device with tap gestures. - Fixed
CameraFrame.feature
property returning new feature instance on every access. - Refactored
MicrophoneInput
class toAudioDeviceInput
. - Refactored
VideoKitRecorder.AudioMode.Microphone
enumeration member toAudioMode.AudioDevice
.
- Added
VideoKitCameraManager.Resolution.Default
resolution preset to leave camera resolution unchanged. - Added
VideoKitCameraManager.Capabilities.DepthTexture
enumeration member for streaming camera depth. - Removed
CameraFrame.pixelBuffer
property. - Removed
CameraFrame.timestamp
property. - Removed
VideoKitCameraManager.Capabilities.PixelData
enumeration member.
+ First pre-release.
Last modified 1mo ago