Video Streams In (PInputVideoStream)

PInputVideoStream reads video streams from a variety of sources, including video files, webcam, web streams (RTSP), etc.

Available Plugins

Plugin Name Product Name Version Description
DeviceInputVideoStream (webcams) DeviceInputVideoStream 1.0 Read video streams from webcams.
OpenCVInputVideoStream (video files) FileInputVideoStream 1.0 Read video streams from video file. Formats depend on codecs you have installed.
NetworkInputVideoStream NetworkInputVideoStream 1.1 Read video streams from a network socket (PSocket).
PPluginInputVideoStreamFFmpeg (RTSP streams) PPluginInputVideoStreamFFmpeg 1.0 Read video streams using FFmpeg.
PPluginInputVideoStreamVLC (RTSP streams) PPluginInputVideoStreamVLC 1.0 Read video streams using VLC.
PPluginInputVideoStreamFeverCam (temperature video stream) PPluginInputVideoStreamFeverCam 1.0 Read temperature video-streams from FeverCam.


papillon::PInputVideoStream provides a unified interface for loading video from a wide range of sources, including video file, cameras, network streams.

For example, loading a file

// Papillon will automatically find the first plugin that matches the specified URI
PInputVideoStream inputVideoStream;
PInputVideoStream::Open("myVideoFile.mp4", inputVideoStream).OrDie();

is equivalent to opening a local camera (webcam)

PInputVideoStream inputVideoStream;
PInputVideoStream::Open("device:0", inputVideoStream).OrDie(); // 0=first camera, 1=second camera, etc.

is equivalent to opening a camera via RTSP

PInputVideoStream inputVideoStream;
PInputVideoStream::Open(""rtsp://", inputVideoStream).OrDie();

is equivalent to opening a video on YouTube (note, you need to download and install the VLC plugin separately)

PInputVideoStream inputVideoStream;
PInputVideoStream::Open("", inputVideoStream).OrDie();

Only the source of the video is changed. The source of the video is represented as papillon::PUri.

Video Codecs

Papillon provides video-codec support through standard third-party software packages such as FFMPeg. We create a common interface so you can take advantage of these codecs in a uniform manner.

The video codecs you can use from Papillon depend on the codec packs you have installed on your machine. By default we provide OpenCV FFMpeg installation which supports a wide range of common codecs. This software package is licenced under the LGPL which means it excludes some codec implementations.