Media Streaming Libraries for .NET, .NET Core and UWP


Intoduction

VASTreaming offers number of streaming libraries for full .NET, .NET Core and UWP. In some cases, it’s an extended and flexible implementation of already existing protocols, such as HLS. Otherwise it’s a functionality missing in standard .NET framework, such as RTMP.

RTMP

RTMP is an old protocol, owned by Adobe and tightly bound to Flash technology from the very beginning of its existence. Even though Flash has been deprecated after dominating over the content rich web for many years, RTMP is still alive. It is due to the fact that RTMP supports so-called publishing when a live media stream is pushed by a client to a server for further distribution. Many modern protocols lack this publishing feature.

Starting from the Flash days, existing server infrastructure still uses RTMP and will be using it for a long time. YouTube, Facebook, Twitch - you name it, all of them use RTMP ingestion for live streams. If a future app is expected to provide their user with a feature of publishing video streams in social networks, it should use RTMP. Therefore, investing into a RTMP library is not a waste of money but quite the opposite. In fact, it guarantees the compatibility with most popular content distribution networks.

VASTreaming RTMP library for .NET provides the ability to publish a live stream to RTMP server, pull and watch a stream from RTMP server as well as run RTMP server with the ability to ingest published streams and re-distribute streams to connected clients. See RTMP library page for more details about the protocol itself as well as our implementation details and specifics.

RTSP and RTP

RTP and RTSP are among the oldest streaming protocols. But they are still actively used because of such protocol features as low latency (in regard of RTP) and support of so-called publishing (in regard of RTSP) when a live media stream is pushed by a client to a server for further distribution. Many modern protocols lack this publishing feature, because already created ones work well enough covering all needs for video streaming software development.

RTSP found wide adoption in security while RTP is actively used in VoIP. Even the relatively fresh WebRTC utilizes RTP as a media transport. So, there is no lack of applications for both RTSP and RTP protocols. Their wide popularity guarantees wide compatibility for new software products using them.

VASTreaming RTSP library for .NET provides the ability to publish a live stream to RTSP server, pull and watch a stream from RTSP server as well as run RTSP server with the ability to ingest published streams and re-distribute streams to connected clients. See RTSP library page for more details about the protocol itself as well as our implementation details and specifics.

HLS and TS

HLS was developed by Apple and earned its widespread popularity due to a relative simplicity and most of all because of the usage of the HTTP as a transport protocol. This simple decision allowed streaming reception in every location where the web is available. However, HLS has its own limitations and the biggest drawback is the protocol’s one-way direction: there is no method specified to publish a stream to HLS server. Despite of that for now HLS is among the most used streaming protocols and supported natively on many platforms.

Transport stream (TS) is not a streaming protocol but a media format most suitable for streaming or media transmission systems. HLS as well as other protocols, most notably MPEG-DASH utilizes TS for media data segments. In addition to that TS itself can be used for direct streaming via multicast or even via pushing it by HTTP server (so-called TS over HTTP).

The wide popularity of HLS and TS guarantees wide compatibility for new software products using them.

VASTreaming HLS and TS library for .NET provides the ability to pull and watch the stream from a server as well as run HLS server. In addition, VASTreaming TS library for .NET allows to decode transport stream received by any other means, for example as a file or RTP payload. See HLS library page for more details about the protocol itself as well as our implementation details and specifics.

WebRTC

VASTreaming WebRTC wrapper for .NET utilizes Google's native implementation of WebRTC protocol and provides WebRTC communication for .NET application. Custom signaling HTTP/HTTPS server is also available.

Supported one-way media data flow, i.e. broadcasting to one or more peers as well as two-way media data flow, i.e. peers exchange media data.

Capture and Encoding

VASTreaming streaming library for .NET, in addition to streaming itself, provides built-in functionality to capture and encode from almost any client device. Camera, microphone, screen capture, or any other media can be used as a source for live streaming.

MP4

VASTreaming MP4 library for .NET is a flexible and highly configurable library to read and write MP4 files and MP4 fragments. It’s suitable for customers not satisfied with the functionality of the existing MP4 readers/writers.

Among the advanced features of the VASTreaming MP4 library for .NET are:



Implementation

VASTreaming streaming library for .NET is written in C# for maximum compatibility and easiest integration into existing Visual Studio solutions. Certain parts of the code are written in C++ for flawless integration with Windows specific Media Foundation or Google’s native WebRTC code.

Most functionality is available under .NET Core standard except Windows specifics, such as capture and playback/visualization.

For customer needs, any custom streaming features could be easily implemented with this library, including streaming protocol extensions.

Don't hesitate to contact us to request a demo applications and a demo projects.

contact us

info@vastreaming.net