ByteScout Screen Capturing SDK - C++ (unmanaged) - Capture Video And Add Time Stamp - ByteScout

ByteScout Screen Capturing SDK – C++ (unmanaged) – Capture Video And Add Time Stamp

  • Home
  • /
  • Articles
  • /
  • ByteScout Screen Capturing SDK – C++ (unmanaged) – Capture Video And Add Time Stamp

How to capture video and add time stamp in C++ (unmanaged) using ByteScout Screen Capturing SDK

This code in C++ (unmanaged) shows how to capture video and add time stamp with this how to tutorial

The code below will help you to implement an C++ (unmanaged) app to capture video and add time stamp. What is ByteScout Screen Capturing SDK? It is the tool for developers who want to add screen capturing in their application. Can record screen into video and into single screenshots. Output formats are WMV, AVI, WebM for video and PNG for screenshots. You can adjust output video size, quality, resolution, framerate, video and audio codecs. Includes special privacy features for blacking out sensitive information on screen. Can also capture video from web camera, can add overlays with text or images. It can help you to capture video and add time stamp in your C++ (unmanaged) application.

This rich sample source code in C++ (unmanaged) for ByteScout Screen Capturing SDK includes the number of functions and options you should do calling the API to capture video and add time stamp. In your C++ (unmanaged) project or application you may simply copy & paste the code and then run your app! Enjoy writing a code with ready-to-use sample codes in C++ (unmanaged).

You can download free trial version of ByteScout Screen Capturing SDK from our website to see and try many others source code samples for C++ (unmanaged).

Try ByteScout Screen Capturing SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

CaptureFromEntireScreen.cpp
      
// CaptureFromEntireScreen.cpp : Defines the entry point for the console application. // #include "stdafx.h" #import "BytescoutScreenCapturing.dll" using namespace BytescoutScreenCapturingLib; using namespace std; void usage(ICapturer* capturer); void setParams(int argc, _TCHAR* argv[], ICapturer* capturer); int _tmain(int argc, _TCHAR* argv[]) { ::CoInitialize(0); // Create Capturer instance CLSID clsid_ScreenCapturer; CLSIDFromProgID(OLESTR("BytescoutScreenCapturing.Capturer"), &clsid_ScreenCapturer); ICapturer* capturer = NULL; ::CoCreateInstance(clsid_ScreenCapturer, NULL, CLSCTX_ALL, __uuidof(ICapturer), (LPVOID*)&capturer); if (!capturer) { _ftprintf(stdout, _T("Screen Capturer is not installed properly.")); ::CoUninitialize(); return 1; } capturer->put_RegistrationName(_T("demo")); capturer->put_RegistrationKey(_T("demo")); // Set capturing type capturer->put_CapturingType(catScreen); // Set output video width and height capturer->put_OutputWidth(640); capturer->put_OutputHeight(480); // WMV and WEBM output use WMVVideoBitrate property to control output video bitrate // so try to increase it by x2 or x3 times if you think the output video are you are getting is laggy // capturer->put_WMVVideoBitrate(capturer->WMVVideoBitrate * 2); // set the text overlay with autochanging time stamp macros to indicate playing time and current date time capturer->OverlayingRedTextCaption = _T("Recording: {RUNNINGMIN}:{RUNNINGSEC}:{RUNNINGMSEC} on {CURRENTYEAR}-{CURRENTMONTH}-{CURRENTDAY} at {CURRENTHOUR}:{CURRENTMIN}:{CURRENTSEC}:{CURRENTMSEC}"); // uncomment to enable recording of semitransparent or layered windows (Warning: may cause mouse cursor flickering) // capturer->CaptureTransparentControls = true; // Set output file name capturer->OutputFileName = _T("Output.wmv"); // Start capturing HRESULT hr = capturer->Run(); // IMPORTANT: if you want to check for some code if need to stop the recording then make sure you are // using Thread.Sleep(1) inside the checking loop, so you have the loop like // Do // Thread.Sleep(1) // While StopButtonNotClicked if (FAILED(hr)) { // Error handling CComBSTR s; capturer->get_LastError(&s); _ftprintf(stdout, _T("Capture failed: %s\n"), CString(s)); } else { _tprintf(_T("Starting capture - Hit a key to stop ...\n")); int i = 0; TCHAR *spin = _T("|/-\\"); // Show some progress while (!_kbhit()) { _tprintf(_T("\rEncoding %c"), spin[i++]); i %= 4; Sleep(50); } // Stop after key press capturer->Stop(); _tprintf(_T("\nDone.")); getchar(); } // Release Capturer capturer->Release(); capturer = NULL; ::CoUninitialize(); return 0; }

Try ByteScout Screen Capturing SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

stdafx.cpp
      
// stdafx.cpp : source file that includes just the standard includes // CaptureFromEntireScreen.pch will be the pre-compiled header // stdafx.obj will contain the pre-compiled type information #include "stdafx.h" // TODO: reference any additional headers you need in STDAFX.H // and not in this file

Try ByteScout Screen Capturing SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

stdafx.h
      
// stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #pragma once #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. #endif #include <stdio.h> #include <tchar.h> #include <atlbase.h> #include <atlstr.h> #include <conio.h>

Try ByteScout Screen Capturing SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

VIDEO

ON-PREMISE VERSION INFORMATION

Get 60 Day Free Trial or Visit ByteScout Screen Capturing SDK Home Page

Explore ByteScout Screen Capturing SDK Documentation

Get ByteScout Screen Capturing SDK Free Training

WEB API

Get Your Free API Key

Explore Web API Documentation

Tutorials:

prev
next