Code samples on recording video from the region on the screen:
Code samples below are demonstration use of Screen Capturing SDK for screen video recording from a predefined region on screen. The region is defined through the following properties: CaptureRectLeft, CaptureRectTop, CaptureRectWidth, CaptureRectHeight.
The sound track for the video is recorded from default recording line by default (if user need to record voice comments then you should change audio line to Mic line source)
1) Visual Basic .NET
Create new VB.NET Console project in Visual Studio. Click Project | Add Reference.. and add the reference to Bytescout Screen Capturing Lib on the COM tab and click OK. Then use the code snippet below.
Imports System.Threading
Imports System.Diagnostics
Imports BytescoutScreenCapturingLib ' import bytescout screen capturer activex object
Module Module1
Sub Main()
' create capturer class
Dim capturer As New CapturerClass()
' set capturing area to the region type (to capture from given region on the screen)
capturer.CapturingType = CaptureAreaType.catRegion
' output video filename
capturer.OutputFileName = "GivenRegionCaptured.avi"
' set coordinates of the region to capture video from
capturer.CaptureRectLeft = 50
capturer.CaptureRectTop = 50
capturer.CaptureRectWidth = 640
capturer.CaptureRectHeight = 480
' set width and height of output video
capturer.OutputWidth = 320
capturer.OutputHeight = 240
' start capturing
capturer.Run()
' wait for 10 seconds
Thread.Sleep(10000)
' stop capturing and flush AVI video file into the disk
capturer.Stop()
' open the output video
Process.Start("GivenRegionCaptured.avi")
End Sub
End Module
2) Visual C# .NET
Create new C# Console project in Visual Studio. Click Project | Add Reference.. and add the reference to Bytescout Screen Capturing Lib on the COM tab and click OK. Then use the code snippet below.
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Diagnostics;
using BytescoutScreenCapturingLib; // import bytescout screen capturing activex object
namespace SimpleCaptureCSharp
{
class Program
{
static void Main(string[] args)
{
CapturerClass capturer = new CapturerClass(); // create new screen capturer object
capturer.CapturingType = CaptureAreaType.catRegion; // set capturing area type to catRegion to capture from the given region
capturer.OutputFileName = "RegionCapture.avi"; // set output video filename
capturer.CaptureRectLeft = 100; // set left coordinate of the rectangle region to record video from
capturer.CaptureRectTop = 100; // set top coordinate of the rectangle region to record video from
capturer.CaptureRectWidth = 640; // set width of the rectangle region to record video from
capturer.CaptureRectHeight = 480; // set height of the rectangle region to record video from
// set output video width and height
capturer.OutputWidth = 320;
capturer.OutputHeight = 240;
capturer.Run(); // run screen video capturing
Thread.Sleep(15000); // wait for 15 seconds
capturer.Stop(); // stop video capturing
Process.Start("RegionCapture.avi");
}
}
}
3) Visual Basic 6 and VBScript (VBS)
' create video capturer activex object
Set capturer = CreateObject("BytescoutScreenCapturing.Capturer")
' set output video file name
capturer.OutputFileName = "CaptureScreenVbs.avi"
' set capturing type to the caRegion =0 to capture the given region
capturer.CapturingType = 0
' set left coordinate of the rectangle to capture from
capturer.CaptureRectLeft = 100
' set top coordinate of the rectangle to capture from
capturer.CaptureRectTop = 100
' set width of the rectangle to capture from
capturer.CaptureRectWidth = 320
' set height of the rectangle to capture from
capturer.CaptureRectHeight = 240
MsgBox "This script will record video from the screen from region (100,100, 420, 350) for 10 seconds. Output video will go to PredefinedRegionCaptured.avi"
' run video capturing
capturer.Run()
' wait for 10 seconds (10000 msec)
WScript.Sleep(10000)
' stop capturing
capturer.Stop()
' destroy Capturer object so the video will be saved into the disk
Set capturer = Nothing