Query I/O API backends registry#

Detailed Description#

This section contains API description how to query/configure available Video I/O backends.

Runtime configuration options:

  • enable debug mode: OPENCV_VIDEOIO_DEBUG=1

  • change backend priority: OPENCV_VIDEOIO_PRIORITY_<backend>=9999

  • disable backend: OPENCV_VIDEOIO_PRIORITY_<backend>=0

  • specify list of backends with high priority (>100000): OPENCV_VIDEOIO_PRIORITY_LIST=FFMPEG,GSTREAMER

Function Documentation#

getBackendName()#

cv::String cv::videoio_registry::getBackendName(VideoCaptureAPIs api)

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getBackendName(api) -> retval

Returns backend API name or “UnknownVideoAPI(xxx)”.

Parameters

getBackends()#

std::vector< VideoCaptureAPIs > cv::videoio_registry::getBackends()

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getBackends() -> retval

Returns list of all available backends.

getCameraBackendPluginVersion()#

std::string cv::videoio_registry::getCameraBackendPluginVersion(
VideoCaptureAPIs api,
int & version_ABI,
int & version_API )

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getCameraBackendPluginVersion(api) -> retval, version_ABI, version_API

Returns description and ABI/API version of videoio plugin’s camera interface.

getCameraBackends()#

std::vector< VideoCaptureAPIs > cv::videoio_registry::getCameraBackends()

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getCameraBackends() -> retval

Returns list of available backends which works via cv::VideoCapture(int index)

getStreamBackendPluginVersion()#

std::string cv::videoio_registry::getStreamBackendPluginVersion(
VideoCaptureAPIs api,
int & version_ABI,
int & version_API )

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getStreamBackendPluginVersion(api) -> retval, version_ABI, version_API

Returns description and ABI/API version of videoio plugin’s stream capture interface.

getStreamBackends()#

std::vector< VideoCaptureAPIs > cv::videoio_registry::getStreamBackends()

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getStreamBackends() -> retval

Returns list of available backends which works via cv::VideoCapture(filename)

getStreamBufferedBackendPluginVersion()#

std::string cv::videoio_registry::getStreamBufferedBackendPluginVersion(
VideoCaptureAPIs api,
int & version_ABI,
int & version_API )

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getStreamBufferedBackendPluginVersion(api) -> retval, version_ABI, version_API

Returns description and ABI/API version of videoio plugin’s buffer capture interface.

getStreamBufferedBackends()#

std::vector< VideoCaptureAPIs > cv::videoio_registry::getStreamBufferedBackends()

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getStreamBufferedBackends() -> retval

Returns list of available backends which works via cv::VideoCapture(buffer)

getWriterBackendPluginVersion()#

std::string cv::videoio_registry::getWriterBackendPluginVersion(
VideoCaptureAPIs api,
int & version_ABI,
int & version_API )

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getWriterBackendPluginVersion(api) -> retval, version_ABI, version_API

Returns description and ABI/API version of videoio plugin’s writer interface.

getWriterBackends()#

std::vector< VideoCaptureAPIs > cv::videoio_registry::getWriterBackends()

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.getWriterBackends() -> retval

Returns list of available backends which works via cv::VideoWriter()

hasBackend()#

bool cv::videoio_registry::hasBackend(VideoCaptureAPIs api)

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.hasBackend(api) -> retval

Returns true if backend is available.

isBackendBuiltIn()#

bool cv::videoio_registry::isBackendBuiltIn(VideoCaptureAPIs api)

#include <opencv2/videoio/registry.hpp>

Python:

cv.videoio_registry.isBackendBuiltIn(api) -> retval

Returns true if backend is built in (false if backend is used as plugin)