Free now2sdk Core is completely free — no license key required   See what's included →
SDK Modules Docs Release Notes Pricing GitHub
Get the SDK →
SDK Reference

SDK Modules
Reference

21 C++ classes. One pattern: LObject sources produce frames — connect them to any number of LSink targets. LPreview handles the screen. No boilerplate.

Source = LObject Router Sink = LSink Preview ✓ Free € Licensed
Filtering
LFilter
Dynamic FFmpeg filter graph wrapper
Source Free

Dynamic filter graph wrapper derived from LObject. Manages real-time audio or video filter configurations, enabling developers to build and modify standard FFmpeg filter chain strings dynamically at runtime. When bound to LFile or LLive, enables real-time adjustments such as color corrections, audio delay alignments, and volume manipulation without restarting the playout pipeline.

FFmpeg filter chains Real-time color correction Audio delay alignment Volume manipulation LObject compatible
Sources — LObject
LFile
FFmpeg-based media file player
Source Free

Full-featured media file player built on FFmpeg. Supports any container and codec FFmpeg can decode. Provides millisecond-precise seeking, In/Out points, variable playback rate, timecode overlay, audio gain and FFmpeg filter chains. Loop mode and EOF-hold keep the last frame frozen on end.

MP4 · MKV · MOV · MXF · TS · AVI Millisecond seek In / Out points Loop mode eof_hold Audio gain Timecode Variable rate
LLive
Blackmagic DeckLink SDI/HDMI & NDI® capture
Source Free

Hardware live input source. Captures from Blackmagic DeckLink SDI/HDMI cards and NewTek NDI® streams on the local network. Supports GPU decode, embedded timecode extraction, software normalization and FFmpeg filter graphs. Enumerate available devices and formats at runtime.

DeckLink SDI / HDMI NDI® IP capture GPU decode Timecode Format enumeration Audio normalization
LStreamPlay
Network stream receiver & playback decoder
Source Free

Network stream receiver and playback decoding engine derived from LObject. Captures, demuxes, decodes, scales, and plays out network streams such as RTSP, RTMP, SRT, UDP, and HTTP live feeds in real time. Routes decoded video and audio frames to downstream sinks like LPreview, switcher buses, or recording blocks.

RTSP / RTMP / SRT UDP / HTTP streams Demux & decode LObject compatible Low-latency ingest
LCharacter
Cairo vector CG engine
Source Free

Professional character generator powered by Cairo 2D vector graphics. Create lower-thirds, full-screen graphics, auto-scrolling news tickers, crawls, live clock overlays and countdown timers. Supports image and video overlays with alpha compositing. All elements update in real-time without frame drops.

Lower thirds Auto-scroll ticker Live clock Countdown timer Image overlay Video overlay Alpha composite
LSignal
Test signal and color generator
Source Free

Static signal source. Generate a solid color frame or display a standby image. Commonly used as a black/slate source, fallback when no signal is present, or as a background layer in LMixer. Produces frames at the configured resolution and frame rate continuously.

Solid color (hex) Standby image Black source Configurable FPS
LReader
Media metadata probing engine
Utility Free

High-performance media analysis and metadata probing engine using FFmpeg's libavformat and libavcodec interfaces. Inspects media files, parses demuxer headers, and resolves stream parameters without decoding raw video or audio payload — making it near-instantaneous. Designed to safely run in worker threads to populate media playlists, validate resolution standards, and extract start/end timecodes.

libavformat probing No decode overhead Thread-safe Timecode extraction Playlist population
LAnimation
ThorVG-powered Lottie engine
Source € Licensed

Lottie JSON animation renderer powered by ThorVG. Load any Lottie file and inject dynamic data — text, colors, images — at runtime without re-exporting. Perfect for branded lower-thirds, animated bugs, score overlays, and data-driven broadcast graphics. Renders as a compositable LObject source.

Lottie JSON Runtime text injection Color override Image replacement ThorVG renderer License key
Routing
LMixer
OpenGL GPU multi-layer compositor
Router Free

Hardware-accelerated GPU compositor. Stack multiple LObject sources as layers with per-layer position, size, alpha, crop, border-radius, border color and Z-order. The compositor output is an LObject itself and can be routed to any sink. Used for picture-in-picture, lower-third burn-in and full broadcast scene composition.

Unlimited layers Alpha blending Position / Size Crop & border-radius Z-order OpenGL GPU
LAudioMixer
Multi-channel audio mixer & monitoring
Router Free

High-performance multi-channel audio mixer. Connect multiple audio-capable sources (LFile, LLive, etc.), resample and mix them dynamically to 48kHz Stereo 16-bit PCM. Includes per-channel gain, channel mute controls, master output volume, master mute, and real-time left/right VU peak meters.

Multi-channel input Dynamic resampling Volume ducking Channel mute Master gain / mute VU peak meters
LSwitcher
Professional A/B program switcher
Router € Licensed

Broadcast-grade A/B video switcher with dedicated PREVIEW and PROGRAM buses. Supports Cut, Fade, Wipe and Stinger transitions. Built-in CG overlay burn-in so character generator graphics are composited directly into the program output. Accepts any LObject source on both buses and outputs to multiple LSink targets simultaneously.

PRV / PGM buses Cut / Fade / Wipe Stinger transitions CG burn-in Multi-sink output License key
LMultiview
Broadcast Multi-view grid compositor
Router € Licensed

Multi-channel video grid compositor for professional monitoring. Setup custom grid layouts with Program, Preview, and up to 12 camera sources on one screen. Built-in tally indicators (Red for PGM, Green for PVW), channel title labels, and real-time dual-channel audio peak VU meters per grid cell. Computes layout on offscreen OpenGL context for high-performance rendering.

Grid configurations Tally borders Audio VU peak meters OpenGL GPU acceleration Custom channel labels License key
Sinks — LSink
LRecorder
Async FFmpeg file recorder
Sink Free

Non-blocking file recorder sink. Connect any LObject source and record to MP4, MKV, MOV or MXF with full codec control. Supports software (libx264, libx265) and hardware-accelerated (NVENC, VAAPI) encoding. Provides live stats: file size, elapsed time, current FPS. Pause and resume recording without dropping frames.

MP4 / MKV / MOV / MXF libx264 / NVENC / VAAPI AAC / Opus audio Live stats Pause / Resume Non-blocking
LStream
RTMP / SRT / NDI live streamer
Sink Free

Live broadcast streamer sink. Push encoded video to RTMP ingest (YouTube, Twitch, custom), SRT receivers, or NDI output on the local network. Clone-to-disk support lets you record and stream simultaneously from the same source. Full codec and bitrate control with live stats.

RTMP SRT NDI output Clone to disk Stream key Live stats
LOutput
Blackmagic DeckLink SDI/HDMI playout sink
Sink Free

Hardware output sink for Blackmagic DeckLink cards. Route any LObject source directly to a physical SDI or HDMI output. Enumerate cards, channels and video formats at runtime. Toggle live transmission with setEnabled(). Live stats expose frame rate, resolution, displayed and dropped frame counts.

DeckLink SDI / HDMI Format auto-map Device enumeration setEnabled() ON AIR OutputStats
LFrame
Raw CPU frame grabber & S16 PCM audio puller
Sink Free

Raw frame grabber sink. Pulls YUV-to-RGBA converted video frames and S16 PCM audio frames directly into memory for custom application processing (e.g. computer vision, custom effects, NDI/WebRTC forwarding). Non-blocking queue ensures rendering pipeline is never stalled.

YUV → RGBA conversion S16 PCM audio pull Memory frame buffer Computer vision / AI ready Lock-free async queue
LConvert
Offline media transcoder & file converter
Utility Free

High-performance offline media transcode and file conversion engine based on FFmpeg. Reads one or multiple input media files (MP4, MKV, MOV, etc.), decodes them, applies scaling/resampling format conversions, and encodes them into a single merged output file with precise codec, bitrate, and container parameters. Ideal for exporting/merging playlist files, offline proxy generation, and rendering finished video packages.

Multi-file input MP4 / MKV / MOV x264 / NVENC / VAAPI Scale & resample Proxy generation
LStinger
PNG image-sequence stinger transition engine
Sink € Licensed

Animated stinger transition engine for LSwitcher. Load a PNG image sequence and trigger smooth animated transitions between program sources. Stingers are synchronized with the switcher cut point so the transition covers the cut frame-accurately. Requires a valid license file.

PNG sequence LSwitcher integration Frame-accurate cut License key
LReplay
Instant replay engine
Sink € Licensed

Professional instant replay engine for sports broadcast and live production. Continuously buffers incoming frames and plays them back at variable speed on demand. A license key is required to unlock clean output. Without a license, operates in demo/watermark mode.

Continuous buffer Variable speed Sports broadcast License file Demo/watermark mode
Preview
LPreview
User-facing preview class — wraps Qt6 & GTK4 widgets
Sink Free

This is the class you use in your application. LPreview manages a GPU-accelerated preview window that renders any LObject source. It internally creates and manages either an LVideoWidget (Qt6 QOpenGLWidget) or LVideoWidgetGTK (GTK4) — you never instantiate these directly. Supports audio VU meters, real-time timecode overlay, SDL2 audio playback and audio_meter visualization.

Qt6 OpenGL (LVideoWidget) GTK4 GPU (LVideoWidgetGTK) VU meter Timecode overlay SDL2 audio GPU YUV→RGB
Modular plugins — loaded via dlopen
LVideoWidget — Qt6 QOpenGLWidget with YUV shader (packaged in libnow2sdk_qt.so)
LVideoWidgetGTK — GTK4 equivalent using GdkTexture + GtkOverlay (packaged in libnow2sdk_gtk.so)
Both are loaded automatically at runtime by LPreview based on the ui_framework property.
System & Config
LFormat
Format normalization core
Utility Free

Format normalization core of the SDK (LFormat.h). Establishes a uniform, hardware-agnostic standard for video dimensions, frame rates, pixel configurations, and audio channels. Every processing module — including LFile, LLive, LMixer, LSwitcher, LConvert and LRecorder — uses these format structures to align and process audio/video data.

Video dimensions Frame rates Pixel config Audio channels Hardware-agnostic
LLicenseManager
License validation & watermark engine
System Free

Central license verification engine of the SDK. Provides a modular licensing strategy where individual premium components (LReplay, LAnimation, LSwitcher, LStinger) are validated independently. If a module is not licensed or its support contract has expired, enforces licensing policies by rendering a visual watermark directly onto video frames in memory.

License verification Per-module validation Support contract check Watermark enforcement Demo mode