Video SDK for Encoding, Decoding and Transcoding

The AVBlocks Video SDK is a cross-platform library for building video encoding, decoding and transcoding into your own applications. It is available for C++, .NET (C#, VB, F#) and Python, and runs on Windows, macOS and Linux.

Unlike real-time streaming SDKs, AVBlocks is a file-based video SDK: you give it a source file or stream, set an output format and codec, and it produces a finished media file — ideal for transcoding services, batch converters, media servers and post-production tools.

What you can build with the Video SDK

  • Video transcoding services — convert between MP4, MPEG-TS, WebM, AVI and more.

  • Batch video converters — process large libraries with a consistent API.

  • Encoding pipelines — encode raw frames to H.264, H.265/HEVC, VP9 or MPEG-2.

  • Decoding / playback tools — decode H.264, HEVC, VP9, MPEG-2, VC-1 and others.

  • Video processing — resize, crop, de-interlace, overlay images and change frame rate or bitrate.

Supported video codecs

Codec

Encode

Decode

H.265 / HEVC

✓ (NVIDIA GPU)

H.264 / AVC

VP9

VP8

MPEG-4 Part 2

MPEG-2

MPEG-1

VC-1

H.263

H.261

MJPEG

Windows Media Video

✓ (Windows only)

Output containers

MP4 (with FastStart), MPEG-2 Transport Stream, MPEG-2 Program Stream, WebM / Matroska, AVI and more.

Video processing (transcoding & transforms)

  • Resize / scale video

  • Crop video

  • De-interlace video

  • Image overlay (watermark / logo)

  • Change frame rate

  • Change bitrate

Get started

Looking for audio? See the Audio SDK. Need to convert whole files between formats? See the Transcoding SDK.