#
Getting started
This guide will help you get started with the Media Blocks SDK .Net.
#
Installation
The SDK is available as a NuGet package. You can install it using the following command:
dotnet add package VisioForge.DotNet.MediaBlocks
Please check the general installation guide for your platform for more information.
#
SDK initialization
First, we need to initialize the SDK.
using VisioForge.Core;
VisioForgeX.InitSDK();
#
Pipeline creation
Now, we can create a core of our application - the Pipeline.
using VisioForge.Core.MediaBlocks;
private MediaBlocksPipeline _pipeline;
_pipeline = new MediaBlocksPipeline();
We are working with a live stream and must set the live
parameter to true
.
To handle the pipeline errors, you can subscribe to the OnError
event.
_pipeline.OnError += (sender, args) =>
{
Console.WriteLine(args.Message);
};
Also, you can subscribe to the OnStart
and OnStop
events.
#
Adding blocks
Let's add some blocks to the pipeline.
Add the virtual video source block:
private VirtualVideoSourceBlock _virtualSource;
_virtualSource = new VirtualVideoSourceBlock(new VirtualVideoSourceSettings());
Add the video renderer block to show our video on the screen. Depending on the platform, you'll add a VideoView
control to your window from the UI NuGet package for your platform (for example, VisioForge.DotNet.Core.UI.WPF
for WPF).
private VideoRendererBlock _videoRenderer;
_videoRenderer = new VideoRendererBlock(_pipeline, VideoView1);
The VideoRendererBlock
constructor has two parameters: the pipeline and the VideoView
control to render the video.
#
Connecting blocks
Now, we need to connect the blocks.
_pipeline.Connect(_virtualSource.Output, _videoRenderer.Input);
Each block has an Output
and an Input
property. You can connect the blocks using the Connect
method.
Depending on the block type, it may have multiple inputs and outputs.
#
Start the pipeline
To start the pipeline, call the StartAsync
method.
await _pipeline.StartAsync();
You'll see the video from the virtual source on the screen.
#
Stop the pipeline
To stop the pipeline, call the StopAsync
method.
await _pipeline.StopAsync();
#
Destroy the pipeline
To destroy the pipeline, call the Dispose
method.
_pipeline.Dispose();
#
De-initialize the SDK
Don't forget to de-initialize the SDK when the app exits.
VisioForgeX.DestroySDK();
#
Samples
More samples are available on GitHub