TVideoGrabber SDK version history

v11.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

 

v10.8.4.6 – December 21, 2018

fixed

– no audio with WMV clips

v10.8.4.4 – December 18, 2018

added

– Delphi and CppBuilder VCL components for RadStudio 10.3 Rio

– possibility to use the hardware acceleration of video decoding (currently supported with the LAV filters):
property PlayerHwAccel : type THwAccel = (hw_None, hw_Cuda, hw_QuickSync, hw_Dxva2, hw_d3d11)

– control of the IR Cut Filter of Axis cameras through the Datastead RTSP/RTMP/HTTP/ONVIF DirectShow
Source Filter
v7.2.2.1 or newer
by invoking VideoGrabber.ONVIF_SetStr (“RTSP_Source_Axis_IrCutFilter_str”, Value)
with Value = “auto”,
“enabled” or “disabled”

fixed

– possible wrong video clip duration/frame count when reopening a video clip that has already been opened

– video capture devices -> VideoFormats/VideoSizes/VideoSubtypes lists: duplicates items with some capture devices

– IP cameras in HTTP/MJPEG mode: excessive frame rate

v10.8.4.2 – August 24, 2018

changed

– default Display_AspectRatio value changed from ar_Stretch to ar_Box

fixed

– loosing the focus of the current control when starting the video (preview, recording or playback)

– when the preview/recording is running, CameraControlValue and VideoQualityValue now return the real value read from the video capture
device

– preview/recording may fail to start with some video capture devices

– OpenPlayer returns true although the file does not exist

– OpenPlayer / RunPlayer may fail when invoked from the OnPlayerEndOfStream event

– when capturing all the frames of a video clip in burst mode, the OnFrameCaptureCompleted event does not occur for the last frame of the clip

– http cameras in MJPEG mode may fail to start

added

function SetDisplayParent lets attach additional video windows to controls or forms:

– Delphi/C++ Builder: function SetDisplayParent (DisplayIndex, TWinControl descendant)
– other languages: function SetDisplayParent (DisplayIndex, window handle)

Usage :
VideoGrabber….
VideoGrabber.SetDisplayActive (1, true)
VideoGrabber.SetDisplayParent (1, Panel1)
VideoGrabber.SetDisplayActive (2, true)
VideoGrabber.SetDisplayParent (2, Form2)
VideoGrabber.StartPreview()

v10.8.4.1 – August 7, 2018

added

function Monitor_Primary_Index returns the index of the primary monitor (to use with SetDisplayMonitor and GetMonitorBounds)

fixed

– some webcams may fail to start, saying a codec is missing, although no extra codec is needed

– OnAudioPeak event not working in some cases

– OnAudioPeak event: Left_DB and/or Right_DB parameters returning randomly -2147483648

– CSharp component unstable under certain circumstances

v10.8.2.8 – June 11, 2018

fixed

– player reports incorrect clip duration

– when invoking AVIInfo and/or AVIDuration a 1st time on a valid clip, then a 2nd time on a corrupted clip, at the 2nd time the functions report the
duration of the 1st clip, instead of 0

– memory leak

– PausePreview / ResumePreview not working properly under certain circumstances

v10.8.2.6 – May 31, 2018

fixed

– setting VideoFormatIndex with a value > 0 not taken in account

v10.8.2.4 – May 24, 2018

fixed

– opening a clip may fail randomly under certain circumstances

– in certain cases, the 1st opening of a WMV clip is correct but next openings show a shifted image

– the OnInactive event occurs now only when the component stops (in previous versions it occurred also while connecting asynchronously to an URL)

– when invoking ShowDialog (e.g. ShowDialog (dlg_VideoCompressor), some tabs of the dialog are missing)

– IP cameras: jerky video when AudioSource=as_UseExternalAudio (when the audio source is a PC’s audio capture device e.g. line in or microphone)

v10.8.2.2 – May 14, 2018

added

– support of NET Framework 4.7.2

– function ONVIFDeviceInfo (onv_MacAddress) returns the MAC address of the network port of the IP camera

changed

– webcams: if a 1080p or 720p video size is available, it is selected by default instead of 320×240.

fixed

– IP cameras: after a connection failure (camera not available or wrong URL), invoking StartPreview() or StartRecording() with a live URL failed to
start.

– during the reencoding, CurrentState() was returning cs_Preview, instead of cs_Reencoding

– text overlay: the overlay position may change depending on the Windows’s “Display Settings” -> “Scale” setting

– StartSynchronized not working

v10.8.1.5 – April 23, 2018

fixed

– text overlay: when TextOverlay_HighResFont = true, the last character of the overlay may be missing with some fonts

– StartPreview may fail if AudioDeviceRendering=true and the video source has no audio

– StartRecording could have started with black screen if no write rights in the recording folder.
Now StartRecording just fails to start and an error is reported by the OnLog event.

v10.8.1.4 – April 10, 2018

fixed

– hanging when stopping the video on some platforms (may appear after the Windows 10 1709 update)

– when TextOverlay_HighResFonts=true and TextOverlayAlign=tf_Center, the text is not centered correctly

added

– support of the madVR video renderer

– QT quick start demo project

– property Display_Embedded_FitParent

– GetItemNameFromList (‘RTSP_LIC_VERSION’, 0)
returns “2018” if the version of both TVideoGrabber and the RTSP filter are >= 2018

– GetItemNameFromList (‘VIDGRAB_LIC_VERSION’, 0)
returns “2018” if the TVideoGrabber version is >= 2018

v10.8.1.2 – March 13, 2018

added

ONVIF PTZ support: continuous PTZ, absolute PTZ and relative PTZ with the following functions:
  . ONVIFPTZGetLimits
  . ONVIFPTZGetPosition
  . ONVIFPTZSetPosition
  . ONVIFPTZStartMove
  . ONVIFPTZStopMove

– ONVIFPTZPreset (create, remove, goto)

– ONVIFPTZSendAuxiliaryCommand

– ONVIFDeviceInfo

– IP Cameras and URLs: it is now possible to use an URL as video source and a PC microphone or other audio capture device as audio source with the
following sample code:

VideoGrabber.VideoSource = vs_IPCamera

VideoGrabber.AudioDevice = VideoGrabber.AudioDeviceIndex (…)
VideoGrabber.AudioSource = as_UseExternalAudio

// VideoGrabber.AudioDeviceRendering = true // if needed to render
VideoGrabber.AudioRecording = true
VideoGrabber.RecordingMethod = …
VideoGrabber….
VideoGrabber.StartRecording()

– C#/VB.NET DLL for .NET 4.7.1

– Latest Delphi & C++Builder Tokyo 10.2.2 update

fixed

– RecordingMethod = rm_ASF may fail when the source is the RTSP/RTMP/HTTP/ONVIF DirectShow source filter, depending on
RecordingInNativeFormat is enabled or disabled

– possible audio/video sync problem when RecordingMethod = rm_MP4

– text and image overlay transparency/alphablending may not work properly or the alphablending quality is bad

– OnMouseDown event may not work in some cases

v10.6.2.2 – May 9, 2017

added

– possiblity to overlay the VU-meters over the video frames with VUMeter=vu_AnalogOverlay or VUMeter=vu_BargraphOverlay

fixed

– player: forwarding, rewind and scroll may fail

– player: setting PLayerFramePosition may not be taken in account- property VideoDelay now works even if the frame grabber is disabled

– when recording the screen, the playback of this recording plays faster

– OnMouseLeave event occurs while the cursor is within the video windows

– vu-meters may not work in the player

– possible unstable behavior in WPF

added

– components for Delphi/C++Builder 10.2 Tokyo

– components for .NET Framework 4.6.1, 4.6.2 and 4.7

– property ExtraDLLPath lets you specify the folder location of the binaries of the Datastead RTSP/RTMP/HTTP/ONVIF DirectShow source filter and/or
the Datastead Multipurpose Encoder (in this case it is not necessary to register the filters nor run the filter’s installer)

– property VideoStreamNumber lets you select the video stream (in the 0..n-1 range) when a clip has more than one video stream

– property OnMouseDown_Video, OnMouseUp_Video and OnMouseMove_Video return directly the coordinates of the cursor in the video frame

– property OnMouseDown_Window, OnMouseUp_Window and OnMouseMove_Window return directly the coordinates of the cursor in the video window
(useful e.g. to popup a context menu)

v10.5.1.4 – October 14, 2016

fixed

– motion detection may not work

v10.5.1.2 – October 12, 2016

added

– support for ONVIF cameras (e.g. onvif://192.168.0.32) through our Datastead RTSP/RTMP/HTTP/ONVIF DirectShow Source Filter

– function ONVIFSnapshot to capture ONVIF JPEG snapshot

– alpha blending of text overlays with SetTextOverlay_AlphaBlend and SetTextOverlay_AlphaBlendValue (in the 0..255 range)

fixed

– when TextOverlay_HighResFont is enabled, the “OnTextOverlayScrollingCompleted” event occurs before the end of the text is displayed

– alpha blending of image overlay may not work in certain cases

– chroma keying of image overlay not working

– cannot pause WMV recording when the frame grabber is disabled

– TVideoGrabber tries to reconnect when the AVERMEDIA LGP is unplugged

– no audio rendering with the AVERMEDIA LGP with HDMI input

– Point Grey cameras through the FlyCapture SDK crashes when starting the preview or recording

– AVIInfo returns wrong values

– C#: OnFrameBitmap callback may crash in some cases

v10.4.2.4 – June 16, 2016

added

– Delphi/C++Builder 10.1 Berlin component included

– .NET 4.6 and 4.6.1 components included

fixed

– reencoding to WMW may fail (ReencodingMethod = rm_ASF)

– video rendering may appear delayed when the frame grabber is enabled

v10.4.1.2 – May 17, 2016

added

– Delphi and C++ Builder 10.1 Berlin VLC components

– possibility to overlay the VU-Meters (analog or bargraph) over the video frames

– possibility to use the VU-meters and bargraphs to display custom values (instead of audio level)

fixed

– less memory consumption when the frame grabber is enabled

– 1920×1080 supported by ASF recording (RecordingMethod = rm_ASF)

– wrong text overlay positionning

– when connecting the OnFrameOverlayUsingDC event in a WPF application, a crash may occur in the event callback

– possible black video frame in a WPF application

– possible video blinking in a WPF application

– possible error L1496 when compiling a Delphi application

v10.2.2.1 – November 23, 2015

added

– AutoFileName = fn_Modulo

– SetAudioRendererAdditional

– GetLastFrameBitmapBits

– GetLastFrameBitmapBits2

– MultipurposeEncoder_ReindexClip

fixed

– StartPreview sometimes hangs when NetworkStreaming = ns_ASFDirectNetworkStreaming

– StartPreview or StartRecording fails when the video source is the Datastead RTSP filter and VideoRenderer = vr_None

– OnRecordingStarted event not called in some cases

– changing the BackgroundColor property may be ignored

– VideoRotation = rt_custom_angle may not work

– when displaying on 2 monitors, the video may appear only on one

– text overlay not centered when TextOverlay_VideoAlignment is set to a centered value

– using the Monogram DirectShow AAC encoder to compress audio fails to bind

v10.1.2.8 – April 20, 2015

fixed

playlist: video freezes and/or video window not properly located

SetCameraControl (cc_Exposure…) may not be saved in some cases (the webcam goes back to its auto exposure mode)

v10.1.2.6 – April 16, 2015

added

VideoRendererPriority property: default Speed, possible values: TVideoRendererPriority = (vrp_Speed, vrp_Quality)
Set it to vrp_Quality to get a smoother display quality at large video sizes (this may increase the CPU load).

fixed

wrong alignement when invoking SetTextOverlayAlignment or SetImageOverlayAlignement centered (oa_CenterTop, oa_LeftCenter, oa_Center,
oa_RightCenter or oa_CenterBottom)

after setting PlayerTimePosition = 0 or PlayerFramePosition = 1, the trackbar may reflect another position

v10.1.2.4 – March 12, 2015

added

PauseRecording() and ResumeRecording() now supported with the Avermedia Live Gamer (C875)

fixed

Multipurpose live network streaming works when invoking StartPreview() but not when invoking StartRecording()

AVI Recording fails to recopy the file at the end of the recording when PreallocCapFileEnabled is enabled

v10.1.2.2 – March 6, 2015

added

SetImageOverlay_VideoAlignement and SetTextOverlay_VideoAlignment functions

Support for our new Datastead Multipurpose DirectShow Encoder. If installed, this DirectShow multiplexer
filter allows the TVideoGrabber SDK, with 3 lines of code, to record in many formats, stream in RTSP to the network, or transcode/merge/edit clips.
The sample code is included in the MainDemo project.

The Multipurpose Encoder is supported with the following new functions:

– EnableMultipurposeEncoder
– SetMultipurposeEncoderSettings
– GetMultipurposeEncoderSettings
– MultipurposeEncoder_GetLastLog
– MultipurposeEncoder_GetCurrentInfo
– GetLastFrameBitmapBits
– GetFrameBitmapInfo
– OnMultipurposeEncoderProgress
– OnMultipurposeEncoderError
– OnMultipurposeEncoderCompleted

fixed

– no video when playing H265 clips with the LAV filters installed.

– possible huge memory usage in WPF at large video sizes

– changing the size of the video window can causes flicker

– cannot record audio+video with a DV source

– possible crash when accessing the TextOverlay_Font property

– setting the JPEGQuality property is ignored

– CaptureFrameSyncTo function not triggering the OnFrameCaptureCompleted event

– the Dazzle DV recorded HD does not work

v9.2.1.4 – July 1, 2014

fixed

– IP cameras in HTTP mode may not work

– invoking a TVideoGrabber action (e.g. StopRecording) from a TVideoGrabber event (e.g. OnFrameProgress2) may hang

– using an audio capture device as audio source for the RTSP filter with AudioSource = as_UseExternalAudio may fail if AudioDeviceRendering is
enabled

v9.2.1.2 – June 25, 2014

fixed

– stopping the preview or recording when the DirectShow RTSP filter is used as source may block

– error may occur when exiting the application

v9.1.1.2 – June 16, 2014

what’s new

new development platforms supported:
– Visual Studio 2013 (NET Framework 4.5.1)
– RadStudio XE6

– asynchronous connection to IP cameras and RTSP / RTMP / HTTP URLs with the OpenURLAsync property (enabled bu default)

– overlays can be applied directly to the video window(s) so they are not stretched when the video windows are resized
with the new SetTextOverlay_TargetDisplay and SetImageOverlay_TargetDisplay properties
(when using more than one renderer, the overlay can be applied only to the specified display window)

– text overlays: high resolution fonts by enabling SetTextOverlay_HighResFont
Note that the high resolution fonts are supported in C++, C# and VB.NET, ActiveX and Delphi/ C++Builder XE or higher.
The high resolution fonts support gradient colors by enabling SetTextOverlay_GradientMode and specifying the 2nd color with
SetTextOverlay_GradientColor

– it is possible to use more than 2 video renderers with the new set of functions:
VideoGrabber.SetDisplay_… (displayindex, value)
VideoGrabber.GetDisplay… (displayindex)

– overlay settings can be set directly through functions by specifying the overlay indexes by invoking the new set of functions (extensively listed below)

E.g. to set the string of the 4th overlay:

VideoGrabber.TextOverlay_Selector = VideoGrabber.TextOverlay_String = “string for overlay 4”
can be replaced by
VideoGrabber.SetTextOverlayString (4, “string for overlay 4”)

fixed

– VideoGrabber.OpenPlayerAtFramePositions (NewFrame, -1, …) do not work properly

– changing VideoGrabber.PlayerSpeedRatio is ignored in some cases

– Pinnacle Dazzle capture device does not work

– audio recording only of a DV capture device does not work

– reencoding may stop before completion

– invoking StopPreview() or StopRecording() may hang in some cases

– inconsistent behavior of SetVideoControlMode, or SetVideoControlMode2 (top-down or left-right flipping settings of USB or PCI video capture
devices)

– scrolling of text overlays slows-down progressively and stops after a few hours

– AVIDuration may return 0 instead of the real duration

v8.8.4.1 – October 4, 2013

fixed

– VideoGrabber.FullScreen=true: the video goes in full screen mode but the application remains visible in some cases

– playlist: the video window now remains visible between clips

– VideoGrabber.NetworkStreaming enabled: invoking StopPreview() or StopRecording() now stops the graph immediately (previously it took a few
seconds)

– freezing or crash when stopping the preview or recording in some rare cases

– Delphi or C++Builder: changing the BackgroundColor property was ignored

added

RadStudio XE5 components

it is not possible to use up to 8 display windows, just invoke the SetDisplay… functions with an index between 2 and 8 (0 and 1 are reserved to the
existing Display… and DualDisplay… properties), e.g.:
Videograbber.SetDisplayActive (2, true);
Videograbber.SetDisplayActive (3, true);
Videograbber.StartPreview();
Videograbber.SetDisplayMonitor (2, 1);
Videograbber.SetDisplayMonitor (3, 2);
Videograbber.SetDisplayFullScreen (2, true);
Videograbber.SetDisplayFullScreen (3, true);

v8.8.2.2 – July 24, 2013

fixed

– playback: half top of the video window may appear black when some video processings are applied (e.g. 90° rotation, etc…)

– audio VU-meter may not work properly

v8.8.2.1 – July 11, 2013

fixed

– possible slower sample times when VideoSource = vs_ScreenRecording, vs_IPcamera or vs_Mixer

– ASF/VMW playback: half top of the video window appears black after installing the Microsoft’s KB2803821 update.

– static playlists: now the components takes as default resolution the size of the 1st clip.
To specify a non-default resolution invoke UseNearestVideoSize (width, height, true) before invoking OpenPlayer()

– VideoSource = vs_JpegsOrBitmaps hangs when invoking StartPreview() or StartRecording() and no sample is passed from the
OnVideoFromBitmapsNextFrameNeeded event

– possible access violation when destroying the component

v8.7.2.5 – April 29, 2013

fixed

– memory leak

– OnFirstFrameReceived event may not occur in some cases

– invoking StopRecording() may hang in some cases

– OnMouseWheel event may not work in some cases

– RecordToNewFileNow() may stop working after a few calls

– possible instability when using several TVideoGrabber instances with the VS.NET(DLL) component

– RecordingTimer may stop working after some time

– when specifying a ZoomCoeff value, the overlays are applied to the zoomed image, even if OverlayAfterTransform = false

– preview or recording may take time to start in some cases

– when specifying a PlayerSpeedRatio <> 1, the real PlayerSpeedRatio may be faster than the specified PlayerSpeedRatio

added

– property OnFrameBitmapEventSynchrone: if enabled in Windows applications the OnFrameBitmap event is synchronized from the main thread,
allowing to update controls or perform operations that can block

v8.7.2.4 – March 13, 2013

fixed

– when VideoSource = vs_JpegsOrBitmaps, pausing the recording does not pause the preview

– CPU load increases after restarting the preview

– possible crash when reopening RTSP URLs

v8.7.2.3 – March 7, 2013

added

setting PlayerForcedCodec=”IGNOREFFDSHOWSETTINGS” just after creating the component prevents it to save/restore the current settings of the
FFDShow encoder when it is selected as video compressor

fixed

– generating a new file during recording may create a 0 size file when the RTSP filter is used as video source and RecordingInNativeFormat is
disabled

– AsynchronousStartFromThread .NET demo project did not work correctly

– stopping the recording when RecordingMethod = rm_MP4 may freeze

– invoking CaptureFrameTo() before opening a clip may return an empty frame

– invoking GetLastFrameAs…() just after opening a clip may return an empty frame

– property AutoFileNameDateTimeFormat lets you specify a custom date/time format when the recording file names are generated automatically and
AutoFileName is set to fn_DateTime

– OnDeviceReconnecting event: occurs when a RTSP source is lost and the RTSP filters reconnects automatically (by default)

– OnDeviceReconnected event: occurs when a RTSP source is reconnected (this event occurs always after the OnDeviceReconnecting event)

– setting PlayerForcedCodec=”IGNOREFFDSHOWSETTINGS” prevents TVideoGrabber to save/restore the FFdshow encoder settings

– wrong trackbar position after changing the PlayerSpeedRatio setting

– OnDblClick event may not occur

– audio may disappear while the playlist is playing

– ImageOverlay_ChromaKey may fail

– unable to desactivate MotionDetector_UseThisReferenceSample by passing a NULL bitmap handle / empty file name

v8.7.2.1 – January 29, 2013

improved

lower CPU load when the frame grabber is enabled

more accurate trackbar seeking when PlayerTrackbarSynchrone is enabled

better deinterlacing quality when VideoProcessing_Deinterlacing is set to di_FullSize

fixed

SetTextOverlayCustomVar ignores the TextOverlaySelector value passed as parameter

v8.7.1.5 – January 25, 2013

fixed

– frozen frame between pause and resume when recording with RecordingCanPause=true and RecordingPauseCreatesNewFile=false

– excessive background erasing may show black video

– player may play at wrong speed after a recording

v8.7.1.4 – January 21, 2013

fixed

– VideoGrabberWPF: excessive CPU load and memory consumption when the component was active

– RecordingMethod = rm_ASF: the final recorded file is truncated

– possible jerkiness or artifacts at large video sizes

– OnFrameProgress event may not occur if VideoRenderer = vr_None

– RecordToNewFileNow mail fail after the 2nd call

– MultiplexedRole = mr_MultiplexedMosaic4 or mr_MultiplexedMosaic16: the OnMouse events reported the global xy position instead of the respective
xy position of each multiplexed input (in 2×2 or 4×4 layout)

v8.6.2.10 – November 16, 2012

added

64bit OCX component available (vidgrab_NET_x86.ocx and vidgrab_NET_x64.ocx

OnMouseEnter/OnMouseLeave events

WPF component available: VideoGrabberWPF control of the VidGrabNoForm namespace (look at the WPFQuickStartDemo demo project for sample
code)

fixed

player trackbar may stop working after invoking RunPlayer()

changing PlayerSpeedRatio during playback makes the clip restart from 0

AVISynth scripts may crash in some cases

possible crashes with some Intel graphic chipsets

possible crash or recorded clip corrupted when stopping the recording

C#/VB .NET DLL: some events may not be raised when using VideoGrabber component from the VidGrabNoForm namespace

VideoSource = vs_Mixer: sync problem when recording the mixer with an audio capture device and VideoRenderer = vr_None

v8.6.2.8 – September 12, 2012

fixed

– enabling ImageOverlay_StretchToVideoSize has no effect

– reencoding may fail with some AVI clips when ReencodingMethod = rm_AVI

– black window when restarting preview after a “RecordingMethod = rm_MP4” recording

– no audio when playing some MP3 or WMV clips

– some MP4 clips may have played top-down

v8.6.2.6 – August 30, 2012

fixed

– starting preview or recording may take a few seconds

– playing an HD clip can take longer than the real duration of the clip

– OpenPlayerAtTimePositions() and OpenPlayerAtFramePositions() may not work properly

v8.6.2.4 – August 14, 2012

fixed

– possible crash when invoking UseNearestVideoSize () and then opening some video clips

– possible crash when invoking UseNearestVideoSize () and video source = vs_ScreenRecording

– small VU-meter range when Recording than when Previewing

– player: opening a clip may take a few seconds

– some MP4 clips may show a black window when the MPC codecs are installed

v8.6.2.3 – August 6, 2012

added

– support for the AJA KONA capture card (see the user guide for more information)

fixed

– MP4 clips may fail to play

– MP4 recording with on the fly compression may fail

– static images in player: overlays stop refreshing after 1 second

– CaptureFrameTo() may fail with video clips

v8.6.2.2 – July 31, 2012

fixed

– .NET DLLs: possible crash when creating/destroying programmatically the component multiple times

– CaptureFrameTo() may fail when the player is paused

v8.6.2.1 – July 26, 2012

added

– C# and VB.NET: now the component supports the native IntPtr type, e.g. “Handle.ToInt32()” can be replaced by “Handle”

– TVideoGrabber now supports direct harware-encoded H264 to MP4 recording with the Logitech C920
(look at the “Capture devices with a H264 hardware encoder” chapter under “video capture devices” in the user guide)

– VideoGrabberThread class in the VS.NET(DLL) component: lets start an IP camera or open a clip without blocking the main thread.
(look at the “AsynchronousStartFromThread” demo project included under VS.NET(DLL)Demos

– function GetCameraExposure returns the exposure time as double value, e.g. 1/8, 1/16, etc…

– function GetCameraExposureAsString returns the exposure time as a string, e.g. “1/8”, “1/16”, etc…

– procedure SetCameraExposure (Value: Double) lets set the camera exposure time as 1/8, 1/16, etc…

– function GetLastAverageStreamValue (StreamType: TStreamType) return the current average level (for an audio stream) or pixel value (for a video
stream)

– function SendImageToVideoFromBitmaps2 (pBtmapInfo: LongInt; pBitmapBits: LongInt; EndOfData: Boolean) lets pass a bitmap to VideoSource =
vs_JpegsOrBitmaps directly by passing a pointer to the bitmap bits
note: if the header is created dynamically, don’t forget to set BitmapInfo^.BmiHeader^.biSize := sizeof (TBitmapInfoHeader), otherwise the call to
SendImageToVideoFromBitmaps2 will be ignored

fixed

– video may appear top-down when playing MP4 clips

– MP4 recording with mutiple pause/resume: the video recording may freeze

– AVIInfo() and AVIInfo2(): incorrect frame rate reported for some clips

– PlayerSpeedRatio does not play at the specified speed (e.g. PlayerSpeedRatio=0.5 plays at 0.25)

– ASF(WMV) recording with multiple pause/resume (RecordingMethod=rm_ASF, RecordingCanPause=true and RecordingPauseCreatesNewFile=false):
incorrect audio stream duration

– changing the name of the component under Delphi or C++Builder causes an access violation

– memory leak when invoking multiple SetImageOverlayFrom… may cause the overlays to disappear

– black video window when starting the preview or recording with some capture devices

– forcing a video size with UseNearestVideoSize (width, height, true) with video capture devices may be ignored

– setting VideoProcessing_Rotation=rt_custom… with VideoProcessing_RotationCustomAngle causes an access violation

– VP8 recording: specifying a RecordingVideoBitRate value was ignored by the VP8 codec

– VideoProcessing_Deinterlacing = di_HalfSize does not work

– playback of static images: specifying PlayerDuration before invoking OpenPlayer() ignored

– VideoSource=vs_JpegsOrBitmaps:
 . the first frames passed with SendImageToVideoFromBitmaps() may have ben duplicated or lost
 . setting the “EndOfData” parameter of SendImageToVideoFromBitmaps was ignored
 . 8-bit bitmaps ignored by SendImageToVideoFromBitmaps()

– resizing an image overlay with alpha transparency makes the overlay disappear

– application focus may be lost when starting the video

– screen recording with ScreenRecordingUsingCoordinates may freeze

– VS.NET: exiting the application freezes if the TVideoGrabber component has been created programmatically and has no parent

v8.6.1.6 – January 4, 2012

added

now the component supports compression after recording (CompressionMode = cm_CompressAfterRecording) from other recording methods than
rm_AVI

fixed

– same USB audio capture devices may be listed twice in AudioDevices list with different names

– C#: OnRecordingStarted event may be blocking when waiting for it from a waitable object.

Delphi/C++Builder MainDemo project: the trackbars that control the “video quality” and “camera control” settings of the capture devices were
inverted

v8.6.1.4 – December 2, 2011

fixed

– wrong player size reported by VideoWidth_PreferredAspectRatio and VideoHeight_PreferredAspectRatio, when UseNearestVideoSize (width, height,
true) has been invoked to specify a video size before invoking OpenPlayer()

– audio not synchronized when recording in other formats than AVI and ASF and RecordingCanPause is enabled

– possible jerky video when the frame grabber is enabled

v8.6.1.2 – November 21, 2011

added

– VideoSource = vs_JpegsOrBitmap:

It is now possible to pass the video frames synchronously by invoking SendImageToVideoFromBitmaps in real time.
(note that SendImageToVideoFromBitmaps must be invoked at least one time before invoking StartRecording)

changed

– PlayerTrackBarSynchrone now enabled by default

– Reencoding_Method now set to rm_ASF by default

fixed

– codec settings may not be properly saved/restored

– video quality / camera control settings may not be properly saved/restored

– adjustPixelAspectRatio may resize DV clips, even when the property is disabled

– possible freezing when invoking CaptureFrameSyncTo

– specifying a play duration for a static image in a playlist, e.g.:
VideoGrabber.PlayList (pl_Add, “c:folderimage3.bmp”)
VideoGrabber.PlayerDuration := 40000000
VideoGrabber.PlayList (pl_Add, “c:folderimage4.bmp”)
VideoGrabber.PlayList (pl_Play, “”)
was ignored, the playing duration of each image was 1 second.

– if the playlist begins with an audio clip, the next video clips are not displayed

– when opening multiple audio clips successively, the trackbar may jump at the end, and then be inoperant until the application is restarted

v8.5.3.1 – October 10, 2011

fixed

– possible unexpected frame captures when WebcamStillCaptureButton = wb_Enabled and the preview is restarted

– possible freezing when playing static images

– codec settings may not be properly restored

– access violation when MultiplexerRole = mr_MultiplexedMosaic4 or mr_MultiplexedMosaic16

– the last VideoFormat index of the VideoFormats list can”t be selected

v8.5.2.8 – September 13, 2011

fixed

– possible freezing when seeking a clip

v8.5.2.7 – September 12, 2011

added

– 32/64 bit Delphi XE2 component released.

fixed

– crash when invoking RecorToNewFileNow() or when the recording timer is enabled

– VideoSource = vs_VideoFileOrURL: when specifying a FileOrURL_StartTime and/or FileOrURL_StopTime, the values are ignored, the clip starts from 0
and plays until the end.

v8.5.2.5 – August 23, 2011

fixed

– when using more than 1 identical video capture devices, the other devices are listed as “device#2, device#2, device#2…” instead of “device#2,
device#3, device#4…”

– the OnRecordingStarted event may not occur in every cases

– background may not be properly erased while restarting the preview, recording or playback

– when the Synchronized property is enabled on several components, only one component starts when invoking e.g. StartPreview()

fixed

– seeking may not work properly depending on the clip encoding

v8.5.2.4 – July 28, 2011

fixed

– seeking may not work properly depending on the clip encoding

– wrong duration reported with some audio clips

– unable to select the #3 or more capture device when more than 2 identical capture devices are used

– OnPlayerOpened event may not occur in some cases

v8.5.2.3 – July 15, 2011

fixed

– possible corrupted clips after long AVI recordings

– jerky video in mixer mode

– possible jerky video in MJPEG mode

– bad audio/video sync with some webcams

– devices not properly listed in the video and/or audio devices lists

– back video with some capture devices

added

– function PointGreyConfig (ConfigType: TPointGreyConfig; var PGRActionValue: LongWord; ulRegister: LongWord; ulMode: LongWord; ulLeft:
LongWord; ulTop: LongWord; ulWidth: LongWord; ulHeight: LongWord; ulPercentage: LongWord; ulFormat: LongWord): LongInt;
lets configure a Point Grey camera

– RecordingMethod = rm_MPG, the MPEG2 multiplexer can be specified with VideoGrabber.Multiplexer = VideoGrabber.MultiplexerIndex (mux name)

– property ASFBufferWindow: LongInt
lets increase the network streaming latency (expressed in ms)

– property AspectRatioToUse: Double
lets override the display aspect ratio (applies only to the display window, not the recording or frame capture)

– possibility to reindex an ASF(WMV) video clip as follows:
VideoGrabber.Reencoding_SourceVideoClip = the file name of the clip to reeindex
VideoGrabber.Reencoding_NewVideoClip = “ASFINDEX”
VideoGrabber.StartReencoding()

v8.5.2.2 – March 28, 2011

fixed

– codec settings previously saved were not restored (did not occur with all codecs)

– codec names returns an empty string when invoking AVIInfo / AVIInfo2

– adjusting the AudioVolume property was changing the global audio volume of the PC

– incorrect frame progress when playing audio clips

– dropped frames not reported when recording in ASF format (RecordingMethod = rm_ASF)

changed

– the OnFrameOverlayUsing… and OnFrameBitmap events now occur after the text overlays and image overlays have been applied

– the AudioChannelRenderMode settings now apply also to the preview and recording (applied previously only to the playback)

added

– the PlayerVideoCodec/PlayerAudioCodec properties and the GetVideoCodec/GetAudioCodec functions now return the FourCC between parenthesis
after the codec name

v8.5.2.1 – February 28, 2011

fixed

– audio capture devices failed to bind in certain cases

– wrong sample time reported by the OnFrame… events when playing an audio clip

– possible access violation when the component is destroyed

– player: overlays fail to refresh when the dual display is enabled and the clip is paused

– playing a playlist with pl_loop sometimes stops

added

– possibility to specify preferred codec(s) to use by passing it(them) with the “prefer:” keyword to the PlayerForcedCodec property, e.g.:

VideoGrabber.PlayerForcedCodec = “prefer:Xvid MPEG-4 Video Decoder”
VideoGrabber.PlayerForcedCodec = “prefer: …”
VideoGrabber.PlayerFileName = …clip to play
VideoGrabber.OpenPlayer()

To reset the settings set:
VideoGrabber.PlayerForcedCodec = “”

v8.5.1.9 – February 10, 2011

fixed

OnDeviceArrivalOrRemoval event not notified after invoking RefreshDevicesAndCompressorsLists

file possibly recorded in “slow motion” when VideoSource = vs_Mixer and RecordingMethod = rm_ASF

playing some .ax URLs may fail

end of reecoding not reported by the OnReencodingCompleted event in certains cases

OSPrey cards: switching from Composite to SVideo may fail

OSPrey cards: possible BSOD when restarting the preview

added

property ScreenRecordingLayeredWindow: Boolean

v8.5.1.8 – January 28, 2011

fixed

function IsVideoSignalDetected returns false even if video signal available

setting ASFVideoBitRate=-1 or SetASFVideoFrameRate=-1 does not set them back to their default values after a value has been set

OnDiskFull event may not be raised in certain cases while recording is running

no sound with Decklink cards when recording audio only

changed

when ASFProfileVersion=apv_ProfileVersion_9, specifying a ASFVideoQuality>-1 (between 0 and 100) activates the WMV9 VBR recording mode (by
default in CBR mode)

v8.5.1.7 – January 10, 2011

added

RecordingMethod = rm_WebM lets record in WebM format by using the Google’s VP8/WebM codecs and the Xiph’s Vorbis codecs

QuickDeviceInitialization: Boolean initialize the video capture device with its default settings, without restoring the saved settings (useful mainly with
webcams)

TextOverlay_Scrolling: Boolean activates/deactivates the scrolling of the text overlay, now TextOverlay_ScrollingSpeed=0 pauses the scrolling,
TextOverlay_ScrollingSpeed>0 scrolls from right to left and TextOverlay_ScrollingSpeed<0 from left to right

Support of Decklink playout. By default the video is displayed in 720×480, invoke UseNearestVideoSize (1920, 1080, true) to display it in HD size (the
video clip must be 25 or 29.97 fps)

changed

TextOverlay_ScrollingSpeed = 0 now just pauses the scrolling (see above)

OCX/NET DLL versions: devices property lists (VideoDevices, AudioDevices, VideoSizes, etc…) had an extra line that is now no more added.
If the last line is missing in your ComboBox lists after upgrading, upgrade the procedure that updates your ComboBox by using the new sample code of the
AssignListToComboBox function included in the VidGrabUtil.cs or VidGrabUtil.vb of the MainDemo project

fixed

Multiplexed mode does not work properly when MultiplexedRole is used

Jerky trackbar behavior when seeking clips

“Google Camera Adapter” was listed in the VideoDevices list, although not useable

black video window with some Logitech webcams

v8.5.1.5 – November 23, 2010

fixed

– possible excessive CPU load when VideoSource = vs_ScreenRecording

– possible periodical freezings when previewing/recording IP cameras

– possible crash when opening .WAV audio clips when third-party codecs packs are installed

– VideoGrabber.PlayList (pl_Add, “”) + VideoGrabber.PlayerFileName=”PLAYLIST” + VideoGrabber.OpenPlayer() fails if the clips in the list are only
audio
clips

v8.5.1.4 – November 12, 2010

fixed

– player reports aspect ratio reports 0x0 with some MPEG2 codecs, possibly with no video displayed or frame capture not available

– no audio recording with Dazzle DVC 100

– possible freezing with some MPEG clips when PlayerTrackbarSynchrone is enabled and making successive and consecutive seekings

– video clip position not updated fast enough when seeking to a new position and PlayerTrackbarSynchrone is enabled

– possible crash when starting a recording in MPG format

v8.5.1.3 – November 3, 2010

fixed

– random freezings of 1 or more seconds when previewing/recording IP cameras

– wrong sample times returned when the frame grabber is enabled and PlayerSpeedRatio <> 1

– recording of HD camcorder may fail when RecordingInNativeFormat is enabled

– ASF/WMV non-seekable clip stops playing after 1 second

– UseNearestVideoSize() does not apply to IP cameras

– text overlay scrolling may disappear and never reappear when TextOverlay_ScrollingSpeed > 0

v8.5.1.2 – October 25, 2010

added

– property AdjustOverlayAspectRatio: Boolean (enabled by default)
When enabled and the frame grabber is enabled and the display aspect ratio is different of the source size, the video is resized before applying the overlays
so there are not stretched by the resizing at display time.
This property requires a bit more CPU so it can be disabled to reduce the CPU load.

fixed

  • BSOD problem fixed
  • background not properly erased when Display_FullScreen = true and Display_AspectRatio = ar_NoResize

v8.4.1.5 – October 19, 2010

added

property ThirdPartyDeinterlacer: string

property DirectShowFilters: string (string list of the DirectShow filters available)

property DirectShowFiltersCount: Integer

set PlayerForcedCodec = NOFFDSHOW to prevent the FFDSHOW codecs to be binded by DirectShow

set PlayerForcedCodec = NOMPC to prevent the MPC codecs to be binded by DirectShow

When TextOverlay_ScrollingSpeed > 0 the text overlay can be now scrolled into an area delimited by TextOverlay_Left and TextOverlay_Right at the
TextOverlay_Top location

fixed

possible freezing when stopping the app from the debugger under Visual Studio

rare BSOD occuring when starting the application.
Note: This problem remains while the application is running, this will be fixed with the
upgrade released during next days.

v8.4.1.4 – September 30, 2010

added

the functions below lets you export and import the current video or audio compressor settings (be sure to first select the RecordingMethod, and
VideoCompressor or AudioCompressor index)

– function LoadCompressorSettingsFromDataString (IsVideoCompressor: Boolean; CompressorIndex: LongInt; DataString: string): Boolean;

– function LoadCompressorSettingsFromTextFile (IsVideoCompressor: Boolean; CompressorIndex: LongInt; FileName: string): Boolean;

– function SaveCompressorSettingsToDataString (IsVideoCompressor: Boolean; CompressorIndex: LongInt): string;

– function SaveCompressorSettingsToTextFile (IsVideoCompressor: Boolean; CompressorIndex: LongInt; FileName: string): Boolean;

fixed

– some AVI clips fail to play

– bad quality of the text overlays when the frame grabber is enabled and AdjustPixelAspectRatio is enabled

– black video window with the OsPrey 440

v8.4.1.3 – September 22, 2010

fixed

– error “set outputfilename (mux/sink)” when enabling the network streaming in preview mode

– jerky seeking while the player is paused

v8.4.1.2 – September 15, 2010

fixed

– current control can loose focus when starting the preview, recording or playback

– bad video quality with VMR7 and/or EVR renderers

– crash in ASF recording when stopping the recording while the recording is paused when RecordingCanPause and RecordingPauseCreatesNewFile are
enabled

– chroma key does not work

– wrong frame rate reported by AVIInfo / AVIInfo2

– cannot open in the player a .WAV clip just recorded if HoldRecording=true + ResumeRecording was used during the recording

– screen recording: cropping and UseNearestVideoSize do not work properly

– updading image overlay settings from the OnFrame… events is slow

– application freezing in VB6 / VC6 when the OnFrameProgress2 event is used

– unplugging a webcam may not be detected every time (the cam stays in use so it can’t be restarted when re-plugged in)

– vigrab_VB6.ocx: the app crashes or stops responding to events after a variable time

– when selecting a new capture device and VideoSource <> vs_VideoCaptureDevice, the device discovery fails: the VideoSizes, VideoSubtypes and
VideoInputs lists are empty (to reset them if needed, invoke VideoGrabber.ResetVideoDeviceSettings just one time)

– VideoWidth_PreferredAspectRatio and VideoHeight_PreferredAspectRatio report wrong values after invoking UseNearestVideoSize

– reencoding may stop prematurely

added

tpf_AddToGraph added to the ThirdPartyFilter_AddToList options to simply add a third-party filter to the graph

MP4 recording with RecordingMethod = rm_MP4 by selecting a MPEG-4 codec in the VideoCompressors list (XVid, DivX, etc…)

FLV recording with RecordingMethod = rm_FLV / settings by invoking ShowDialog (dlg_FLVWriter)Optional custom settings by invoking ShowDialog (dlg_FFDShowVideo) and ShowDialog (dlg_FFDShowAudio)

DSCaler Deinterlacer support with VideoProcessing_Deinterlacing = ds_DScaler
settings by invoking ShowDialog (dlg_DScaler)

function GetTranslatedCoordinates (DisplayIndex: LongInt; NativeX: LongInt; NativeY: LongInt; var TranslatedX: LongInt; var TranslatedY: LongInt):
Boolean;

property FrameNumberStartsFromZero: Boolean

property Aero: TAero
TAero = (ae_Default, ae_AutoBestRenderingQuality, ae_ForceOnWhenStartingVideo, ae_ForceOffWhenStartingVideo, ae_ForceOnImmediately,
ae_ForceOffImmediately)

function MPEGProgramSetting (MPEGProgramSetting: TMPEGProgramSetting; Value: LongInt): LongInt;
TMPEGProgramSetting = (mps_Program_Number, mps_Program_PCR_PID, mps_VideoStream_PID, mps_AudioStream_PID)

v8.2 build 8.2.4.2 – April 12, 2010

fixed

– reencoding may stop prematurely

– IP camera recording may stop prematurely

– crash when invoking SetTextOverlayCustomVar periodically

v8.2 build 8.2.2.4 – March 10, 2010

fixed

– after playing a WMV/ASF file, it was not possible to overwrite it (to record it again) unless restarting the application.

– transparency and/or alphablending may not work properly depending on the image used

– dual full screen mode with Display_FullScreen and DualDisplay_FullScreen enabled on 2 different monitors does not display in full screen mode on one
monitor

– first frame not notified by the OnFrameProgress… events when the frame grabber is disabled

– seeking does not work properly with some video clips

– ASF recording freezes or stops after a few minutes

– events do not work in the VC6 MainDemo project

– reencoding or playing a PLAYLIST introduces stops between the clips

v8.2 build 8.2.2.1 – February 25, 2010

fixed

– image overlay transparency fails when ImageOverlay_Transparent is enabled and ImageOverlay_Alphablend disabled

– when rendering or recording an audio input of the soundcard, other inputs may be muted

– the OnFrameProgress… event does not occur when opening a clip with the frame grabber enabled and AutoStartPlayer = false

– when selecting several text overlays with TextOverlay_Selector, there may be not displayed correctly when enabling/disabling
TextOverlay_Enabled

v8.2 build 8.2.1.7 – February 9, 2010

fixed

– no video in mixer mode if the frame grabber is disabled on the mixer

– random error when invoking GetFrameInfo from the OnFrameProgress/OnFrameProgress2 event

– OnRecording… events may not occur in certain cases

– OnRawVideoSample event may not occur when RawVideoSampleCapture is enabled

v8.2 build 8.2.1.4 – February 2, 2010

fixed

background not fully erased when Display_AspectRatio = ar_Box

unable to seek some video seekable video clips

trying to connect indefinitely when some IP cameras do not respond properly

video hickups (small freezings) with some capture devices or during playback

v8.2 build 8.2.1.2 – January 26, 2010

fixed

no video in the dual display windows if the first window is not selected

possible black video when recording and the video renderer is vr_VMR7, vr_VMR9 or vr_EVR

the VideoCodec and/or AudioCodec properties report wrong codec names

possible crash when generating a new file during asf recording

no audio captured or rendered with some analog TV capture cards

with analog TV cards the default TV channel may display a black video if another channel has not been selected first

changed

OnMotionDetected event: the FrameBitmap parameter is now useless.
To capture the motion frame from this event invoke GetLastFrameAsHBitmap (all versions) or GetLastFrameAsTBitmap (Delphi/C++Builder) as shown in the
MotionDetected event of the MainDemo project (in MainForm)

added

function GetLastFrameAsHBitmap (all versions) and GetLastFrameAsTBitmap (Delphi/C++Builder)

fast capture of all the frames of a video clip with the following sample code:


VideoGrabber.PlayerFileName = …
VideoGrabber.BurstMode = true
VideoGrabber.BurstCount = 0 // don’t stop capturing
VideoGrabber.StoragePath = “c:yourcapturefolder”
VideoGrabber.BurstInterval = 0
VideoGrabber.BurstType = fc_JpegFile // you can use fc_BMPFile
VideoGrabber.UseClock = false
VideoGrabber.OpenPlayer()

v8.0 build 8.0.1.3 – November 6, 2009

fixed

– OnReencodingCompleted or OnRecordingCompleted event not fired

added

– the video size of the static playlist can be specified by invoking UseNearestVideoSize() before invoking OpenPlayer()

– the frame rate of the static playlist can be specified by setting the FrameRate property before invoking OpenPlayer()

v8.0 build 8.0.1.2 – October 28, 2009

fixed

– Decklink capture cards: SDI audio input not available

– crash with some IP cameras

– IP cameras record in uncompressed RGB instead of MJPG format, even when RecordingInNativeFormat is true

– the playlist does not loop when the end is reached although PlayList (pl_Loop, “”) has been invoked

v8.0 build 8.0.0.38 – October 9, 2009

fixed

– no audio rendeding when playing a playlist with the following code:

VideoGrabber.VideoSource = vs_VideoFileOrURL
VideoGrabber.PlayList (pl, Add, “clip1.avi”)
VideoGrabber.PlayList (pl, Add, “clip2.avi”)

VideoGrabber.VideoSource_FileOrURL = “PLAYLIST”)
VideoGrabber.StartPreview()

– PlayerFramePosition may return negative values

– error in TVideoGrabber.h when compiling the “VC++(DLL)” version from native C

– freezing when starting preview with some video capture devices

– Axis IP cameras: axrtsphttp://… URL fails to start preview

v8.0 build 8.0.0.23 – September 3, 2009

added

– function ResetVideoDeviceSettings() can be invoked when the component is inactive to reset the settings of the video capture devices to their default
values.

fixed

– black video when starting preview with some capture devices (e.g. Logitech webcams)

– no preview while the ASF recording is paused

v8.0 build 8.0.0.22 – August 31, 2009

fixed

– Blackmagic Decklink: not possible to select the HDMI input

– no video displayed when starting the preview after playing a playlist

– the trackbar progress does not correspond to the video clip position when PlayerSpeedRatio <> 1, PlayerAudioRendering enabled and FrameGrabber
<> fg_Disabled

– RecordingTimer fails when using the VidGrabNoForms class in .NET(DLL) version

– ThirdPartyFilter_ShowDialog does not display any dialog

added

possibility to pause/resume the ASF recording when RecordingCanPause=true and RecordingPauseCreatesNewFile=false

v8.0 build 8.0.0.18 – August 24, 2009

added

Support of the Vista’s Enhanced Video Renderer (set VideoGrabber.VideoRenderer = vr_EVR)

fixed

– incorrect logo position whatever the LogoLayout setting when LogoDisplayed = true

– blank between clips when VideoVisibleWhenStopped=true or during the playback of a playlist

– player position jumps after a PausePlayer | change PlayerSpeedRatio | RunPlayer

“Cannot focus a disabled or invisible window” error when moving the mouse over the video window and the “MouseWheelEventEnabled”
property is enabled

v8.0 build 8.0.0.10 – June 24, 2009

added

– function Mixer_SetupPIPFromSource lets display the video from another TVideoGrabber in PIP (Picture In Picture) mode

– function PlayerFrameStep lets step one frame forward (or n frames forward) while the clip is paused

fixed

– possible crash when the text overlay is used, the crash occurs after a various time

– shadow of the text overlay not correctly centered when the text overlay is not aligned to the left side

– possible flickering during playback

v8.0 build 8.0.0.6 – June 21, 2009

added

– property VideoRendererExternalIndex

– it is now possible to extract the audio of a clip during reencoding by just specifying “.wav” or “.mp3” as extension for the Reencoding_NewVideoClip
file name
Remark: the Elecard LAME Audio encoder (freeware) is required to encode in MP3, it can be downloaded here

fixed

– clip position jumps when changing the PlayerSpeedRatio value during playback

– trackbar position does not match the current position when PlayerSpeedRatio <> 1

v8.0 build 8.0.0.4 – June 10, 2009

added

– support for HD camcorders

– procedure SetFrameCaptureBounds (LeftPosition, TopPosition, RightPosition, BottomPosition) lets specify a sub-rectangle to capture on the video
frame

fixed

– Trendnet IP100 IP camera fais to connect

– Secifiying a Reecoding_StartFrame and/or Reencoding_EndFrame may be ignored depending of the way the source clip is encoded

v8.0 build 8.0.0.2 – June 7, 2009

added

– property Display_AlphaBlendEnabled

– property Display_AlphaBlendValue

– property Display_TransparentColorEnabled

– property Display_TransparentColorValue

– property DualDisplay_AlphaBlendEnabled

– property DualDisplay_AlphaBlendValue

– property DualDisplay_TransparentColorEnabled

– property DualDisplay_TransparentColorValue

– function Mixer_SetPIPLocation (Id: LongInt; ActivatePIP: Boolean; PIP_Left: LongInt; PIP_Top: LongInt; PIP_Width: LongInt; PIP_Height: LongInt;
MoveToTop: Boolean): Boolean;
(PICTURE IN PICTURE MIXER MODE)

– bool Mixer_SetPIPLocation(int Id, bool ActivatePIP, int PIP_Left, int PIP_Top, int PIP_Width, int PIP_Height, bool MoveToTop);
(see the “PictureInPictureMixer” demo project included in the package)

– static Playlist played like a single video clip (see the Player -> Playlist chapter of the user guide)

– WebcamStillCaptureButton: TWebcamStillCaptureButton = (wb_Disabled, wb_Enabled).
(when enabled and pressing the webcam’s snapshot button, the frame is captured and returned by the OnFrameCaptureCompleted event)

fixed

– recording fails to start when RecordingMethod = rm_ASF, ASFProfileVersion = apv_ProfileVersion_8 and a profile is selected (ASFProfile >= 0)

– motion detector fails to detect properly the 1st time the preview or recording is started

– audio hick-ups when playing high res video clips

– possible freezing when the motion detection is enabled

– error when stopping the recording after a PauseRecording / ResumeRecording

– possible freezing after a long recording in mixer mode (VideoSource = vs_Mixer)

– error when exiting a VB6 app

– invoking MotionDetector_SetCellSensitivity does not change the sensitivity of a cell

– OnPlayerEndOfStream event notified 2 times in some cases

– out of resources error during the screen preview/recording after about 10-15 minutes

– possible black window after invoking OpenPlayer and before the clip starts to play if another task is performed during this interval of time

– possible “cannot create file” error when starting the streaming

changed

In Delphi/C++Builder, global functions are replaced by TVideoGrabber properties, e.g.:

function VideoDevices: string replaced by VideoGrabber->VideoDevices

function VideoDevicesCount: int replaced by VideoGrabber->VideoDevicesCount
etc…

If you need to access them before the visible TVideoGrabber component has been created, creat a temporary TVideoGrabber component to get the list
then delete it.
E.g., depending on the development language:

VideoGrabberTemp := TVideoGrabber.Create(nil)
MyVideoDevicesList := VideoGrabberTemp.VideoDevices
VideoGrabberTemp.Free

VideoGrabberTemp = new *TVideoGrabber(this)
MyVideoDevicesList = VideoGrabberTemp->VideoDevices
delete (VideoGrabberTemp)