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 Protocol | Output Format |
|---|---|
screen | raw (Directly shown on the device screen) |
file | mp4 |
rtmp | flv |
rtsp | Same 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.