Table of Contents

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.