ScreenRecorderSDK 3.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package ScreenRecorderSDK --version 3.0.1                
NuGet\Install-Package ScreenRecorderSDK -Version 3.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ScreenRecorderSDK" Version="3.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ScreenRecorderSDK --version 3.0.1                
#r "nuget: ScreenRecorderSDK, 3.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ScreenRecorderSDK as a Cake Addin
#addin nuget:?package=ScreenRecorderSDK&version=3.0.1

// Install ScreenRecorderSDK as a Cake Tool
#tool nuget:?package=ScreenRecorderSDK&version=3.0.1                

ZD Screen Recorder SDK

High performance native APIs enable real-time recording of screens, webcams, bitmaps and audio with no system lag, compatible with C#, C++, and VB.NET, no dependencies on external runtime libraries or packages.

Introduction

ZD Screen Recorder SDK is a feature-rich screen recording software development library that empowers your software with advanced screen recording functionalities, including an innovative multi-source recording feature. By integrating this SDK, developers can swiftly implement professional-level screen recording capabilities, saving significant time and costs compared to developing such features from scratch. Opt for ZD Screen Recorder SDK to elevate your application's capabilities efficiently and cost-effectively. This SDK not only adds advanced features but also ensures stability, professional quality, and reduced maintenance efforts. It's an ideal solution for developers seeking to enhance their applications with cutting-edge recording technology, without the overhead of developing and maintaining complex recording features. Empower your application with ZD Screen Recorder SDK - the smart choice for modern, efficient, and easy-to-use screen recording solutions!

Getting Started

System requirements

  • OS: Microsoft Windows Vista / 7 / 8 / 8.1 / 10 / 11.
  • Programming languages: C# / VB.NET / Visual C++ / Delphi / C++Builder.
  1. Right-click on your project in the Solution Explorer, and then click on "Manage NuGet Packages...", this will open the NuGet Package Manager for your project.
  2. In the NuGet Package Manager window, you'll see a "Browse" tab by default. Here you can type in "screen recorder sdk" to search for the ScreenRecorderSDK NuGet package in the NuGet.org repository.
  3. Select the package and click the "Install" button next to the package version you want to use. You may need to accept the license agreement to confirm the installation. Review the package installation changes that will be made to your project, and then click "OK" to accept the changes.
  4. Incorporate the code snippet provided below into your project and proceed to build the solution to confirm that the NuGet package has been properly integrated into your project. Once the build is successful, you are ready to utilize the SDK's features in your project.

Download the SDK zip package directly from our official website and then install it manually

  1. Go to the SDK download page to download a standalone ZIP package of the SDK to your computer, and then extract it to a temporary folder.
  2. Copy the runtime binaries from the SDK's ScnLib\bin\x86\*.* for 32-bit systems and ScnLib\bin\x64\*.* for 64-bit systems into the corresponding execution directories of your project.
  3. Copy the appropriate header and library files from the SDK's ScnLib\include and ScnLib\lib directories to the source directories of your project, then incorporate them into your project through the IDE's project manager.
  4. Incorporate the code snippet provided below into your project and proceed to build it. This will verify that the SDK library has been correctly configured within your project's environment. Once the build is successful, you are ready to utilize the SDK's features in your project.

Example C# code for basic routines

  • Initialize the SDK at the start of the application (this should be executed only once during application startup).
ZDSoft.SDK.ScnLib_InitializeW("");
  • Initiate a regular screen recording session with the default settings, typically triggered in a button click event handler.
ZDSoft.SDK.ScnLib_StartRecording();
  • After a period of time, conclude the screen recording session, which is also commonly fired in a button click event handler.
ZDSoft.SDK.ScnLib_StopRecording();
  • Uninitialize the SDK during the application's shutdown process (this should be executed only once upon application shutdown).
ZDSoft.SDK.ScnLib_Uninitialize();
  • Browse the Videos folder, typically found at C:\Users\YourName\Videos\, to view the video you've just recorded.

Example C++ code for basic routines

  • Incorporate the .h and .lib files of the SDK into the main .cpp file.
#include "ScnLib.h"
#pragma comment(lib, "ScnLib.lib")
  • Initialize the SDK at the start of the application (this should be executed only once during application startup).
ScnLib_InitializeW(NULL);
  • Initiate a regular screen recording session with the default settings, typically triggered in a button click event handler.
ScnLib_StartRecording();
  • After a period of time, conclude the screen recording session, which is also commonly fired in a button click event handler.
ScnLib_StopRecording();
  • Uninitialize the SDK during the application's shutdown process (this should be executed only once upon application shutdown).
ScnLib_Uninitialize();
  • Browse the Videos folder, typically found at C:\Users\YourName\Videos\, to view the video you've just recorded.

Example VB.NET code for basic routines

  • Initialize the SDK at the start of the application (this should be executed only once during application startup).
ZDSoft.SDK.ScnLib_InitializeW("")
  • Initiate a regular screen recording session with the default settings, typically triggered in a button click event handler.
ZDSoft.SDK.ScnLib_StartRecording()
  • After a period of time, conclude the screen recording session, which is also commonly fired in a button click event handler.
ZDSoft.SDK.ScnLib_StopRecording()
  • Uninitialize the SDK during the application's shutdown process (this should be executed only once upon application shutdown).
ZDSoft.SDK.ScnLib_Uninitialize()
  • Browse the Videos folder, typically found at C:\Users\YourName\Videos\, to view the video you've just recorded.

Example Delphi code for basic routines

  • In the source files where you intend to utilize the SDK, include ScnLib in the uses section as follows:
uses Winapi.Windows, System.Classes, ..., ScnLib;
  • Initialize the SDK at the start of the application (this should be executed only once during application startup).
ScnLib_InitializeW('');
  • Initiate a regular screen recording session with the default settings, typically triggered in a button click event handler.
ScnLib_StartRecording();
  • After a period of time, conclude the screen recording session, which is also commonly fired in a button click event handler.
ScnLib_StopRecording();
  • Uninitialize the SDK during the application's shutdown process (this should be executed only once upon application shutdown).
ScnLib_Uninitialize();
  • Browse the Videos folder, typically found at C:\Users\YourName\Videos\, to view the video you've just recorded.

Advanced example C++ code snippet demonstrates how to conduct recording multiple webcams along with the main screen

// Switch the layout context to the main screen block and store the
// previous block index
int oldBlock = ScnLib_SetLayoutContext(0);

// Output a separate video for the main screen (OPTIONAL)
ScnLib_SetVideoPathW(L"C:\\Recordings\\Main Screen.mp4");

// Retrieve the main screen video resolution
int videoWidth = 0, videoHeight = 0;
ScnLib_GetVideoResolution(&videoWidth, &videoHeight);

// We are going to align 3 vertically stacked webcam views against 
// the right side of the main screen, each is 1/3 of the video height
videoHeight /= 3;
// We prefer webcam views with a 4:3 aspect ratio
videoWidth = videoHeight * 4 / 3;

// Switch the layout context to the webcam view block #1
ScnLib_SetLayoutContext(1);

// Output a separate video for the webcam #1 view (OPTIONAL)
ScnLib_SetVideoPathW(L"C:\\Recordings\\Webcam #1.mp4");

// Assuming there are more than 3 webcam devices connected to the PC, 
// select the first webcam device for the webcam #1 view
ScnLib_SelectWebcamDevice(0);

// Align webcam #1 view to the top right corner, offsetting it by its 
// width to the right so it appears adjacent to the main screen
ScnLib_SetWebcamPosition(SCNLIB_POSITION_TOP_RIGHT, -videoWidth, 0);
ScnLib_SetWebcamViewSize(videoWidth, videoHeight);

// Switch the layout context to the webcam view block #2
ScnLib_SetLayoutContext(2);

// Output a separate video for the webcam #2 view (OPTIONAL)
ScnLib_SetVideoPathW(L"C:\\Recordings\\Webcam #2.mp4");

// Assuming there are more than 3 webcam devices connected to the PC, 
// select the second webcam device for the webcam #2 view
ScnLib_SelectWebcamDevice(1);

// Align webcam #2 view to the right side, also offsetting it by its 
// width to the right so it appears adjacent to the main screen
ScnLib_SetWebcamPosition(SCNLIB_POSITION_RIGHT, -videoWidth, 0);
ScnLib_SetWebcamViewSize(videoWidth, videoHeight);

// Switch the layout context to the webcam view block #3
ScnLib_SetLayoutContext(3);

// Output a separate video for the webcam #3 view (OPTIONAL)
ScnLib_SetVideoPathW(L"C:\\Recordings\\Webcam #3.mp4");

// Assuming there are more than 3 webcam devices connected to the PC, 
// select the third webcam device for the webcam #3 view
ScnLib_SelectWebcamDevice(2);

// Align webcam #3 view to the bottom right corner, offsetting it by 
// its width to the right so it appears adjacent to the main screen
ScnLib_SetWebcamPosition(SCNLIB_POSITION_BOTTOM_RIGHT, -videoWidth, 0);
ScnLib_SetWebcamViewSize(videoWidth, videoHeight);

// Switch the layout context to the composition screen
ScnLib_SetLayoutContext(-1);

// Output a separate video for the composition screen
ScnLib_SetVideoPathW(L"C:\\Recordings\\Composition Screen.mp4");

// Restore to the previous layout context
ScnLib_SetLayoutContext(oldBlock);

// Start the recording session right now
ScnLib_StartRecording();

Help

Product Compatible and additional computed target framework versions.
native native is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.1.1 197 9/18/2024
3.1.0 148 8/7/2024
3.0.8 153 6/16/2024
3.0.7 148 4/26/2024
3.0.6 200 4/15/2024
3.0.5 271 3/29/2024
3.0.4 248 3/19/2024
3.0.3 203 3/12/2024
3.0.2 214 2/22/2024
3.0.1 230 1/30/2024
3.0.0 309 12/28/2023
2.2.5 295 11/13/2023
2.2.4 202 11/13/2023
2.2.3 253 11/13/2023
2.2.2 229 11/13/2023
2.2.1 174 11/13/2023
2.2.0 7,703 11/22/2022

- Optimized the functionalities of double-clicking and right-clicking the central crosshair and border of the capture region frame.
- Limited the movement and resizing of the capture region frame to ensure it does not extend beyond the desktop boundary.
- Fixed a small bug that could potentially lead to a stack overflow.