Supported Platforms
VASTreaming libraries are designed for cross-platform compatibility, available in both .NET and C++ implementations. This page describes supported platforms, frameworks, and hardware acceleration options.
.NET Libraries
The .NET libraries are written in C# and support a wide range of .NET versions:
| Framework | Versions | Use Case |
|---|---|---|
| .NET Framework | 4.5+ | Legacy Windows applications |
| .NET Standard | 2.0 | Cross-platform library compatibility |
| .NET | 6, 7, 8, 9, 10 | Modern cross-platform applications |
| ASP.NET Core | 6, 7, 8, 9, 10 | Web applications and streaming servers |
Supported Operating Systems
| Platform | Versions | Architectures |
|---|---|---|
| Windows | 10, 11, Server 2016+ | x86, x64, ARM64 |
| Linux | Ubuntu 20.04+, Debian 11+, RHEL 8+ | x86, x64, ARM64 |
| Android | 8.0 (API 26)+ | ARM64, ARM, x64, x86 |
| macOS | 12 (Monterey)+ | x64, Apple Silicon (ARM64) |
| iOS | 12.2 | ARM64 |
UI Frameworks
VASTreaming provides integration components for rendering video in desktop and mobile applications:
- .NET MAUI - Cross-platform applications for Windows, macOS, Android, and iOS
- WPF - Windows desktop applications with hardware-accelerated rendering
- WinForms - Windows desktop applications with DirectX or GDI+ rendering
- Razor - ASP.NET Core server-side web applications (Razor Pages, MVC) (limited features)
- Blazor - Web applications with WebAssembly support (limited features)
Hardware Acceleration
The .NET libraries support hardware-accelerated encoding and decoding through platform-specific extensions:
| Platform | Extension Assembly | Acceleration Technologies |
|---|---|---|
| Windows | VAST.Common.Ext.Win32 | Media Foundation, Direct3D |
| Linux | VAST.Common.Ext.Linux | N/A |
| Android | VAST.Common.Ext.Android | MediaCodec (hardware codecs) |
| macOS | VAST.Common.Ext.macOS | VideoToolbox (Apple Silicon and Intel) |
| iOS | VAST.Common.Ext.iOS | VideoToolbox |
C++ Libraries
The C++ codebase shares the same architecture as the .NET libraries and is available as native solutions for each platform:
Windows
- IDE: Visual Studio 2019 or later
- Architectures: x86, x64, ARM64
- Minimum OS: Windows 10
- UI Integration: None
Linux
- IDE: Visual Studio with remote debugging, CLion, or command-line build
- Architectures: x86, x64, ARM64
- Build System: CMake
- UI Integration: None
Android
- IDE: Android Studio
- Architectures: ARM64, ARM, x64, x86
- Minimum SDK: API 24 (Android 7.0) (limited features) or API 28 (Android 9.0) (all features)
- Language Bindings: JNI wrappers for Java and Kotlin integration
- UI Integration: Native Android views, Jetpack Compose
iOS and macOS
- IDE: Xcode 14 or later
- Architectures: ARM64 (iOS, Apple Silicon), x64 (Intel Mac)
- Minimum iOS: 13.0
- Minimum macOS: 10.15
- Language Bindings: Objective-C/Objective-C++ headers, Swift wrappers
- UI Integration: UIKit, SwiftUI, AppKit
C++ Feature Availability
Not all features are available on every platform. The following table summarizes key feature availability:
| Feature | Windows | Linux | macOS | Android | iOS |
|---|---|---|---|---|---|
| RTMP Server & Client | Yes | No | Yes | Yes | Yes |
| RTSP Server & Client | Yes | Yes | Yes | Yes | Yes |
| HLS Client | Yes | No | Yes | Yes | Yes |
| Transport Stream | Yes | No | Yes | Yes | Yes |
| WebRTC Protocol | Yes | No | Yes | Yes | Yes |
| Multi-protocol Server | Yes | No | No | No | No |
| MP4 Reader/Writer | Yes | No | Yes | Yes | Yes |
| Image Processing | Yes | No | Yes | Yes | Yes |
| Camera Capture | Yes | No | Yes | Yes | Yes |
| Hardware Decoding & Encoding | Yes | FFmpeg | Yes | Yes | Yes |
| Visualization & Playback | No | No | Yes | Yes | Yes |
If a feature you need is not available on your target platform or is not listed in this table, please contact us at info@vastreaming.net to discuss possible implementation options.
Documentation Scope
While the VASTreaming libraries share the same architecture across different implementations, this documentation focuses primarily on the .NET libraries. C++ developers can refer to the inline documentation and header files included with the C++ SDK, which follow the same concepts and patterns described here.