[X-engines][API breaking change] DeviceEnumerator can now be used only by using DeviceEnumerator.Shared property. It is required to have one enumerator per app. DeviceEnumerator objects used by API have been removed
[X-engines][API breaking change] Android Activity is not required anymore to create SDK engines
[X-engines][API breaking change] X-engines require additional initialization and de-initialization steps. To initialize SDK, use the VisioForge.Core.VisioForgeX.InitSDK() call. To de-initialize SDK, use the VisioForge.Core.VisioForgeX.DestroySDK() call. You need to initialize SDK before any SDK class usage and de-initialize SDK before the application exits.
[Windows] Improved MAUI video rendering performance in Windows
[Windows] Added a mouse highlight for screen capture sources
[Windows] Resolved a CallbackOnCollectedDelegate call issue with the BasicWindow class
[Avalonia] Resolved an issue with Avalonia VideoView resize
[X-engines] Added the StartPosition and StopPosition properties to UniversalSourceSettings. You can use these properties to set the start and stop positions for the file source.
Resolved the issue with passwords with special characters used for RTSP sources
Resolved the rare video flip issue with the Virtual Camera SDK engine
The VisioForge MJPEG Decoder filter was removed from the SDK's NuGet packages. You can optionally add it to your project by file copying or COM registration deployment.
[X-engines] Fixed memory leak in the OverlayManager
VideoCaptureCoreX: WASAPI and WASAPI2 audio sources can be used now with the VideoCaptureCoreX engine
[X-engines] DeviceEnumerator got events to notify about devices added/removed: OnVideoSourceAdded, OnVideoSourceRemoved, OnAudioSourceAdded, OnAudioSourceRemoved, OnAudioSinkAdded, OnAudioSinkRemoved
[X-engines] Added custom error handler support for MediaBlocks, VideoCaptureCoreX, and MediaPlayerCoreX engines. Use the IMediaBlocksPipelineCustomErrorHandler interface and the SetCustomErrorHandler method to set a custom error handler.
VideoCaptureCoreX: Resolved issue with incorrect device index error for KS video sources (Windows)
VideoCaptureCore: Added Virtual_Camera_Output_AlternativeAudioFilterName property to set a custom audio filter for the Virtual Camera SDK output
VideoCaptureCoreX: Added NDI streaming support and sample app.
[X-engines] Updated device enumerator. Removed unwanted firewall dialog when listing NDI sources.
[X-engines] Fixed an issue with the video mixer when adding/removing video sources.
VideoCaptureCore: Improved video crop performance on modern CPUs
VideoCaptureCore, MediaPlayerCore, VideoEditCore: Added the static CreateAsync method that can be used instead of the constructor to create engines without UI lag.
VideoCaptureCore: Resolved issues with video crop.
VideoCaptureCoreX: Added video overlays API. The Overlay Manager Demo shows how to use it.
Improved HW encoder detection. If you have several GPUs sometimes only major GPU can be used for video encoding.
[Cross-platform SDKs] Updated Avalonia VideoView. Resolved issue with VideoView recreation.
VideoCaptureCore: Network_Streaming_WMV_Maximum_Clients property moved to WMVOutput class. You can set the maximum number of clients for network WMV output.
Updated WPF rendering. Improved performance for 4K and 8K videos.
VideoCaptureCoreX: Resolved issue with multiple outputs used.
VideoCaptureCoreX: Resolved issue with OnAudioFrameBuffer event.
Decklink source changed to improve startup speed. The Decklink_CaptureDevices method has been replaced by async Decklink_CaptureDevicesAsync.
[Cross-platform SDKs] Updated device enumerator
Resolved issue with VU meter in cross-platform engine
[Cross-platform SDKs] Resolved issue with VU Meter (event not fired)
Added IAsyncDisposable interface support for cross-platform core classes. It should be used to dispose of the core objects in async methods.
Added madVR support for multiscreen
Resolved NDI enumerating issue in the VideoCaptureCore engine
Added madVR Demo
Resolved madVR issues in all SDKs
Added NDI support for cross-platform engine
Resolve the "image not found" issue with the WinUI NuGet package
Improved madVR support
WinUI VideoView updated to fix issues during audio file playback
Improved VNC source support for the VideoCaptureCoreX engine.
Added VNC source support for the VideoCaptureCoreX engine. You can use VNCSourceSettings class to configure Video_Source.
Video_Resize property has been changed to IVideoResizeSettings type. You can use the VideoResizeSettings class to perform classic resize the same as before or use MaxineUpscaleSettings/MaxineSuperResSettings to perform AI resizing on Nvidia GPU using Nvidia Maxine SDK (SDK or SDK models are required to deploy).
Resolved issues with NDI source detection in the local network
Added KLVParser class to read and decode data from KLV binary files.
Added KLVFileSink block. You can export KLV data from MPEG-TS files.
Added MJPEG network streamer.
Added WASAPI 2 support.
Updated Avalonia VideoView control. Resolved issues with video playback on Windows on HighDPI displays.
Added CustomVideoFrameRate property to MFOutput. You can set a custom frame rate if your source provides an incorrect frame rate (IP camera, for example).
Updated NVENC encoder. Resolved issue with high-definition video capture.
Resolved issue with TV Tuning on Avermedia devices
[CV] Resolved the issue with wrong face coordinates.
Resolved NDI SDK detection issues.
Added Save/Load methods for output format to serialize into JSON.
Resolved MP4 HW QSV H264 regression.
WinForms and WPF VideoView stability updates.
Telemetry update
SDKs updated to use the ObservableCollection instead of List in public API.
Resolved an issue with MKV Legacy output (wrong cast exception).
Zoom and pan effects performance optimizations
Added basic Media Blocks API (WIP)
Added Rotate property to WPF VideoView. You can rotate the video by 90, 180, or 270 degrees. Also, you can use the GetImageLayer() method to get the Image layer and apply custom transforms
API change - FilterHelpers renamed to FilterDialogHelper
VisioForge.Types and VisioForge.MediaFramework assemblies merged into VisioForge.Core
UI classes moved to VisioForge.Core.UI.* assemblies and independent NuGet packages
VisioForge.Types renamed to VisioForge.Core.Types
VisioForge.Core no longer depends on the Windows Forms framework
Added StatusOverlay property for VideoCapture class. Assign TextStatusOverlay object to this property to add text status overlay, for example, to show "Connecting..." text during IP camera connecting.
RTSP Live555 IP camera engine has been removed. Please use RTSP Low Latency or FFMPEG engines.
Resolved SDK_Version possible issue.
Added Settings_Load API. You can load the settings file saved by Settings_JSON. Be sure that device names are correct.
Resolved issue with an exception if separate capture started before Start/StartAsync method call.
RTP support for the VLC source engine.
API breaking change: SDK_State property has been removed. We do not have TRIAL and FULL SDK versions anymore.
API breaking change: DirectShow_Filters_Show_Dialog, DirectShow_Filters_Has_Dialog, Audio_Codec_HasDialog, Audio_Codec_ShowDialog, Video_Codec_HasDialog, Video_Codec_ShowDialog, Filter_Supported_LAV, Filter_Exists_MatroskaMuxer, Filter_Exists_OGGMuxer, Filter_Exists_VorbisEncoder, Filter_Supported_EVR, Filter_Supported_VMR9 and Filter_Supported_NVENC has been moved to VisioForge.Tools.FilterHelpers class.
VFAudioStreamInfo/VFVideoStreamInfo duration type changed to Timespan.
Decklink types from VisioForge.Types assembly moved to VisioForge.Types.Decklink namespace.
Telemetry updated.
Custom redist loader updated.
NDI update.
API breaking change: Status property changes to State, type is PlaybackState in all SDKs.
API breaking change: UI controls split into Core (VideoCaptureCore, MediaPlayerCore, VideoEditCore) and VideoView.
API breaking change: Video_CaptureDevice... properties merged into Video_CaptureDevice property of VideoCaptureSource type.
API breaking change: Audio_CaptureDevice... properties merged into Audio_CaptureDevice property of AudioCaptureSource type.
Updated FFMPEG source
API breaking change: Video Capture SDK types moved from VisioForge.Types namespace to VisioForge.Types.VideoCapture
API breaking change: Output types moved from VisioForge.Types namespace to VisioForge.Types.Output
API breaking change: Video Effects types moved from VisioForge.Types namespace to VisioForge.Types.VideoEffects
API breaking change: Audio Effects types moved from VisioForge.Types namespace to VisioForge.Types.AudioEffects
API breaking change: Event types moved from VisioForge.Types namespace to VisioForge.Types.Events
Added Video_Renderer_SetCustomWindowHandle method to set custom video renderer by Win32 window/control HWND handle
Resolved issues with Separate capture for MP4 HW, MOV, MPEG*TS, and MKVv2 outputs
Added Video_CaptureDevice_CustomPinName property. You can use this property to set a custom output pin name for a video capture device with several output video pins
An issue with audio stream capture with enabled Virtual Camera SDK output was resolved
VFMP4v8v10Output was replaced with VFMP4Output
The "CanStart" method was added for Video_CaptureDevicesInfo items. The method returns true if the device can start and is not used exclusively in another app
Added async/await API to the ONVIFControl
An issue with wrong ColorKey processing in the Text Overlay video effect was resolved
Added forced frame rate support for the RTSP Low Latency IP camera source
MP4v11 AMD encoders were updated
The timestamp issue that happened during the MP4v11 separate capture pause/resume was resolved
FFMPEG.exe network streaming update
FFMPEG output was updated to the latest FFMPEG version
VC++ redist is no longer required to be installed. VC++ linking changed to static (except optional XIPH output)
Many base DirectShow filters moved to the VisioForge_BaseFilters module
Breaking API change: All time-related API now uses TimeSpan instead of long (milliseconds)
Tag reader/writer - correct logo loading for some video formats
Removed legacy DirectX 9 video effects
Improved .Net Core compatibility
NewTek NDI devices support added as a new engine for IP cameras
Added Video_Effects_MergeImageLogos and Video_Effects_MergeTextLogos properties. If you have 3 or more logos you can set these properties to true to optimize video effects' performance
Added playlist type option for HLS network streaming
Added integrated lightweight HTTP server for HLS network streaming
Improved DirectX 11 video processing
Added MPEG-TS AAC-only no video support for MPEG-TS output
Improved What You Hear audio source
Several new demo applications
Improved MP4 v11 output
Separate capture for MP4 v11 can split files without frame lose
Fixed stretch/letterbox issue in the WPF version of all SDKs
Fixed issue with an equalizer on sample rate 16000 or less
Resolved issue with wrong file name in OnSeparateCaptureStopped event
Improved barcode detection quality for rotated images
The minimal .Net Framework version is .Net 4.5 now
Multiple screen support in Screen Capture demo
Added low latency HTTP MJPEG stream playback (IP cameras or other sources)
Added Fake Audio Source DirectShow filter, which produces a tone signal
Updated Computer Vision demo
Added Frame_GetCurrentFromRenderer method to all SDKs. Using this method you can get the currently rendered video frame directly from the video renderer.
SDKs now have AnyCPU only. To get the x86 app set the "Prefer 32-bit" option in your project settings
Added ASIO source device support
Added GPU-based video effects. You can set a custom DirectX pixel shader to get your video effect
Added Timeshift support to Video Capture SDK
Added OnNetworkSourceDisconnect event to Video Capture SDK. The event fired if the IP camera disconnected from the source
Updated MKV output
Added Zoom option to multiscreen
Added Microsoft Kinect 2 support
Added sharpen effect
OnDeviceLost event in Video Capture SDK replaced by OnDeviceRemoved event, OnDeviceAdded event added
Added TimeStamp video effect (based on TextLogo effect)
Added Mode property to Text Logo class. Now you can draw text, current date/time, frame timestamp, or number
Audio_OutputDevice property can be set to "NULL" (string) to have an audio sample grabber and VU*meter with disabled rendering to the real audio output device
Filter_Exists_Matroska_Muxer method renamed to Filter_Supported_Matroska_Muxer
Added Video_CaptureDevice_UseClosedCaptions option to Video Capture SDK object, to enable/disable CC decoding
Updated Video Player demo
Fixed issue with Pan effect in x64 build
Fixed issue with Blur effect
Fixed CUDA encoder memory leak
Fixed FFMPEG source memory leak
Added standard tags support for video and audio files, including MP4, WMV, MP3, AAC, M4A, Ogg Vorbis, and other formats. Media Player SDK can read tags, Video Capture SDK and Video Edit SDK can write tags
Separate capture API now has SeparateCapture_Filename_Mask property to configure file name that will be used for auto split by duration or size
Added delayed start in all SDKs. This feature can be used to start multiple SDK controls almost at the same time. Check Start_DelayEnabled description
Audio effects are now written on C# and can be used in x64 applications. Old effects usage is saved as "legacy" if you have some issues with new filters or API
Improved Blackmagic devices support (please use the latest drivers)
Improved information reading for some Speex files
Error tracking has been added to the Visual Studio Output window, you'll see all errors that come from the OnError event (but without diagnostic information)
Video Capture SDK .Net SeparateCapture_Start method issue fixed, now output file name parameter will be used instead Output_Filename property
Added Video_CaptureDevice_UseRAWSampleGrabber property in Video Capture SDK .Net, you can get RAW video stream using OnVideoFrameBufferRAW event
Added settings serialization to JSON format
GIF output in Video Edit SDK .Net / Video Capture SDK .Net
Custom video effects 3rd-party filters can be added by CLSID now, before or after the main effects filter/sample grabber
Independent video effects for preview and output
Added MP3 splitter to resolve issues with some MP3 files, that can't be playable using the default splitter
VisioForge.Controls.WinForms and VisioForge.Controls.WPF assemblies are now replaced by VisioForge.Controls.UI
Updated MP4 output, with resolved AV sync issue and improved latest Intel CPU support
Added ExecutableFilename property of VFFFMPEGEXEOutput to set custom FFMPEG.exe filename
New MP4 H264 / AAC output, worked on Windows 7 and later and has better optimization for Intel CPUs
New MP4 H264 CUDA / AAC output, for Nvidia cards
Video rotation on-the-fly video effect
Updated FFMPEG encoder
Updated FFMPEG source
4K*ready video effects
API change - renamed properties H264_CUDA to MP4_CUDA
API change - video renderer-related Screen properties renamed to VideoRenderer...
VMR-9/EVR Zoom shift bug fixed
Custom video renderer background color for all renderers
Direct2D video renderer with live video rotation (BETA)
Custom latency for audio capture device using Audio_CaptureDevice_CustomLatency property
A new event for IP capture, that is fired if the network stream is disconnected (OnNetworkSourceStop event, FFMPEG source IP engine only)WPF controls the background image