.NET SDK: Supported Features and Platforms¶
Video Capture SDK .NET Video Edit SDK .NET Media Blocks SDK .NET Media Player SDK .NET
Discover the comprehensive feature set and broad platform compatibility of VisioForge .NET SDKs. The tables below detail supported input/output formats, video/audio codecs, hardware acceleration, capture devices, and network protocols across Windows, Linux, macOS, Android, and iOS.
Input and output file formats¶
| Output formats | Windows | Linux | MacOS | Android | iOS |
|---|---|---|---|---|---|
| MP4 | ✔ | ✔ | ✔ | ✔ | ✔ |
| WebM | ✔ | ✔ | ✔ | ✔ | ✔ |
| MKV | ✔ | ✔ | ✔ | ✔ | ✔ |
| AVI | ✔ | ✔ | ✔ | ✔ | ✔ |
| ASF (WMV/WMA) | ✔ | ✔ | ✔ | ✔ | ✔ |
| MPEG-PS | ✔ | ✔ | ✔ | ✔ | ✔ |
| MPEG-TS | ✔ | ✔ | ✔ | ✔ | ✔ |
| MOV | ✔ | ✔ | ✔ | ✔ | ✔ |
| MXF | ✔ | ✔ | ✔ | ✔ | ✔ |
| WMA | ✔ | ✔ | ✔ | ✔ | ✔ |
| WAV | ✔ | ✔ | ✔ | ✔ | ✔ |
| MP3 | ✔ | ✔ | ✔ | ✔ | ✔ |
| OGG | ✔ | ✔ | ✔ | ✔ | ✔ |
Also, cross-platform engines support all formats supported by FFMPEG and GStreamer.
Video encoders and decoders¶
SDK supports the following video codecs:
| Encoders | Windows | Linux | MacOS | Android | iOS |
|---|---|---|---|---|---|
| H264 | ✔ | ✔ | ✔ | ✔ | ✔ |
| H264/HEVC | ✔ | ✔ | ✔ | ✔ | ✔ |
| VP8/VP9 | ✔ | ✔ | ✔ | ✔ | ✔ |
| AV1 | ✔ | ✔ | ✔ | ✔ | ✘ (*) |
| MJPEG | ✔ | ✔ | ✔ | ✔ | ✔ |
| WMV | ✔ | ✔ | ✔ | ✔ | ✔ |
| MPEG-4 ASP | ✔ | ✔ | ✔ | ✔ | ✔ |
| GIF | ✔ | ✔ | ✔ | ✔ | ✔ |
| MPEG-1 | ✔ | ✔ | ✔ | ✔ | ✔ |
| MPEG-2 | ✔ | ✔ | ✔ | ✔ | ✔ |
| Theora | ✔ | ✔ | ✔ | ✔ | ✔ |
| DNxHD | ✔ | ✔ | ✔ | ✔ | ✔ |
| DV | ✔ | ✔ | ✔ | ✔ | ✔ |
(*) AV1 decoding is available on iOS - through VideoToolbox on A17 Pro and later, and through the software dav1d decoder everywhere else. AV1 encoding is not: Apple ships no AV1 hardware encoder on any chip, and the software AV1 encoders are not part of the iOS redist.
GPU-accelerated encoding and decoding¶
The table below shows the support for hardware-accelerated encoding and decoding for each codec and platform.
| Codec | Hardware | Windows | Linux | MacOS | Android | iOS |
|---|---|---|---|---|---|---|
| H264/HEVC | Intel | D / E | D / E | D / E | ✘ | ✘ |
| H264/HEVC | Nvidia | D / E | D / E | D / E | ✘ | ✘ |
| H264/HEVC | AMD | D / E | D / E | D / E | ✘ | ✘ |
| H264/HEVC | Apple | ✘ | ✘ | D / E | ✘ | D / E |
| H264/HEVC | Android (1) | ✘ | ✘ | ✘ | D / E | ✘ |
| AV1 | Intel | D / E | D / E | D / E | ✘ | ✘ |
| AV1 | Nvidia | D / E | D / E | D / E | ✘ | ✘ |
| AV1 | AMD | D / E | D / E | D / E | ✘ | ✘ |
| AV1 | Apple | ✘ | ✘ | D | ✘ | D |
| AV1 | Android (1) | ✘ | ✘ | ✘ | D | ✘ |
| VP9 | Intel | D / E | D / E | D / E | ✘ | ✘ |
| VP9 | Nvidia | D / E | D / E | D / E | ✘ | ✘ |
| VP9 | AMD | D / E | D / E | D / E | ✘ | ✘ |
| VP9 | Apple | ✘ | ✘ | D (2) | ✘ | ✘ |
| VP9 | Android (1) | ✘ | ✘ | ✘ | D / E | ✘ |
(1) - MediaCodec compatible encoders and decoders, if supported by hardware
(2) - only on Apple Silicon
Audio encoders and decoders¶
The table below shows the support for audio codecs for each platform.
| Encoders | Windows | Linux | MacOS | Android | iOS |
|---|---|---|---|---|---|
| AAC | ✔ | ✔ | ✔ | ✔ | ✔ |
| MP3 | ✔ | ✔ | ✔ | ✔ | ✔ |
| Vorbis | ✔ | ✔ | ✔ | ✔ | ✔ |
| OPUS | ✔ | ✔ | ✔ | ✔ | ✔ |
| Speex | ✔ | ✔ | ✔ | ✔ | ✔ |
| FLAC | ✔ | ✔ | ✔ | ✔ | ✔ |
| MP2 | ✔ | ✔ | ✔ | ✔ | ✔ |
| WMA | ✔ | ✔ | ✔ | ✔ | ✔ |
| OPUS | ✔ | ✔ | ✔ | ✔ | ✔ |
| Wavpack | ✔ | ✔ | ✔ | ✔ | ✔ |
Also, you can use any other audio or video encoder available in FFMPEG or GStreamer.
Devices¶
The table below shows the support for capture devices for each platform.
| Devices | Windows | Linux | MacOS | Android | iOS |
|---|---|---|---|---|---|
| Webcams and other local capture sources | ✔ | ✔ | ✔ | ✔ | ✔ |
| IP cameras and NVR (including ONVIF) | ✔ | ✔ | ✔ | ✔ | ✔ |
| Screen | ✔ | ✔ | ✔ | ✔ | ✔ |
| Blackmagic Decklink (input and output) | ✔ | ✔ | ✔ | ✘ | ✘ |
| Camcorders | ✔ | ✔ | ✔ | ✘ | ✘ |
| GenICam-supported USB3/GigE cameras | ✔ | ✔ | ✔ | ✘ | ✘ |
| Teledyne/FLIR GigE/USB3 cameras | ✔ | ✘ | ✘ | ✘ | ✘ |
| Basler GigE/USB3 cameras | ✔ | ✘ | ✘ | ✘ | ✘ |
| Allied Vision GigE/USB3 cameras | ✔ | ✘ | ✘ | ✘ | ✘ |
Network protocols¶
The table below shows the support for network protocols for each platform.
| Protocols | Windows | Linux | MacOS | Android | iOS |
|---|---|---|---|---|---|
| RTP/RTSP | ✔ | ✔ | ✔ | ✔ | ✔ |
| RTMP (YouTube, Facebook Live) | ✔ | ✔ | ✔ | ✔ | ✔ |
| SRT | ✔ | ✔ | ✔ | ✔ | ✔ |
| UDP | ✔ | ✔ | ✔ | ✔ | ✔ |
| TCP | ✔ | ✔ | ✔ | ✔ | ✔ |
| HTTP | ✔ | ✔ | ✔ | ✔ | ✔ |
| NDI | ✔ | ✔ | ✔ | ✔ | ✘ |
| VNC (source) | ✔ | ✔ | ✔ | ✔ | ✔ |
| GenICam (source) | ✔ | ✔ | ✔ | ✔ | ✔ |
| AWS S3 | ✔ | ✔ | ✔ | ✔ | ✔ |
NDI on Windows covers x86 and x64; it is not available in a native Windows ARM64 process. NDI is not available on iOS: the SDK's iOS GStreamer runtime does not include the NDI plugin. On Android, NDI receive works once the vendor's NDI SDK library (libndi.so) is packaged with the app, and the SDK finds it at runtime; NDI output is not available on Android.