Parameter identifiers
The parameter identifiers are constant strings declared in the include files of the package (see Filter configuration through IDatasteadRtspSourceConfig).
- the Identifier column is the name of the identifier passed as parameter to the IDatasteadRtspSourceConfig functions. The type suffix of the name (
_str,_int,_bool,_double,_int64,_intptr) indicates the corresponding Get.../Set... function to invoke, - the url param column, when it exists, is the name of this parameter when it is passed alternatively at the end of the URL instead of using IDatasteadRtspSourceConfig. When several names are listed, they are equivalent aliases.
rtsp://192.168.0.25/axis-media/media.amp?videocodec=h264&audio=1>recordingfilename=c:\folder\test.mp4
Actions
Applied with Action (identifier, parameter).
| Identifier | Description |
|---|---|
| RTSP_Action_OpenURL | Sets the URL and connects the filter synchronously. This function must be invoked last, after all the optional parameters have been set. Returns S_OK upon success. |
| RTSP_Action_OpenURLAsync | Sets the URL and starts the connection, but returns immediately, without waiting for the connection to complete. The filter connects in the background and notifies the application when the connection completes, either through an IMediaEventEx notification or through a callback function. Because this function returns immediately, the notification must be received before the pins are rendered: the pin formats are not available until the connection is complete. This function must be invoked last, after all the optional parameters have been set. It returns S_OK if the URL syntax is correct. When the filter completes the connection, the application can be notified in two ways: - the EC_RTSPNOTIFY (param1, param2) graph event occurs, with param1 = EC_RTSP_PARAM1_OPENURLASYNC_CONNECTION_RESULT param2 = 1 if the connection succeeded, 0 if it failed For sample code, search for HandleGraphEvent() in Form1.cs of the C# demo project. - if an OpenURLAsyncCompletionCB callback has been registered with SetAsyncOpenURLCallback, the callback occurs and its Result parameter returns S_OK upon success, or an error code upon failure. |
| RTSP_Action_IsURLResponding | Tests whether the source is live, without starting to decode the URL. Returns S_OK upon success. |
| RTSP_Action_GetONVIFSnapshot | Captures a snapshot from an ONVIF URL, synchronously. See ONVIF JPEG snapshot. |
| RTSP_Action_GetONVIFSnapshotAsync | Captures a snapshot from an ONVIF URL, asynchronously. See ONVIF JPEG snapshot. |
| RTSP_Action_GetONVIFInfo | Opens the ONVIF URL and reads the ONVIF settings, without starting the live stream. The settings can then be read with the GetStr (RTSP_ONVIF_Info...) functions. |
| RTSP_Action_RecordToNewFileNow | Closes the file currently being written and starts writing to the new file passed as parameter. The new file must have the same extension as the previous one. - if no file name is passed as parameter, the current file is closed, reopened and overwritten; - to suspend the recording temporarily without stopping the graph, pass a file name with the same extension and nul as name, without path: for example nul.mp4 when recording in MP4. The recording stays suspended until a new valid file name is passed. Note: This action only applies while the graph is running and recording. To start a new recording graph, first set the recording file name with SetStr (RTSP_Source_RecordingFileName_str, filename), then invoke Action (RTSP_Action_OpenURL, URL) or Action (RTSP_Action_OpenURLAsync, URL). |
| RTSP_Action_CancelPendingConnection | Cancels a pending URL connection previously started by RTSP_Action_OpenURLAsync. It can be invoked, for example, when the application exits, just before clearing the graph, to make sure that any pending connection is cancelled immediately. |
| RTSP_Action_PauseURL | Pauses the video stream. |
| RTSP_Action_ResumeURL | Resumes the video stream. |
| RTSP_Action_PauseRecording | Pauses the recording of the current file, while the preview keeps running. |
| RTSP_Action_ResumeRecording | Resumes the recording of the current file, if it was previously paused. |
| RTSP_Action_PauseDecodedFramesDelivery | Stops delivering the decoded frames to the output pin, without disconnecting the URL. The connection to the source stays open, so resuming is immediate. |
| RTSP_Action_ResumeDecodedFramesDelivery | Resumes the delivery of the decoded frames to the output pin. |
| RTSP_Action_CaptureFrame | Captures a frame as a snapshot. The format of the captured frame depends on the parameter passed: A file name: the next frame is captured in the format given by the extension. The supported formats are BMP, TIFF, PNG and JPG. For example, to capture a JPEG image: DatasteadRtspSourceConfig.Action (RTSP_Action_CaptureFrame, "c:\folder\nextimage.jpg") The "HBITMAP" keyword: the next frame is captured to a bitmap handle, which is returned by an EC_RTSPNOTIFY (EC_RTSP_PARAM1_FRAME_CAPTURE_SUCCEEDED, BitmapHandle) notification event sent to the filter graph: DatasteadRtspSourceConfig.Action (RTSP_Action_CaptureFrame, "HBITMAP") Note: Do not delete the bitmap handle: it may be reused for the next capture and is released by the filter. See RTSP_Release_HBITMAP_int64. |
| RTSP_Action_UpdateDuration | Reserved. |
Source URL
| Identifier | url param | Description |
|---|---|---|
| RTSP_Source_RecordingFileName_str | recordingfilename |
Sets the recording file name. Setting this parameter enables the recording of the stream to a file; the extension determines the format of the recording. The extensions recognized by the current version are: - Audio and video: mp4, mov, mkv, avi, flv, webm, asf, wmv, ts, mpg, mpeg - Video only, elementary stream: h264, hevc - Audio only: wav, mp3 - Still image: jpg, jpeg c:\folder\recfile.mp4 c:\folder\recfile.mkv c:\folder\recfile.ts Note: Use a streamable format (.ts for audio and video, .h264 or .hevc for video only) when the recording is consumed on the fly, for example through the file writer callback. An unrecognized extension is rejected. To configure the filter in recording mode without starting the recording immediately, set a nul file name, without path, with the desired extension, for example nul.mp4. Then, once the filter is running, start the actual recording with: Action (RTSP_Action_RecordToNewFileNow, "c:\folder\realfilename.mp4") Remarks: - the filter does not include an H264 encoder: it saves the native H264 samples to the recording file, unless the recompression is explicitly enabled; - if the audio recording is enabled, the audio stream is encoded to PCM, MP3 or AAC, depending on the recording format selected; - if the recording file name is set while the filter is running, the file currently being recorded is closed and a new file is started on the fly. |
| RTSP_Source_RecordingBacktimedStartSeconds_int | backtimedstart |
Number of seconds of pre-roll to include at the beginning of the recording. See Backtimed recording (pre-roll recording). |
| RTSP_Source_Recording_Title_str | title |
Sets a title for the video clip, for the containers that support this feature, such as MP4. |
| RTSP_Source_PlayableWhileRecording_int | playablewhilerecording |
- 0: the clip is not playable while it is being recorded (default), - 1: the clip is playable while it is being recorded, if the container supports it (MP4, ASF), - 2: same as 1, using a different mode. |
| RTSP_Source_ContinuousRecording_bool | continuousrecording |
When enabled, the recording does not stop when the graph is stopped and restarted: it stops only when the graph is destroyed. Default: disabled. |
| RTSP_Source_MaxAnalyzeDuration_int | maxanalyzeduration analyzeduration |
Maximum duration of the analysis of the stream during the initial connection, expressed in milliseconds, for example >maxanalyzeduration=1000. |
| RTSP_Source_FindFPSFrameCount_int | findfpsframecount |
Number of frames used to measure the frame rate when the camera does not report it at connection time. Default: 40 frames. - with lower values, the connection is faster, but the frame rate reported is more likely to be inaccurate, - with higher values, the frame rate reported is more accurate, but the connection takes longer. |
| RTSP_Source_FastConnect_bool | fastconnect |
Enables the fast connection mode. rtsp://192.168.5.22/live.sdp>fastconnect=1 Default: disabled (0). Note: This mode may increase the memory consumption. |
| RTSP_Source_AutoReconnect_bool | autoreconnect |
Enables or disables the automatic reconnection of the filter. Default: enabled. See Auto reconnection. |
| RTSP_Source_RetryInitialConnect_int | retryinitialconnect |
When connecting asynchronously and the URL is not available, the filter retries to connect: - 0: disabled (default), - -1: retries indefinitely, - 1..n: retries the specified number of times. The duration of each attempt depends on RTSP_Source_ConnectionTimeOut_int. |
| RTSP_Source_CopyTimestamps_bool | copyts |
When enabled, the timestamps of the source are copied "as is": - from the input stream to the output pins, when decoding, - from the input stream to the file being recorded, when recording. Note: In this mode, it is not possible to record to a new file on the fly without stopping and restarting the filter. |
| RTSP_Source_NoTranscoding_bool | notranscoding |
Records the audio stream "as is", instead of recompressing it to AAC. Default: false. |
| RTSP_Source_DeviceLostTimeOut_int | devicelosttimeout |
If no frame is received before this timeout expires, the automatic reconnection starts (when autoreconnect=1) or the device lost event is sent (when autoreconnect=0). Expressed in milliseconds; default: 10000 (10 seconds). See Auto reconnection. |
| RTSP_Source_BufferDuration_int | buffer |
Buffering duration, in milliseconds. Default: 0 when there is no audio, 1000 when there is audio. |
| RTSP_Source_SampleDeliveryMode_int | sampledeliverymode |
Reserved. |
| RTSP_Source_TimestampDelayMs_int | timestampdelayms |
Adds the specified latency to the sample timestamps of the output pins, or removes it if the value is negative. |
| RTSP_Source_ConnectionTimeOut_int | timeout devicetimeout |
Connection timeout, in milliseconds. Default: 20000 (20 seconds). |
| RTSP_Source_RTSPTransport_int | rtsp_transport rtsptransport |
RTSP transport mode: - 0: automatic (default; UDP is tried first), - 1: tcp, - 2: udp, - 3: http, - 4: udp_multicast, - 5: https. See RTSP transport mode. Note: In the URL, this setting is written >rtsp_transport=tcp, >rtsp_transport=udp, etc., using the transport name rather than its numeric value. |
| RTSP_Source_LowDelay_int | lowdelay |
Enables or disables the low-delay mode, which helps to reduce the latency: - -1: auto, - 0: disabled, - 1: enabled. Note: In some rare cases, the video may appear jerky when the low-delay mode is enabled. Keep it disabled to avoid the jerkiness. See How can I reduce the latency? and The video is stuttering. |
| RTSP_Source_FrameRate_double | srcframerate sourceframerate framerate |
Specifies the native frame rate of the video stream when it is not properly detected. This has been reported with some streams configured in variable bitrate (VBR) mode. See also Specifying the video pin format beforehand. |
| RTSP_Source_DiscardCorruptedFrames_bool | discardcorrupt discardcorrupted |
- enabled (default): the corrupted frames are discarded, which produces a gap in the video stream, - disabled: the corrupted frames are decoded when possible, which produces pixellation on the corrupted parts of the image. |
| RTSP_Source_JitterCorrection_int | jitter |
Jitter correction of a real-time video source, expressed as a percentage, for example 25. |
| RTSP_Source_IsRealtime_bool | Read-only. Once the URL is opened, returns true if the source is a real-time source (rtsp, rtp, etc.), false otherwise. | |
| RTSP_Source_IsUDP_bool | Read-only. Once the URL is opened, returns true if the source is streaming over UDP. | |
| RTSP_Source_HTMLEmbeddedVideo_bool | embedded |
Tells the filter that the source is a video embedded in an HTML page (YouTube and equivalent), so that it is resolved through the external extractor instead of being opened directly. See also RTSP_Source_Set_Browser_For_Youtube_str. |
| RTSP_Source_Set_Browser_For_Youtube_str | ytbrowser |
Name of the browser used for the YouTube authentication. When a YouTube video is private but the browser is already authenticated, giving the browser name lets the filter play the video using that browser's cookies. Possible values: brave chrome chromium edge firefox opera safari vivaldi |
| RTSP_Source_Set_FFmpeg_Location_For_Youtube_str | ytffmpeg |
Location of the FFmpeg binary used to read YouTube and equivalent URLs, when it is not the one shipped with the filter. |
| RTSP_Source_RTSPRange_str | rtsprange |
Optional RTSP range specification, for example to start playing a clip stored on the RTSP source at a given date and time: >rtsprange=clock=20150217T153000Z- |
| RTSP_Source_UDP_LocalAddr_str | localaddr |
Local IP address of the network interface used to send the packets or to join the multicast groups. |
| RTSP_Source_UDP_LocalPort_int | localport |
Overrides the local UDP port to bind to. |
| RTSP_Source_HTTPProxy_str | httpproxy http_proxy |
Specifies the HTTP proxy to use, if needed, for the HTTP and HTTPS URLs. http://IP:port:: without authentication http://user:passwd@IP:port:: with authentication As a URL parameter: >httpproxy=http://proxyuser:proxypass@192.168.1.38:9000 |
| RTSP_Source_MpegTS_Program_str | program |
In an MPEG-TS stream that carries several programs, specifies the name of the program to use. By default, the first program found is used. |
| RTSP_Source_Format_str | srcformat |
Specifies the input format of some HTTP URLs, when the filter does not detect it properly. The possible values are: - "mjpeg": IP camera, HTTP in JPG or MJPEG mode, - "mxg": IP camera, HTTP in MXPEG mode, - "jpeg:WidthxHeight": specifies the image dimensions when the stream is an MJPEG stream whose size is not properly detected by the filter. |
| RTSP_Source_Playback_Speed_Ratio_double | For the URLs that have a fixed duration, specifies the playback speed. For example, to play the clip at half speed: >playspeedratio=0.5 |
|
| RTSP_Source_Axis_IrCutFilter_str | Sets or retrieves the state of the IR-cut filter of Axis cameras. The supported values are "enabled", "disabled" and "auto". For the other camera brands, see IR-cut filter (day/night mode). |
|
| RTSP_Source_AverageTimePerFrame100ns_int | Retrieves the average time per video frame, expressed in 100 ns units. | |
| RTSP_Source_DurationMs_int | Retrieves the duration of the clip or of the URL, if any, that is if the source is not a live source. Expressed in milliseconds. | |
| RTSP_Source_Duration100ns_int64 | Retrieves the duration of the clip or of the URL, if any, that is if the source is not a live source. Expressed in 100 ns units. | |
| RTSP_Source_AuthUser_str | Authentication user name, if required. | |
| RTSP_Source_AuthPassword_str | Authentication password, if required. | |
| RTSP_Source_StreamInfo_str | Retrieves information about the streams, as a displayable multi-line string whose lines are separated by CR/LF characters. | |
| RTSP_Source_StreamInfo_as_XML_str | Retrieves information about the streams, as XML text. | |
| RTSP_Source_Metadata_str | Retrieves the metadata, as a string of values separated by CR/LF characters. | |
| RTSP_Source_StartTime_int | starttime |
If the source URL supports seeking, specifies the start time, expressed in milliseconds. For example, for a start time of 2 min 30 s, that is 150 seconds: DatasteadRtspSourceConfig.SetInt (RTSP_Source_StartTime_int, 150000) |
| RTSP_Source_Threads_int | threads |
Number of threads assigned to the decoding, and to the encoding when it is enabled. - 0: automatic, - 1: default. |
| RTSP_Source_ThreadPriority_int | threadpriority |
Priority of the decoding threads: - 0: THREAD_PRIORITY_NORMAL (default), - 1: THREAD_PRIORITY_ABOVE_NORMAL, - 2: THREAD_PRIORITY_HIGHEST, - 3: THREAD_PRIORITY_TIME_CRITICAL. |
| RTSP_Source_IsURLConnected_bool | Returns true if the URL is connected. It returns false if: - the URL is not connected yet, - the URL is reconnecting, when the automatic reconnection is enabled. | |
| RTSP_Source_GetAudioDevices_str | Retrieves the list of the DirectShow audio capture devices (microphone, line input, webcam microphone, etc.) currently available on the PC. The list is returned as a displayable string whose device names are separated by a line feed (\n, chr(10)): Microphone (Realtek High Definition Audio)\nMicrophone (HD Webcam C525)\nDecklink Audio Capture |
|
| RTSP_Source_SetAudioDevice_str | Sets the name of the audio capture device to use. The name must be one of the names returned by GetStr (RTSP_Source_GetAudioDevices_str,...). Note: Setting this parameter discards the audio of the source URL, if any, and uses the specified audio capture device instead. |
|
| RTSP_Source_GetURL_str | Retrieves the current URL. | |
| RTSP_Source_GetState_int | Returns the current state of the source. The possible values include: state_disconnected state_connecting_async state_connecting_sync state_reconnecting state_connected state_previewing state_recording_paused state_recording_active |
ONVIF
These parameters require a connection established with an onvif:// URL.
| Identifier | url param | Description |
|---|---|---|
| RTSP_ONVIF_Authentication_TimeOffsetMode_int | authmode |
Selects how the ONVIF authentication handles the clock offset between the PC and the camera: - 0: tries without time offset checking first, then, if it fails, with time offset checking, - 1: authenticates without time offset checking only, - 2: authenticates with time offset checking only, - 3: (default) tries with the time offset first, then with the opposite offset, then without time offset checking. Note: Mode 3 is the most tolerant and is the default; the other modes are only useful to shorten the connection time on a camera whose behaviour is known. |
| RTSP_ONVIF_Media_Version_int | mediaversion |
Specifies which ONVIF media service version is used to query the media information: - 0: (default) uses both, and returns the profile information from the version that reports the higher number of profiles, - 1: uses Media1 (VER10), - 2: uses Media2 (VER20). |
| RTSP_ONVIF_LastJPEGSnapshotBuffer_intptr | Returns a pointer to the memory buffer that contains the last ONVIF JPEG snapshot. See ONVIF JPEG snapshot. | |
| RTSP_ONVIF_LastJPEGSnapshotSize_int | Returns the size, in bytes, of the memory buffer that contains the last ONVIF JPEG snapshot. | |
| RTSP_ONVIF_Info_As_XML_str | Returns all the ONVIF information gathered (manufacturer, model, serial number, recordings available, etc.), in XML format. | |
| RTSP_ONVIF_Replay_As_XML_str | Retrieves the list of the recordings available, with their replay URLs, in XML format. See ONVIF replay. | |
| RTSP_ONVIF_Profiles_As_XML_str | Returns all the ONVIF media profiles of the camera, in XML format. | |
| RTSP_ONVIF_Current_Profile_Name_str | Returns the name of the media profile currently being decoded or recorded. See RTSP stream selected by the name of the ONVIF media profile. | |
| RTSP_ONVIF_Current_Profile_Token_str | Returns the token of the media profile currently being decoded or recorded. | |
| RTSP_ONVIF_Info_Manufacturer_str | Retrieves the manufacturer of the IP camera or DVR. | |
| RTSP_ONVIF_Info_Model_str | Retrieves the model of the IP camera or DVR. | |
| RTSP_ONVIF_Info_HardwareId_str | Retrieves the hardware identifier of the IP camera or DVR. | |
| RTSP_ONVIF_Info_SerialNumber_str | Retrieves the serial number of the IP camera or DVR. | |
| RTSP_ONVIF_Info_FirmwareVersion_str | Retrieves the firmware version of the IP camera or DVR. | |
| RTSP_ONVIF_Info_PTZInfo_str | Retrieves the PTZ information of the IP camera or DVR, as a string of values separated by CR/LF characters. | |
| RTSP_ONVIF_Info_PTZLimits_str | Retrieves the minimum and maximum values of pan, tilt and zoom of the IP camera, as a string of values separated by CR/LF characters. | |
| RTSP_ONVIF_Info_PTZPresets_str | Retrieves the list of the presets of the IP camera, as a string of values separated by CR/LF characters. | |
| RTSP_ONVIF_Info_MacAddress_str | Retrieves the MAC address of the network interface of the camera. | |
| RTSP_ONVIF_Info_AuxiliaryCommands_str | Retrieves the list of the auxiliary commands available on this camera, as a string of words separated by CR/LF characters. |
Video encoding
These parameters re-encode the video with a codec other than the native codec of the source, which requires more CPU.
| Identifier | url param | Description |
|---|---|---|
| RTSP_VideoEncoder_Codec_str | vcodec |
Specifies a video codec, in order to record in a different format, video size or bitrate instead of using the native codec, for example "h264". |
| RTSP_VideoEncoder_BitRateKbps_int | vbitrate |
Bitrate, in kbps, used when a video codec has been specified for the recording (see RTSP_VideoEncoder_Codec_str). |
| RTSP_VideoEncoder_QualityMin_int | vqualitymin |
When specified and greater than 0, enables the VBR mode and sets the minimum quality value. The range depends on the codec, usually 0..51, or 12..42 for OpenH264. Note: A lower value means a higher quality. |
| RTSP_VideoEncoder_QualityMax_int | vqualitymax |
When specified and greater than 0, enables the VBR mode and sets the maximum quality value. The range depends on the codec, usually 0..51, or 12..42 for OpenH264. Note: A lower value means a higher quality. |
| RTSP_VideoEncoder_GopSize_int | vgopsize |
Key frame spacing. For example, a GOP of 30 at 30 fps creates one key frame every second. |
| RTSP_VideoEncoder_Profile_str | vprofile |
Profile name of the encoder, for example "baseline" for H264. |
| RTSP_VideoEncoder_Cabac_bool | vcabac |
Enables the CABAC mode (context-adaptive binary arithmetic coding) of the encoder. |
| RTSP_VideoEncoder_Width_int | vwidth |
Video width used by the encoder. |
| RTSP_VideoEncoder_Height_int | vheight |
Video height used by the encoder. |
Audio encoding
| Identifier | url param | Description |
|---|---|---|
| RTSP_AudioEncoder_Codec_str | acodec |
Codec name used for the audio encoding, for example "aac" or "mp3". |
| RTSP_AudioEncoder_BitRateKbps_int | abitrate |
Bitrate, in kbps, used for the audio encoding. |
| RTSP_AudioEncoder_SampleRate_int | asamplerate |
Sample rate used for the audio encoding, for example 44100 or 22050. |
Video output pin
| Identifier | url param | Description |
|---|---|---|
| RTSP_VideoStream_Enabled_bool | videostreamenabled |
Enables or disables the video decompression and the video output pin. Default: true. |
| RTSP_VideoStream_Synchronized_bool | vidsync |
When disabled, the filter removes the sample times, so the samples are rendered as fast as they are received, instead of being scheduled for rendering. Default: true. |
| RTSP_VideoStream_Recorded_bool | videostreamrecorded |
When the recording is enabled (see RTSP_Source_RecordingFileName_str) and the source has both audio and video, disabling this parameter records the audio only. Default: true. |
| RTSP_VideoStream_Sync_Start_Recording_bool | syncstart |
Starts the recording synchronized with the decoded frames displayed. See Synchronizing the beginning of the recording with the first frames displayed. Enabling this feature automatically enables the recompression with the same codec: - to recompress with a different codec, specify the codec name with RTSP_VideoEncoder_Codec_str, - the encoding can be performed by the GPU with RTSP_VideoStream_GPUEncoder_int. |
| RTSP_VideoStream_Decode_KeyFrames_Only_bool | keyframesonly keyframeonly |
When set to true, only the key frames (I-frames) are decoded. This saves a lot of decoding CPU, at the cost of a preview of about 1 fps, depending on the GOP size. Default: false. It can be enabled and disabled on the fly, without stopping and restarting the graph, or through the URL: >keyframesonly=1 >maxframerate=-1:: same effect, throughRTSP_VideoStream_MaxFrameRate_double`` See also How can I reduce the CPU load? |
| RTSP_VideoStream_Index_int | videostreamindex |
When the source carries more than one video stream, specifies the index of the video stream to use, in the 0..n-1 range. Default: 0. |
| RTSP_VideoStream_MpegTS_pid_str | vpid |
In an MPEG-TS stream that carries several video streams, specifies the PID of the video stream to use. By default, the first video stream found is used. |
| RTSP_VideoStream_PinFormat_str | videopinformat |
By default, the video pin connects in RGB32 or RGB24 format. This parameter forces one of the following pin formats (not case-sensitive): RGB32 RGB24 RGB565 RGB555 NV12 UYVY I420 |
| RTSP_VideoStream_Width_int | width |
Specifies a non-default frame width for the video pin. Note: Once the URL is connected, GetInt (RTSP_VideoStream_Width_int, &Value) returns the width of the decoded video stream. |
| RTSP_VideoStream_Height_int | height |
Specifies a non-default frame height for the video pin. Note: Once the URL is connected, GetInt (RTSP_VideoStream_Height_int, &Value) returns the height of the decoded video stream. |
| RTSP_VideoStream_AspectRatio_double | aspectratio |
Specifies how the aspect ratio of the video output pin is handled: - 0.0: applies the aspect ratio of the stream format, if it is specified, - 1.0: uses the width and the height of the native video frame, "as is", - other values: applies the aspect ratio specified. |
| RTSP_VideoStream_TopDown_bool | Makes the image of the video output pin top-down. | |
| RTSP_VideoStream_MaxFrameRate_double | maxframerate |
Limits the frame rate of the video pin. Without this parameter, the frame rate is the native frame rate of the video stream. The value is only taken into account if it is lower than the frame rate of the video pin. Note: Passing -1 enables the key-frame-only decoding mode, exactly like RTSP_VideoStream_Decode_KeyFrames_Only_bool. The resulting frame rate then depends on the key frame spacing of the source. See also RTSP_VideoStream_Decode_KeyFrames_Only_bool and How can I reduce the CPU load? |
| RTSP_VideoStream_Filter_str | videofilter |
Specifies an FFmpeg video filter, for example hflip for a horizontal flip or vflip for a top-down image. See Video processing applied to the video stream. Note: Depending on the context, some filters may not be usable. |
| RTSP_VideoStream_HWAcceleration_int | hwaccel |
Enables the GPU-accelerated decoding: - 0: software decoding, - 1: DXVA2 acceleration, - 2: Intel GPU (QuickSync), lowest memory consumption, - 3: NVIDIA GPU (CUVID), - 4: AMD AMF, - 5: auto, that is whichever is available: QuickSync, NVIDIA or AMD. |
| RTSP_VideoStream_HWAccelerationDevice_int | hwdevice |
When RTSP_VideoStream_HWAcceleration_int is enabled, specifies the index of the GPU device, in the 0..n-1 range. Useful only when more than one GPU is available. |
| RTSP_VideoStream_GPUEncoder_int | gpuenc |
Enables the hardware-accelerated encoding through the GPU when the recompression is enabled. The recompression is enabled by specifying a codec name with RTSP_VideoEncoder_Codec_str, or by adding for example >vcodec=h264 at the end of the URL. - 0: software encoding, - 1: automatic GPU selection, - 2: Intel QSV GPU, - 3: NVIDIA NVENC GPU, - 4: AMD AMF GPU. |
| RTSP_VideoStream_Deinterlacing_int | deint deinterlace |
Enables the deinterlacing: - 0: no deinterlacing (default), - 1: yadif deinterlacing, - 2: w3fdif deinterlacing, which consumes more CPU. |
| RTSP_VideoStream_ConfigureTextOverlay_str | textoverlay |
Configures a text overlay. To display more than one overlay, invoke the function once per overlay, with a different overlayid. Note: The overlays must be configured before loading the URL. If they must not be displayed immediately, set an empty text, then update it while the filter is running. The syntax is described in the Text overlays chapter. |
| RTSP_VideoStream_ConfigureHueBrightSat_str | brighthuesat |
Configures the brightness, hue and saturation adjustment. Note: It must be set before loading the URL. To avoid applying it immediately, set the default values (b=0, h=0, s=1), then update them while the filter is running. The syntax is described in the Brightness, hue and saturation chapter. |
| RTSP_VideoStream_DelayMs_int | videodelay |
Adds the specified latency, in milliseconds, to the video stream relatively to the audio stream. Designed to give manual control over the audio/video synchronization. |
| RTSP_VideoStream_HWBuffers_int | hwbuffers |
Number of frame buffers used for the GPU decoding. If the video stutters when the GPU decoding is enabled, try increasing this value progressively, typically between 10 and 18, until the stuttering disappears. Note: High values increase the memory consumption significantly. Default: 0 (automatic). |
| RTSP_VideoStream_Frame_NTP_time_100ns_int64 | Read-only. Returns the NTP time, since the epoch, of the video frame currently being decoded, expressed in 100 ns units. Read it with GetInt64 on the IDatasteadRTSPSourceConfig3 interface. See NTP time of IP cameras. |
|
| RTSP_VideoStream_First_Frame_NTP_time_Recorded_100ns_int64 | Read-only. Returns the NTP time, since the epoch, of the first video frame written to the file currently being recorded, expressed in 100 ns units. Read it with GetInt64 on the IDatasteadRTSPSourceConfig3 interface. |
Audio output pin
| Identifier | url param | Description |
|---|---|---|
| RTSP_AudioStream_Available_bool | Read-only. Once the URL is opened, returns true if the source exposes an audio stream. | |
| RTSP_AudioStream_Enabled_bool | audiostreamenabled |
Enables or disables the audio decompression and the audio output pin. Default: true. |
| RTSP_AudioStream_Recorded_bool | audiostreamrecorded |
When the recording is enabled (see RTSP_Source_RecordingFileName_str) and the source has both audio and video, disabling this parameter records the video only. Default: true. |
| RTSP_AudioStream_Index_int | audiostreamindex |
When the source carries more than one audio stream, specifies the index of the audio stream to use, in the 0..n-1 range. Default: 0. |
| RTSP_AudioStream_SamplesPerSec_int | audiosamplespersec |
Number of audio samples per second of the output pin. Supported values: 8000, 11025, 22050, 32000, 44100, 48000. Default: 44100. |
| RTSP_AudioStream_MpegTS_pid_str | apid |
In an MPEG-TS stream that carries several audio streams, specifies the PID of the audio stream to use. By default, the first audio stream found is used. |
| RTSP_AudioStream_Filter_str | audiofilter |
Specifies an FFmpeg audio filter to use. Note: Depending on the context, some filters may not be usable. |
| RTSP_AudioStream_Volume_int | audiovolume |
Specifies a non-default audio volume, in the 0..65535 range (0 = muted). |
| RTSP_AudioStream_DelayMs_int | audiodelay |
Adds the specified latency, in milliseconds, to the audio stream relatively to the video stream. Designed to give manual control over the audio/video synchronization. |
Frame capture and recording status
| Identifier | url param | Description |
|---|---|---|
| RTSP_FrameCapture_Width_int | framecapturewidth |
Specifies a non-default width for the next frame captured. By default, the native width of the video frame is used. |
| RTSP_FrameCapture_Height_int | framecaptureheight |
Specifies a non-default height for the next frame captured. By default, the native height of the video frame is used. |
| RTSP_FrameCapture_Time_int | framecapturetime |
Schedules the stream time at which the next frame is captured, expressed in milliseconds. |
| RTSP_FrameCapture_FileName_str | framecapturefilename |
Full path and file name of the next frame to capture. The extension determines the format; the supported formats are BMP, JPG, PNG and TIFF: c:\folder\nextframe.png |
| RTSP_CurrentRecording_FileSizeKb_int | Returns the current size, in KB, of the file being recorded. | |
| RTSP_CurrentRecording_ClipDurationMs_int | Returns the duration, in milliseconds, of the recording in progress. | |
| RTSP_CurrentRecording_VideoFrameCount_int | Returns the video frame count of the recording in progress. | |
| RTSP_CurrentRecording_FileName_str | Returns the file name of the recording in progress. | |
| RTSP_LastRecorded_FileSizeKb_int | Returns the size, in KB, of the last file recorded. | |
| RTSP_LastRecorded_ClipDurationMs_int | Returns the duration, in milliseconds, of the last file recorded. | |
| RTSP_LastRecorded_VideoFrameCount_int | Returns the video frame count of the last file recorded. | |
| RTSP_LastRecorded_FileName_str | Returns the name of the last file recorded. |
Re-streaming
Destination URL and encoding format of the destination. See Re-streaming.
| Identifier | url param | Description |
|---|---|---|
| RTSP_Dest_URL_str | desturl |
Sets the re-streaming destination URL. Examples, at the end of the source URL: >desturl=rtspsrv://192.168.0.25:6000:: RTSP server on port 6000 :: (IP address of a network card of the PC running the filter) >desturl=udp://192.168.0.200:5000:: UDP unicast on port 5000 :: (IP address of the client PC) >desturl=udp://239.255.0.10:4000:: UDP multicast on port 4000 Programmatically: DatasteadRtspSourceConfig.SetStr (RTSP_Dest_URL_str, "rtspsrv://192.168.0.25:6000") |
| RTSP_Dest_Video_BitRate_int | destvideobitrate |
Video bitrate of the re-streaming, expressed in kb/s. |
| RTSP_Dest_Video_KeyFrameInterval_int | destvideokeyframeinterval destkeyframeinterval |
Key frame spacing of the re-streaming. Default: 30. |
Miscellaneous
| Identifier | url param | Description |
|---|---|---|
| RTSP_Filter_Last_Error_Message_str | Returns information about the origin of the error that occurred when the connection to the URL failed. | |
| RTSP_Release_HBITMAP_int64 | Releases a memory bitmap previously allocated by Action (RTSP_Action_CaptureFrame, "HBITMAP"): DatasteadRtspSourceConfig.SetInt64 (RTSP_Release_HBITMAP_int64, handle) |
|
| RTSP_Recording_MP4TagTimeUTC_bool | mp4tagutc |
- enabled: the tag time of the MP4 file is written as UTC, to be QuickTime-compliant, - disabled: the tag time of the MP4 file is written as local time, to be EXIF-compliant (default). |
| RTSP_Filter_Version_int | Returns the filter version number. | |
| RTSP_Filter_Version_str | Returns the filter version as a string. | |
| RTSP_Filter_Build_int | Returns the filter build number. | |
| RTSP_Filter_DLL_Location_str | Returns the full path of the filter binary actually loaded by the process. Useful to check which copy of the filter is in use when several are installed. | |
| RTSP_Filter_LicenseKey_str | Sets the license key. |