Troubleshooting and FAQ
Troubleshooting
The video is stuttering
Retry after disabling the "low delay" setting:
- either as parameter at the end of the RTSP URL:
rtsp://192.168.100.20/cam0_0>lowdelay=0>vidsync=0>audiostreamenabled=0
- or programmatically before loading the URL by invoking:
DatasteadRtspSourceConfig.SetInt ("RTSP_Source_LowDelay_int", 0)
The MP4 recorded file is truncated
The evaluation timeout occurred: in evaluation mode the recording stops by itself after a few minutes.
The RTSP URL fails to connect
Try to force a non-default transport mode by adding one of the following settings at the end of the RTSP URL:
>rtsp_transport=udp
>rtsp_transport=tcp
>rtsp_transport=http
>rtsp_transport=https
>rtsp_transport=udp_multicast
E.g.:
rtsp://192.168.0.25/axis-media/media.amp?videocodec=h264>rtsp_transport=udp
Or programmatically: TCP=1, UDP=2, HTTP=3, Udp_Multicast=4, HTTPS=5. E.g. for HTTP:
DatasteadRtspSourceConfig.SetInt ("RTSP_Source_RTSPTransport_int", 3)
The filter fails to connect to the VMR9 (Video Mixing Renderer 9)
Retry after adding >videopinformat=NV12 at the end of the URL, or configure the filter as follows:
DatasteadRtspSourceConfig.SetStr ("RTSP_VideoStream_PinFormat_str", "nv12");
FAQ
Licensing
Should I buy one license for each one of my clients?
No, it's a per-developer, royalty-free license. After purchasing the developer license you can distribute the filter along with your end-user application on as many PCs as needed, without having to pay anything else.
Install
In the DatasteadRTSPSource.zip there are two folders, x64 and x86. Which one should I use when? For example, Windows 7 32 bit, Windows 7 64 bit?
Note: if the filter is used through our TVideoGrabber SDK, you can just copy the filter binaries (.dll and .ax) in your .EXE's application folder, in this case it is not necessary to register the filter or run the filter installer.
The simpler is to run the DatasteadRTSPFilter_Installer.exe from the command line, it installs automatically the x86 version on 32 bit PCs, and both the x86 and x64 versions on 64 bit PCs.
You can install silently from the command line with:
DatasteadRTSPFilter_Licensed_Installer.exe /silent
or
DatasteadRTSPFilter_Licensed_Installer.exe /verysilent
The important point is to determine how the app is compiled: only as x86, or both x86 and x64:
- if the app is compiled only as x86, or if you set "x86" as target platform in VS.NET, you just need to distribute the x86 filter, it will run without problem on both 32bit and 64bit OS,
- if the app is compiled for both x86 and x64, or if "Any" is set as target platform in VS.NET, install: the x86 filter only on 32 bit PCs, and the x86 filter AND x64 filter on 64 bit PCs.
Limitations of the evaluation version
The evaluation version displays a Datastead Evaluation logo over the video frames.
The recording stops after 2 minutes, then the application must be restarted.
Filter usage
When doing a Ctrl+Alt+Del the video stops
This is a problem of the standard DirectShow renderers. Render instead the video pin to our Datastead Video Renderer (CLSID C7CC1A23-8B8A-4BFD-A96C-B5E735E055BA), that is included in the filter package: this video renderer is compatible with the lock screen.
How to reduce the latency
Retry with one or more of the following settings at the end of the RTSP URL:
>buffer=0
>lowdelay=1
>vidsync=0
E.g.:
rtsp://192.168.0.25/axis-media/media.amp?videocodec=h264>buffer=0>lowdelay=1
Note: with vidsync=0 the video samples are rendered as soon as received.
Programmatically, the involved settings are:
DatasteadRtspSourceConfig.SetInt (RTSP_Source_BufferDuration_int, 0)
DatasteadRtspSourceConfig.SetInt (RTSP_Source_LowDelay_int, 1)
DatasteadRtspSourceConfig.SetBool (RTSP_Source_VidSync_Bool, 0)
How can I reduce the CPU load?
If the frame rate in the video window is not critical, it is possible to decode only the key-frames to minimize the CPU consumption. In this mode the output frame rate depends on the key-frame spacing (GOP, "Group of Pictures"), usually 1 key frame every 30 frames.
Note: in H264+ or H265+ the key-frames can be more spaced, and not-regularly spaced, so, to use this setting, it may be preferable to configure the stream in H264 or H265.
Note: if controlling the filter programmatically, it is possible to swap this setting on the fly by invoking:
DatasteadRTSPSourceConfig.SetBool (RTSP_VideoStream_Decode_KeyFrames_Only_bool, true/false)
From the TVideoGrabber SDK, the setting can be switched on the fly by invoking:
VideoGrabber.ONVIF_SetBool ("RTSP_VideoStream_Decode_KeyFrames_Only_bool", true/false)
How can I specify the RTSP transport mode?
See RTSP transport, HTTP modes and latency.
Does the filter support UDP TS?
Yes, the UDP URL and port, unicast and multicast are supported, e.g.:
udp://239.255.0.10:10124
Can I decode only key frames?
Yes, to decode only H264 key-frames, pass maxframerate=-1 as parameter, e.g.:
rtsp://239.192.1.1:59001>maxframerate=-1