Menu Close

TVideoGrabber SDK version history

15.2.6.3 – April 11, 2024

added

When the video source is an IP camera, in case of connection failure, the OnLog event and the VideoGrabber.LastErrorMessage function return detailed information about the cause of the error (wrong authentication, host not responding, etc…). This requires the RTSP/RTMP/HTTP/ONVIF Source filter 8.4.6.8 or newer.

fixed

After stopping an asynchronous connection to an URL through the RTSP/RTMP/HTTP/ONVIF Source filter, the TVideoGrabber component is an inconsistent state, preventing to restart the video from another source (e.g. USB camera).

15.2.6.2 – March 20, 2024

In the context of VideoGrabber.VideoSource=vs_IPCamera:

added

– function GetLastErrorMessage() that returns the origin of the error when StartPreview() or StartRecording() fails

– function OpenURLAsyncStatus that returns the status of the URL being opened when VideoGrabber.OpenURLAsync is enabled (enabled by default). This function returns the type TOpenURLAsyncStatus = (oas_InProgress_Connecting, oas_InProgress_Connected, oas_Completed_Success, oas_Undefined, oas_Completed_Error);

– function PreloadFilters (filter name) : the goal of this function is to pre-load the filter DLLs to avoid the initial StartPreview() or StartRecording() to take longer. If filter name is empty this function preloads the RTSP/RTMP/HTTP/ONVIF Source and/or Multipurpose Encoder, if installed. To preload only a specific filter invoke PreloadFilters (“rtsp”) or PreloadFilters (“multi”).

changed

– new asynchronous connection mode starts faster

15.2.6.1 – January 20, 2024

added

– VideoGrabber.VideoSource = vs_Mixer and VideoGrabber.VideoSource = vs_ScreenRecording now report the dropped frame count, depending on the VideoGrabber.FrameRate that has been set.

15.2.6.0 – January 12, 2024

enhanced

– better maximal frame rate when the frame grabber is enabled

fixed

– the recording may fail to start if VideoGrabber.RecordingFileName has been assigned a filename having a single digit (e.g. “0.wav”)
– possible 3-seconds freezings at random intervals when recording a USB capture device with audio

15.2.5.9 – December 14, 2023

fixed

– frame grabber may fail to connect randomly in some cases
– recording an IP camera in native format may be sluggish on Windows 10 22H2
– video topdown with Blackmagic Intensity 4K
– Mixer_SetupPIPFromSource: the PIP may be misaligned

15.2.5.7 – December 6, 2023

added

– function VideoGrabber.StartPTZ(): after invoking it instead of StartPreview() or StartRecording(), the PTZ commands can be sent without having to decode/preview the live stream.

fixed

– frame capture to JPEG file may fail

15.2.5.6 – November 28, 2023

fixed

– WPF component not refreshing video on Microsoft Surface tablet
– some webcam may display a black screen
– IP cameras do not report dropped frame count through the Datastead RTSP/RTMP/HTTP/ONVIF Source
– VideoGrabber.VideoRenderer = vr_MadVR not working
– Playlist of images opened with VideoGrabber.Playlist (pl_play…) stops after opening the first image

added

– Delphi / C++Builder component for RadStudio 12 Athens
– NET Framework 4.8.1 component
– NET Core 7 component
– NET Core 8 component

15.2.5.5 – June 12, 2023

fixed

– VideoWidth property returns the video height, VideoHeight property returns the video width

15.2.5.4 – May 31, 2023

fixed

– crash when previewing with audio rendered through HDMI
– possible crash when sending ONVIF PTZ commands too fast

15.2.5.3 – April 5, 2023

added

– function IsURLVideoStreamAvailable (TimeOut_Ms: LongInt): TTriState
E.g.:
VideoGrabber.VideoSource = vs_IPCamera
VideoGrabber.IPCameraURL = “rtsp://…”
TTriState Result = IsURLVideoStreamAvailable(5000);
The meaning of Result is:
TTristate.ts_Undefined: the connection failed
TTristate.ts_false: the connection succeeded no frame was received before the timeout expires
TTristate.ts_true: the connection succeeded and at least one frame was received

fixed

– vu-meters may display only one channel
– VideoSource = vs_StreamInterface not working with the RTSP/RTMP/HTTP/ONVIF Source filter

15.2.5.2 – March 9, 2023

added

– Delphi Alexandria 11.3 binaries

enhanced

– lower latency with video capture devices when the audio is not rendered

fixed

– URL sources: the video window background may not be always erased (e.g. when reconnecting)

15.2.5.1 – February 21, 2023

fixed

– player may play fast after viewing an IP camera URL if the audio rendering was not enabled
– image overlay not showing when setting VideoGrabber.SetImageOverlay_VideoAlignment(0, oa_RightBottom)
– text overlay may not appear
– connecting the OnFilterSelected event may cause a lockup if the UAC dialog is displayed

15.2.5.0 – January 16, 2023

added

– IP Cameras: GetFrameInfo(0,fi_First_NTP_time_Recorded) return the NTP time of the first video frame written in the file begin recorded
(requires the RTSP/RTMP/HTTP/ONVIF Source 8.4.2.6 or greater)

fixed

– Multipurpose Encoder: recording an IP camera as video source with an audio capture device as audio source with the Multipurpose Encoder failed to start (with VideoGrabber.RecordingInNativeFormat=false and VBideoGrabber.AudioSource=as_UseExternalAudio)
– C# MainDemo project for NET6 not compiling

15.2.4.8 – November 14, 2022

fixed

– unexpected behavior if RecordingFileName is set with a file type different of the RecordingMethod, which is by default rm_AVI. E.g. RecordingFileName = “c:\folder\video.mp4” and RecordingMethod = rm_AVI.
– when starting the recording of a RTSP URL and the recording file cannot be created, the OnLog event reports “failed to connect” instead of “failed to create file”

changed

C#: the “Helpers.TFrameInfo” and “Helpers.TFrameBitmapInfo” structures are obsolete (used in the OnFrameBitmap and OnFrameProgress2 events), replace them by “VidGrab.TFrameInfo” and “VidGrab.TFrameBitmapInfo”, e.g.:

private void VideoGrabber1_OnFrameBitmap(object sender, VidGrab.TOnFrameBitmapEventArgs e)
{
  VidGrab.TFrameInfo FrameInfo = (VidGrab.TFrameInfo)Marshal.PtrToStructure((IntPtr)e.frameInfo, typeof(VidGrab.TFrameInfo));
 VidGrab.TFrameBitmapInfo FrameBitmapInfo = (VidGrab.TFrameBitmapInfo)Marshal.PtrToStructure((IntPtr)e.bitmapInfo, typeof(VidGrab.TFrameBitmapInfo));
 // do what is needed with FrameInfo and/or FrameBitmapInfo
}

15.2.4.6 – November 2, 2022

added

– RadStudio 11.2 VLC components
– faster URL connection when no audio rendering or VU-meters are needed (AudioDeviceRendering=false, VUMeters=vu_Disabled)
– faster ONVIF connection (without PTZ support) by specifying VideoGrabber.IPCameraURL = “onvifurl://…” (instead of “onvif://…”)
– NTP camera time reported for each frame:
. either from the OnFrameBitmap event -> FrameInfo parameter -> NTPFrameTime
. either from the OnFrameProgress2 event -> FrameInfo parameter -> NTPFrameTime
. either by invoking int64 NTPFrameTime = VideoGrabber.GetFrameInfo (0, fi_NTPFrameTime)

fixed

– OnLog event may fail to occur
– OnMouseDown / OnMouseUp events not working correctly when the mouse moves out of the video control

15.2.4.4 – September 6, 2022

fixed

– when recording video+audio with the Multipurpose Encoder, the audio stream may be missing
– WPF: the video window may be misaligned after resizing the VideoGrabberWPF control

15.2.4.2 – August 16, 2022

fixed

– possible error when recording an URL source in native format through the RTSP/RTMP/HTTP/ONVIF Source
– Newtek “Webcam Input” virtual device may not be listed in the “video devices” list

15.2.4.1 – August 10, 2022

added

function ONVIFDeviceInfo (onv_XMLReplay):
returns the ONVIF list of recordings available on the ONVIF DVR or camera in XML format

function ONVIFDeviceInfo (onv_XMLInfo):
returns the ONVIF data (including the recordings) in XML format

15.2.2.1 – July 27, 2022

fixed

possible error when invoking SetTextOverlay_String

15.2.1.8 – June 24, 2022

fixed

      • possible error when using the RTSP/RTMP/HTTP/ONVIF Source and/or the Multipurpose Encoder and the binaries are not registered but loaded from a subfolder

15.2.1.6 – June 23, 2022

fixed

      • when opening an URL through the Datastead RTSP/RTMP/HTTP/ONVIF Source and specifying a buffering in milliseconds (e.g. >”buffer=400″), the buffering may not be taken in account
      • when opening a wmv/asf video clip in the player, the frame rate reported may be up to 10000 fps
      • URL recording: after a pause/resume, the time reported by the OnFrameProgress event is not correct when RecordingInNativeFormat=true (by default)
      • OnRawVideoSample event may not work
      • multi-monitors: black window when moving the video control from a monitor to the other
      • RadStudio: the video control may not resize correctly when resizing the parent control
      • WPF: events callbacks may not work properly
      • WPF: invoking VideoGrabber.ClosePlayer() may hang
      • WPF: VideoGrabber.CaptureFrameTo (fc_TBitmap) may return a blank image
      • QT: creating several TVideoGrabber instances concurrently may fail or error the application

15.2.1.4 – May 13, 2022

fixed

– NetworkStreaming = ns_ASFDirectNetworkStreaming not working

– possible Window handle error when the application is compiled for x64

– NDI : GetNDISessions not working properly

 

15.2.1.2 – April 12, 2022

added

VideoGrabber.RecordingDuration() can be read during the recording when the Datastead Encoder is used

fixed

– the sequence HoldRecording=true -> StartRecording() -> ResumeRecording() does not start with the Datastead Encoder when RecordingPauseCreatesNewFile=true
– possible error of the screen recording
– possible grayscale video with some USB grabbers when the application is targeting x64
– high CPU when opening an URL through the Datastead RTSP filter, the URL does not respond and VideoGrabber.Stop() is invoked before the connection timeout occurs

15.2.1.0 – March 22, 2022

added

– now the RTSP filter updates the dropped frame count in the TVideoGrabber SDK with live RTSP, UDP and RTP sources, this lets determine whether and how many decoded frames are dropped
– when using the Datastead NDI filters and playing NDI streams, possibility to specify the source host and stream name with this sample code:
https://www.datastead.com/_releases/ndi/SAMPLE_CODE.rtf

fixed

– when using the Multipurpose Encoder with the FFmpeg command line, the processing progress was not reported anymore (e.g. in the MainDemo project -> “Multipurpose Encoder” -> “Command line” -> “… log” tabs)
– audio/video possibly not synchronized when playing http/https URLs

15.1.8.0 – February 23, 2022

fixed

– the frame counting and time goes on increasing while the recording is paused
– when recording or streaming with the Multipurpose Encoder, the audio may be missing

changed

– MSVC/QT/MingGW C++ package:
Now the package is compatible with the compilation from MinGW.

– the enums are now part of the CVideoGrabber class, this requires some minor changes in the code, e.g.:
SetVideoSource (vs_IPCamera) must be changed as SetVideoSource (TVideoSource::vs_IPCamera)

15.1.6.0 – February 15, 2022

fixed

– VideoGrabber.VideoSource = vs_ScreenRecording or vs_Mixer: the recording may fail to start, depending on the video size
– when the source is the RTSP/RTMP/HTTP/ONVIF Source filter:
. when generating a new file during recording, invoking VideoGrabber.RecordingKBytesWrittenToDisk from the OnRecordingCompleted event does not report the correct file size
. when VideoGrabber.RecordingPauseCreatesNewFile=true a new file name is not created
. when invoking ONVIFSnapShot (true, false, “”), the OnRawVideoSample event, that reports the JPEG image buffer) does not occur

15.1.4.0 – February 3, 2022

fixed

– invoking ShowDialog (dlg_VideoCompressor) with the Datastead Encoder may freeze if invoked while the component is running
– Datastead Encoder UDP streaming stops when the recording timer is enabled, or when invoking RecordToNewFileNow()

changed

– if no VideoGrabber.StoragePath is specified, the recordings are saved in the %TEMP% folder

15.1.2.8 – January 26, 2022

fixed

– Player: AVI files may report a wrong frame rate even with the LAV filters installed
– Multipurpose Encoder: TVideoGrabber uses the Datastead Encoder instead of the command line encoder, although VideoGrabber.EnableMultipurposeEncoder (mpe_Recording, true) has been set.
– possible error with the screen recording if the screen size has an odd value

15.1.2.2 – January 19, 2022

added

NET 6 component

fixed

– possible error when recording through the Datastead Encoder

– now the Datastead Encoder settings can be set “manually” through the VideoGrabber.ShowDialog (dlg_VideoCompressor) orr ShowDialog (dlg_AudioCompressor). In this case they are saved in the registry and restored automatically when the app is restarted.
Note that if either Encoder_SetInt (0, …) or Encoder_SetStr (0, …) is invoked programatically to configure the encoder, in this case the settings saved in the registry are ignored.

changed

– now by default the files are stored in the user’s “Videos” folder

15.1.2.1 – November 23, 2021

fixed

– audio/video may not be in sync when the source is an URL or IP camera
– overlays may not be working when VideoSource = vs_VideoFileOrURL
– increased CPU load when recording IP cameras
– Blackmagic cards: “Decklink Video Capture” device not listed in the “Video Devices” list

15.1.1.8 – October 26, 2021

fixed

– setting a recording file name with a “.wmv” extension produces a “.asf” file
– OnDeviceArrivalOrRemoval event not raised when connecting/removing a camera or microphone and the preview or recording is running
– recording may fail if an audio device is selected and AudioRecording is enabled

15.1.1.6 – October 15, 2021

fixed

– ResumeRecording may not be instant, although the Datastead Encoder is recording
– Forms of the .NET Winform MainDemo projects not opening
– WPF MainDemo some controls not working property

15.1.1.4 – October 13, 2021

fixed

– recording produces no file after the 1st recording
– possible error when enabling the streaming by invoking Encoders_CreateInstanceForStreaming

15.1.1.2 – October 11, 2021

the changelog is being updated, please come back in a few hours

added

New recording and streaming through the Multirpupose Encoder 2.0.1 without requiring the FFMpeg command line syntax.
The following new functions are introduced:

Encoder_GetInt
Encoder_SetInt
Encoder_SetStr

The typical sample code for the recording is:

Videograbber.VideoCompressor = Videograbber.VideoCompressorIndex ("Datastead Multipurpose Encoder");
Videograbber.AudioCompressor = Videograbber.AudioCompressorIndex ("Datastead Multipurpose Encoder");
Videograbber.Encoder_SetStr (ENCODER_RECORDING_ID, Enc_Video_Codec, "hevc"); // if not specified the default codec is used
Videograbber.Encoder_SetInt (ENCODER_RECORDING_ID, Enc_Video_Bitrate_kb, 2000); // other settings available
Videograbber.RecordInNativeFormat = false;
Videograbber.recordingFileName = "c:\folder\videoclip.mp4";
Videograbber.AudioRecording = true;
Videograbber.StartRecording();

It is possible to add an “externally-controlled” streaming or recording with the following new functions:

Encoders_CreateInstanceForRecording
Encoders_CreateInstanceForStreaming
Encoders_RemoveAllInstances
Encoders_RemoveInstance
Encoder_Pause
Encoder_CloseOutputFile
Encoder_NewOutputFile
Encoder_Resume

The typical sample code for the streaming is:
https://www.datastead.com/_releases/vidgrabhelp/StreamingthroughtheDatasteadEnco.html

fixed

– pressing the “ESC” key raises the OnLeavingFullScreen event, even when not in full screen mode
– AudioSyncAdjustmentEnabled and AudioSyncAdjustment not working

14.1.1.4 – September 20, 2021

fixed

– mixer mode: the overlays of the TVideoGrabber component specified as source with Mixer_AddToMixer or Mixer_SetupPIPFromSource do not appear
– video may be flashing black when seeking a MP4 clip opened without the LAV filters installed

14.1.1.2 – September 16, 2021

added

– TVideoGrabber component for Delphi 11 and C++Builder 11 Alexandria

– logarithmic scale for the VU-meters
To enable it set:
VideoGrabber.SetVUMeterSetting (VU_LEFT, vu_LogarithmicScale, 1);
VideoGrabber.SetVUMeterSetting (VU_RIGHT, vu_LogarithmicScale, 1);

– VideoGrabber.ExtraDLLPath: possibility to specify a different DLL path per filter, by adding the [RTSP] or [MPE] prefix at the beginning
E.g.:
VideoGrabber.ExtraDLLPath = “[RTSP]c:\RTSPfolder1\”;
VideoGrabber.ExtraDLLPath = “[MPE]c:\MPEfolder2\”;

fixed

HTTP or Youtube URLs play at full speed, instead of normal speed

OnFrameProgress event does not occur during fast forward or fast rewind (VideoGrabber.RewindPlayer() or VideoGrabber.FastForwardPlayer()

Mixer_SetupPIPFromSource: specifying a cropped portion of the image not taken in account (Source_Left, Source_Top, Source_Width or Source_Height <> 0)

– VideoGrabber.NetworkStreaming= ns_NDI: possible application error when stopping/exiting the
application

Pause/Resume recording: in some cases the recorded clip may show a static image during the pauses

14.1.1.1 – July 5, 2021

added

360° video decoding (requires the Datastead RTSP/RTMP/HTTP/ONVIF Source filter)
– string MultipurposeEncoder_Convert100nsToHhMmSsZzz (int64 Time100ns)

fixed

– some videos in “portrait” mode are be displayed in “landscape” mode
– possible random error when invoking several instances from the .NET Framework
– the “object sender” parameter of the WPF events did not return the current VideoGrabberWPF instance
– duration returned by AVIInfo or AVInfo2 may return 0 in some rare cases
– Multipurpose Encoder: component may not restart in case of wrong command line
– mixer source from a player instance : the mixer video may look jerky whereas it is smooth in the player instance
– video decoding may be still enabled in some cases although the FrameGrabber=fg_Disabled and VideoRenderer=vr_None
– GetLastFrameBitmapBits may be slow

12.2.2.4 – April 30, 2021

fixed

– possible application error depending on the video source or video capture device
– black video window in WPF MainDemo when the VideoGrabberToImage property is enabled (enabled by default)
– Pause/Resume recording: the frame time reported from the OnFrameProgress event does not reflect the pause/resume

12.2.2.2 – April 27, 2021

fixed

– ghost frames (older frames) may appear randomly in some cases when the frame grabber is enabled

enhanced

– lower latency with IP cameras and URL sources when no audio is rendered
– lower CPU and memory consumption when the frame grabber is enabled

changed

Display_AspectRatio=ar_Stretch by default (set Display_AspectRatio=ar_Box to add bottom/top borders)

added

– VCL component for Delphi and C++Builder Sydney 10.4.2
– OnDragDropFiles event
– OnAudioBufferNegotiation event (allows to modify the audio buffering during recording/streaming)
– RecordingMethod = rm_H264 (lets record through the RTSP filter in h264 format)
– property RecordingFileSizeMaxInMB: lets specify a maximum recording file size. When exceeded, a new recording file is generated on the fly.
– function VideoDeviceIndexFromId (string identifier): returns the index of the video capture device by its hardware identifier from the VideoDevicesId list.

12.2.1.1 – January 12, 2021

fixed

– wrong frame rate reported with some MP4 clips
– possible black window on 2nd monitor when using dual display on 2 monitors
– video sizes list empty with Blackmagic Decklink cards
– WPF: VideoGrabberWPF events not raised
– WPF: VideoGrabberWPF not working in Net Core 3.0 and Net Core 3.1
– MainDemoWPF demo project not working properly

added

– Net 5.0 assembly
– function MultipurposeEncoder_QuickConfigure_UDPStreaming_H264
– support for the RTSPS protocol through the Datastead RTSP/RTMP/HTTP/ONVIF Source filter 7.6 or higher

changed

WPF: VideoGrabberWPF.VideoGrabberToImage property now disabled by default

12.1.2.2 – November 16, 2020

fixed

– possible black window with Blackmagic Decklink cards
– Delphi: trackbar may not be working properly when a TTrackbar component is assigned to the PlayerTrackBar property

12.1.1.4 – November 10, 2020

added

function SetImageOverlayFromHBitmap3 (Index: LongInt; Bitmap: HBITMAP; ReleaseBitmap: Boolean): Boolean;
– if the ReleaseBitmap parameter is set to true the bitmap passed to the function is freed by the function

fixed

– brightness/saturation/exposure not working properly when switching between “auto” and manual”
– player trackbar progress may be jerky
– no video when viewing through a Remote Desktop Connection
– NDI streaming works also with the player
– WPF: video may be sluggish, especially when using more than 1 instance of TVideoGrabber concurrently

12.1.1.2 – September 18, 2020

fixed

playback may stop before end of the the clip when VideoGrabber.PlayerSpeedRatio <> 1

dual screen: video may freeze when moving the video window from a screen to the other

video not smooth or hanging in WPF control

added

property VideoGrabber.PlayerSpeedRatioConstantAudioPitch (boolean)
when playing the clip at a speed ratio <> 1:
– if enabled (default), the audio is rendered at the normal pitch
– if disabled, the audio is rendered with the pitch of the speed ratio

VideoGrabber.AudioSource = as_SpeakerOutput
allows to record whatever is renderered in the soundcard’s output

VideoGrabber.AudioSource = as_DefaultWithSpeakerRecording
allows to record whatever is renderered in the soundcard’s output, while rendering the current audio source

event VideoGrabber.OnNTPTimeStamp
reports the NTP timestamps of RTSP sources (requires the RTSP/RTMP/HTTP/ONVIF Source filter to be installed)

11.2.1.16 – July 1, 2020

fixed

TVideoGrabber not working on Windows XP

11.2.1.12 – June 17, 2020

added

property GetLastFrameWaitTimeoutMs
If set to a value > 0, typically 50 (ms), the GetLastFrame… functions, instead of returning the current frame, waits for the next frame, until the specified timeout expires.

TRecordingTimer = rt_FrameCapture
Captures periodically the current frame, the type of capture (memory bitmap, bmp file, etc…) is determined by the BurstType property. The interval is determined by RecordingTimerInterval, expressed in seconds

fixed

PlayerSpeedRatio not working with ASF/WMV clips

11.2.1.10 – June 4, 2020

added

– Delphi and C++Builder components for RadStudio 10.4 Sydney
– frame capture to .TIFF and .PNG files:
TFrameCaptureDest=(fc_TBitmap,fc_BmpFile,fc_JpegFile,fc_Clipboard,fc_TiffFile,fc_PngFile)

fixed

– some USB or integrated cameras does not start, the OnLog event reports “graph can’t run: 80004002”
– frame capture with the frame grabber disabled does not work in some cases
– video capture devices may not start from an application using the Cpp version
– MP4 and MOV clips at 29.97 fps report a wrong frame rate of 30fps
– webcam preview may be jerky

11.2.1.8 – April 30, 2020

added

– NET Core 3.0 and NET Core 3.1 components
– Delphi 10.3 and C++Builder 10.3 sub-versions available separately:
10.3.1, 10.3.2 and 10.3.3

fixed

– ASF recording with audio: audio sample rate may vary
– LAV codecs: VideoGrabber.PlayerHwAccel ignored if the frame grabber is disabled
– OSPrey 816e flashing green (with default settings)
– USB or GIGe camera: settings unexpectedly changing between stops/starts
– WPF: VidGrabWPF:VideoGrabberWPF component always on top event if another control is above it
– WPF: video stops displaying after a few seconds
– WPF: VidGrabWPF:VideoGrabberWPF may error when destroying the control
– MainDemo C# / VB.NET: possible error when opening the “video quality” dialog
– deinterlacing: VideoGrabber.VideoProcessing_Deinterlacing = di_FullSize may not work
– rotation: VideoGrabber.VideoRotation = rt_custom_angle or rt_custom_angle_mirror not working
– zoom now working with frame grabber disabled
– …VMR9ImageAdjustment… functions not working
– ASF recording: VideoGrabber.HoldRecording=True + VideoGrabber.StartRecording() not working
– ASF recording: VideoGrabber.PauseRecording may not work, VideoGrabber.IsRecordingPaused returns always false
– NET Framework: possible error System.IO.FileNotFoundException HResult=0x80070002 “VideoGrabberNET failed to load”

11.2.1.6 – December 5, 2019

added

– possibility to capture frames although the frame grabber is disabled, by invoking CaptureFrameTo(), or the GetLastFrameAs… functions.
– RadStudio 10.3.3 versions of the component

fixed

– AVI recording: wrong total duration when using PauseRecording/ResumeRecording

– .NET Framework: strong named assemblies not signed

– .NET Framework: WPF control may freeze after a few seconds

– when RecordingPauseCreatesNewFiles is disabled, the PauseRecording/ResumeRecording sequences show a frozen frame for the duration of the pause, instead of jumping from the previous to the next sequence

– possible wrong clip duration when PauseRecording/ResumeRecording is used

– video clip may play faster in some cases

– Basler cameras not working

– OnFilterSelected event not raised with video capture devices

11.1.2.2 – August 23, 2019

added

– added the function CaptureFrameRenderedTo,that lets capture frames when the frame grabber is disabled

– added the possibility to build a stream from raw samples (e.g. h264) through the following properties/functions:
. property StreamInterface_Format
. property StreamInterface_FrameRate
. property StreamInterface_IsRealTime
. function StreamInterface_PushData

fixed

– after pausing the player, the trackbar can make a jump of 2 or 3 frames

– recording of an OsPrey 100e PCIe capture card: the recorded clip may have a wrong duration

AVI recording: possible incorrect duration of the clip recorded

– taking a snapshot from the player may take a few seconds

vidgrab_VB6.ocx: the app may error when exiting

11.1.2.1 – May 6, 2019

added

seamless playback of multiple video clips having the same format. Once opened they behave as a single large clip, with seamless global seeking.

The seamless playback is activated as follows:
VideoGrabber.PlayList (pl_Clear, “”)
VideoGrabber.PlayList (pl_add, “clip1.mp4”)
VideoGrabber.PlayList (pl_add, “clip2.mp4”)
VideoGrabber.PlayList (pl_add, clip n…)
VideoGrabber.PlayerFileName = “PLAYLIST”
VideoGrabber.OpenPlayer()

– added the following functions to control the RTSP/RTMP/HTTP/ONVIF DirectShow Source filter while it is running:
. ONVIF_GetBool
. ONVIF_GetDouble
. ONVIF_GetInt
. ONVIF_GetStr
. ONVIF_SetBool
. ONVIF_SetDouble
. ONVIF_SetInt
. ONVIF_SetStr
E.g.:
VideoGrabber.Onvif_SetBool (“RTSP_VideoStream_Decode_KeyFrames_Only_bool”, true);

– added the possibility to set custom property of some GIGE/Firewire cameras, by example the ImagingSource DFK cameras, with the following functions:

. GetFWCam1394
. SetFWCam1394
. GetFWCam1394List

new VidGrabWPF:VideoGrabberWPF component compatible with the code of the VidGrab::VideoGrabber component of WinForms.
It has a dual mode that can be switched with the VideoGrabberToImage property listed in the “Common” properties of the component:

. VideoGrabberToImage enabled (default):
TVideoGrabber renders through an Image component, allowing WPF semi-transparent overlays

. VideoGrabberToImage disabled:
TVideoGrabber renders in a DirectShow renderer through a WindowsFormHost.
This saves CPU, but with potential problem if using WPF overlays (“airspace issue”)

– added an onv_AuxiliaryCommands to the TONVIFDeviceInfo options of the ONVIFDeviceInfo function

– added a ScreenRecordingSizePercent property

– added an OnLeavingFullScreenMode event that occurs e.g. when, in full screen mode, the user press the key

fixed

Gopro videos may fail to play

– when selecting a video device and a video size, the VideoWidth and VideoHeight values are correct. However, after executing the StartPreview command, these values invariably change to 640 and 480 respectively

– possible black window with Blackmagic Decklink cards

VideoProcessing_deinterlacing=di_FFdshow not working when playing an interlaced PAL or NTSC video, although the FFshow CLSID codecs are installed

VideoGrabber.ShowDialog (dlg_VideoDevice) not working with some video capture devices