Table of Contents

Overview

The VASTreaming libraries provide a comprehensive .NET and C++ framework for building professional media streaming applications. Whether you need to capture video from cameras, stream content over RTSP/RTMP/HLS, transcode between formats, or build a complete multi-protocol streaming server, VASTreaming offers the tools to accomplish these tasks with minimal code and maximum performance.

What You Can Build

With VASTreaming libraries, developers can create:

  • Streaming Servers - Multi-protocol servers supporting RTSP, RTMP, SRT, HLS, MPEG-DASH, WebRTC and WebTransport simultaneously
  • Media Players - Custom video players with support for various streaming protocols and codecs
  • IP Camera Integrations - Connect to and manage IP cameras via RTSP and ONVIF protocols
  • Recording Solutions - Record live streams to MP4, transport stream, or other container formats
  • Transcoding Pipelines - Convert between codecs and formats with hardware acceleration support
  • Live Broadcasting - Capture from cameras, screens, or applications and broadcast to streaming platforms
  • Video Conferencing - Low-latency two-way communication using WebRTC

Key Features

  • Cross-Platform - Supports Windows, Linux, macOS, Android, and iOS
  • Multiple Protocols - RTSP, RTMP, SRT, HLS, LL-HLS, MPEG-DASH, WebRTC, WebTransport, multicast UDP
  • Extensive Codec Support - H.264, H.265/HEVC, AAC, MP3, Opus, and many more
  • Hardware Acceleration - Leverage NVIDIA CUDA, Intel Quick Sync, and platform-native APIs
  • Low Latency - Optimized for real-time streaming with typical latencies of 200-300ms on LAN, down to under 100ms in special cases
  • High Performance - Handle thousands of concurrent connections on server applications
  • Easy Integration - Clean API design with comprehensive documentation and samples

Getting Started

If you are new to VASTreaming, we recommend reading the documentation in the following order:

  1. Terminology - Familiarize yourself with common terms and abbreviations used throughout the documentation
  2. Supported Platforms - Understand which platforms and .NET versions are supported
  3. List of Libraries - Learn about the available assemblies and their purposes
  4. Basic Principles - Understand the source/sink architecture and data flow concepts
  5. Core Primitives - Deep dive into the fundamental interfaces and classes

Quick Example

Here is a simple example that demonstrates recording from an RTSP camera to an MP4 file:

// Create a source from an RTSP camera
var source = VAST.Media.SourceFactory.Create("rtsp://camera-ip/stream");

// Create an MP4 sink for file writing
var sink = VAST.Media.SinkFactory.Create("/path/to/file.mp4");

// Use MediaSession to connect source to sink
var session = new VAST.Media.MediaSession();
session.AddSource(source);
session.AddSink(sink);

// Start streaming and recording
session.Start();

Documentation Structure

This documentation is organized into the following sections:

  • Getting Started - Introduction, concepts, and fundamental principles
  • Assemblies - Detailed documentation for each VASTreaming library
  • Sample Applications - Detailed documentation for each VASTreaming library
  • Reference - Browse the Libraries Reference for detailed API documentation generated from source code

The information contained in this document is accurate and complete for the version described. The specifications are subject to change without notice. VASTreaming Team reserves all rights to make changes and updates as required. Users are strongly recommended to use the latest version.

VASTreaming acknowledges all trademarks and registered trademarks contained in this document.