Skip to content

Releases: videokit-ai/videokit

VideoKit 0.0.22

08 Nov 01:25
Compare
Choose a tag to compare
  • Improved native error propagation into C# code allowing you to try..catch more errors.
  • Improved recording performance when using VideoMode.CameraDevice with the VideoKitRecorder component.
  • Unsealed the MediaRecorder class, allowing for custom derived classes to override recording behaviour.
  • Added VideoKitCameraManager.StartRunningAsync method which returns a Task for async completion and error handling.
  • Added VideoKitAudioManager.StartRunningAsync method which returns a Task for async completion and error handling.
  • Added VideoKitRecorder.StartRecordingAsync method which returns a Task for async completion and error handling.
  • Added VideoKitRecorder.StopRecordingAsync method which returns a Task for async completion and error handling.
  • Fixed CameraDevice.StopRunning method causing app hanging when camera device is unsupported (#126).
  • Fixed MediaAsset.FromCameraRoll method causing app crash when the user does not pick an asset on Android (#146).
  • Fixed MediaAsset.FromCameraRoll task never completing when user does not pick an asset on iOS (#146).
  • Fixed camera preview not resuming after app is suspended for more than a few seconds on Android (#56).
  • Refactored MediaAsset.Caption<T> method to MediaAsset.Parse<T> for structured parsing.
  • Refactored MediaAsset.Caption method to MediaAsset.Transcribe for performing speech-to-text.
  • Refactored MediaAsset.FromSpeechPrompt method to MediaAsset.FromGeneratedSpeech for performing text-to-speech.
  • Removed PixelBuffer.Region method.
  • Removed PixelBuffer.ToImage method.
  • Removed video recording in the free tier. Subscribe to a VideoKit plan to use video recording.
  • VideoKit now requires Unity 6 when building for WebGL (#150).
  • VideoKit now requires iOS 14+.
  • VideoKit now requires macOS 12+.

VideoKit 0.0.21

07 Aug 18:56
Compare
Choose a tag to compare
  • Fixed WebException: The request was aborted: The request was canceled when building for Android.

VideoKit 0.0.20

31 Jul 20:12
Compare
Choose a tag to compare
  • Added support for streaming from USB UVC cameras on iOS and iPadOS (#135).
  • Added VideoKitRecorder.CaptureScreenshot method for capturing a screenshot image to a JPEG media asset (#132).
  • Fixed unrecoverable error when recording webm videos on WebGL.
  • Fixed sporadic crash when stopping recording from camera device on iOS (#131).
  • Fixed Unity Editor freezing when recording video with audio (#128).
  • Refactored MediaType enum to MediaAsset.MediaType.
  • Refactored MediaAsset.Narrate instance method to MediaAsset.FromSpeechPrompt static method.
  • Removed PixelBuffer.CopyTo(PixelBuffer, PixelBuffer) method overload for alpha blending images.

VideoKit 0.0.17

08 Dec 20:03
Compare
Choose a tag to compare
  • Fixed C# compiler error on iOS.

VideoKit 0.0.16

08 Dec 17:46
Compare
Choose a tag to compare
  • Added 32-bit x86 architecture support on Android (#75).
  • Fixed NullReferenceException on startup when running on Windows (#78).
  • Fixed crash when calling MediaAsset.SaveToCameraRoll on macOS (#85).
  • Changed VideoKitAudioManager.OnAudioBuffer event type from UnityEvent to a plain event (#69).
  • Removed MediaDeviceFilters class.
  • Reduced minimum requirement to macOS 10.15 (#84).

VideoKit 0.0.15

24 Oct 16:48
Compare
Choose a tag to compare
  • Added MediaAsset.ToValue method for creating Function prediction values from media assets.
  • Added VideoKitAudioManager.OnAudioBuffer event for receiving audio buffers from audio devices.
  • Added VideoKitCameraManager.OnCameraImage event for receiving camera images directly from the streaming camera device.
  • Added VideoKitCameraManager.texture property for accessing the camera preview texture.
  • Added VideoKitCameraManager.pixelBuffer property for accessing the camera preview pixel buffer.
  • Added VideoKitCameraManager.humanTexture property for accessing the camera human texture.
  • Added VideoKitCameraManager.imageFeature property for accessing the camera preview as an ML feature.
  • Added VideoKitRecordButton.OnStartRecording event.
  • Added VideoKitRecordButton.OnStopRecording event.
  • Fixed MediaAsset.path property containing invalid characters on Windows.
  • Fixed MediaAsset.Share task never completing when exception is raised on Android.
  • Fixed MediaAsset.Share failing for apps that use Vuforia on Android.
  • Fixed MediaAsset.SaveToCameraRoll method failing because of missing write permissions on older versions of Android.
  • Fixed MediaAsset.FromFile method failing on WebGL due to URL mishandling.
  • Fixed CameraDevice.WhiteBalanceModeSupported always returning false for WhiteBalanceMode.Continuous on Android.
  • Fixed CameraDevice.videoStabilizationMode getter property causing hard crash on some Android devices.
  • Fixed DllNotFoundException when importing VideoKit in Linux editor.
  • Fixed rare crash due to frame rate setting when CameraDevice.Discover is invoked.
  • Fixed rare crash when recording is started when rendering with OpenGL ES3 on Android.
  • Fixed rare crash when entering play mode in the Unity Editor because the app domain is reloaded.
  • Removed IMediaOutput interface.
  • Removed SampleBuffer struct. Use AudioBuffer struct instead.
  • Removed VideoKitAudioManager.OnSampleBuffer event. Use OnAudioBuffer event instead.
  • Removed CameraImage parameter from VideoKitCameraManager.OnCameraFrame event.

VideoKit 0.0.14

09 Aug 14:57
Compare
Choose a tag to compare
  • Added audio captioning using AI with the AudioAsset.Caption method.
  • Added ability to parse an arbitrary struct from text using AI with the TextAsset.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 setting FocusMode.Locked on Android.
  • Fixed mimeType not supported exception when creating a WEBMRecorder in the Safari browser.
  • Fixed std::bad_function_call exception when AudioDevice.StopRunning is called on WebGL.
  • Fixed CommitFrame exception when recording audio to a WAV file with VideoKitRecorder class.
  • Fixed media preview in native share UI not showing when sharing an image or video on Android.
  • Updated VideoKitCameraManager.StartRunning method to return a Task that can be awaited.
  • Updated VideoKitAudioManager.StartRunning method to return a Task that can be awaited.
  • Updated VideoKitRecorder.StartRecording method to return a Task that can be awaited.
  • Updated JPEGRecorder.FinishWriting to return path to all recorded image files separated by Path.PathSeparator character.
  • Refactored IMediaDevice interface to MediaDevice class.
  • Refactored MediaDeviceCriteria class to MediaDeviceFilters.
  • Refactored DeviceLocation enumeration to MediaDevice.Location.
  • Refactored PermissionStatus enumeration to MediaDevice.PermissionStatus.
  • Refactored VideoKitCameraManager.Capabilities.MachineLearning enumeration member to Capabilities.AI.
  • Removed IMediaRecorder interface. Use MediaRecorder class instead.
  • Removed MP4Recorder class. Use MediaRecorder.Create with MediaFormat.MP4 instead.
  • Removed HEVCRecorder class. Use MediaRecorder.Create with MediaFormat.HEVC instead.
  • Removed GIFRecorder class. Use MediaRecorder.Create with MediaFormat.GIF instead.
  • Removed WAVRecorder class. Use MediaRecorder.Create with MediaFormat.WAV instead.
  • Removed WEBMRecorder class. Use MediaRecorder.Create with MediaFormat.WEBM instead.
  • Removed JPEGRecorder class. Use MediaRecorder.Create with MediaFormat.JPEG instead.
  • Removed MediaDeviceQuery class. Use AudioDevice.Discover and CameraDevice.Discover methods.
  • Removed SharePayload class. Use MediaAsset.Share method instead.
  • Removed SavePayload class. Use MediaAsset.SaveToCameraRoll method instead.
  • Removed AudioSpectrumOutput class.
  • Removed IEquatable interface inheritance from MediaDevice 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. Use VideoKitRecorder.frameRate property instead.
  • Removed VideoKitRecorder.Format enumeration. Use MediaFormat enumeration instead.
  • Removed VideoKitRecordButton.OnTouchDown event.
  • Removed VideoKitRecordButton.OnTouchUp event.
  • Updated top-level namespace from NatML.VideoKit to VideoKit.
  • VideoKit now requires iOS 13+.
  • VideoKit now requires macOS 11+.

VideoKit 0.0.13

12 Apr 04:16
Compare
Choose a tag to compare
  • Fixed crash when rapidly switching cameras on WebGL (#23).
  • Fixed rare memory exception when discovering audio devices on WebGL (#24).
  • Fixed VideoKitCameraManager.StopRunning not stopping camera device on Safari (#25).

VideoKit 0.0.12

24 Mar 00:06
Compare
Choose a tag to compare
  • Fixed resolution and frame rate settings not being set when restarting VideoKitCameraManager (#19).
  • Fixed VideoKitCameraManager error when switching scenes in WebGL (#17).
  • Fixed VideoKitRecorder.prepareOnAwake setting still causing stutter on first recording (#20).

VideoKit 0.0.11

28 Feb 15:53
Compare
Choose a tag to compare
  • Added GPU acceleration for background removal capability in VideoKitCameraManager on Android.
  • 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.
  • Fixed VideoKitCameraManager.device property ignoring new values when the manager is not running.
  • Fixed sporadic crash when using HumanTexture capability with VideoKitCameraManager.
  • Fixed crash when creating a WEBMRecorder with audio on WebGL.
  • Removed VideoKitRecorder.OrientationMode enumeration.
  • Removed VideoKitRecorder.AspectMode enumeration.