Stream Formats and Protocols

Supported Stream Formats and Protocols

Even though Pipeless is defined as a computer vision framework, it is designed to allow you to analyze any kind of stream, including video, audio, subtitles, etc. These streams can be analyzed and modified in real-time. When analyzing a stream you can export data and events and when modifying you can generate a new stream with some changes and the same encoding and format as the original one.

💡

If you need a format that is not supported please open a feature request (opens in a new tab) or if you implemented a new format you can contribute by creating a pull request on GitHub.

Computer vision / video processing

Input

Pipeless supports almost any protocol and format (with several codecs) as input.

Supported input protocols: v4l2 (for device webcam), file, http(s), rtmp, rtsp, rtp, tcp, udp, ftp, ... Supported input formats: mp4, webm, mkv, ... (several codecs supported for all of them)

Select input camera

You can use v4l2:/dev/videoX where X is the index of the device as input URI to select the input device when you have multiple cameras. For example, v4l2:/dev/video0. If you provide v4l2 without specifying the device it will fallback to /dev/video0.

Output

When the output video is enabled, the following table describes the supported combinations of protocols and formats. New output protocols and formats are added constantly.

Output ProtocolOutput Format
screenraw (Directly shown on the device screen)
filemp4
rtmpflv
rtspSame as input. h.264 encoded
💡

NOTE: When using v4l2 as input URI to read from the device webcam, the output URI (if the output is enabled) must be screen. v4l2 as input is supported in core versions >= 0.1.3-alpha

Audio recognition / audio processing

Audio processing is being implemented, however, not yet available.

Data and Events

You can easily export data or handle events in the post-process hooks of your stages as you would usually do in any other application.