Leadtools.MediaFoundation Getting Started

Summary

For pointers to sample programs that demonstrate many features, see the table below: 

.NET
DirectShow\C
DirectShow\CPP
MediaFoundation\CPP
MediaStreaming\CPP

.NET

Redistributables Paths

Assembly - Class/Namespace Comments
Leadtools.MediaFoundation.dll - Leadtools.MediaFoundation

Demonstrates the capture and save-to-file capabilities of the Media Foundation toolkit.

Demonstrates the file-to-file conversion capabilities of the Media Foundation toolkit.

Demonstrates the play-files-from-disk capabilities of the Media Foundation toolkit.

A simple player demo that demonstrates the use of the Video Callback Transform of the Media Foundation toolkit, in C#.NET.

The Video Callback Transform is inserted automatically as a video processor when the demo starts.
You can choose one of the sample effects listed in the "Effects" menu.

Note: You must install the LEADTOOLS Imaging Pro SDK (or higher) to build this demo.

Dependencies

Library Description Dependencies
Leadtools.MediaFoundation.dll Core Library

Leadtools.dll


NuGet PackageDescription
N/ANot applicable

Sample Programs

Name Path Description
Callback \Examples\Multimedia\MediaFoundation\DotNet\CallbackDemo

Demonstrates the use of the callback filter by letting you do lots of different
effects to the video by manipulating the captured frame data.

Capture \Examples\Multimedia\MediaFoundation\DotNet\CaptureDemo

Capture video from the a selected source e.g(screen, webcam, etc).

  • Choose the type of encoder
  • Edit Capture Size
  • Use one of our filters
Convert \Examples\Multimedia\MediaFoundation\DotNet\ConvertDemo

Convert to any of our supported formats

  • Add video/audio recompression
  • Add video/audio processors and filters
Player \Examples\Multimedia\MediaFoundation\DotNet\PlayerDemo

Player demo demonstrates our main player using any one of our supported video formats or opening a stream.

Media Streaming Server Log Viewer \Examples\Multimedia\MediaStreaming\DotNet\LogViewerDemo

This demo provides a simple viewer for the LEADTOOLS Media Streaming Server's logfiles.

For more information about the LEADTOOLS Media Streaming SDK, click here.

Media Streaming Server \Examples\Multimedia\MediaStreaming\DotNet\ServerDemo

This demo provides both a standalone implementation of the LEADTOOLS Media Streaming server and a UI for configuring the Media Streaming Server Service implementation.

  • The Media Server can be used to stream audio and video files to a variety of devices using popular streaming methods, such as:
    • HTML5 video - for most web browsers (PC and mobile devices)
    • Adobe Flash RTMP - for any web browser that has Adobe Flash installed
    • Apple HTTP Live Streaming (HLS) - for Apple iPad / iPhone and Android devices
    • RTSP/RTP - for web browsers with the Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP (MPEG-2 transport) - for web browsers with Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP over HTTP - for web browsers with Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • Adobe HTTP Dynamic Streaming (HDS) - for most web browsers that have Adobe Flash installed
    • MPEG-DASH - for most web browsers that have Adobe Flash
    • Microsoft Smooth Streaming (SSF) - for web browsers with Microsoft Silverlight installed
  • For information on configuring and running the LEADTOOLS Media Streaming Server, click here.
  • For more information about the LEADTOOLS Media Streaming SDK, click here.
Media Streaming Server Service \Examples\Multimedia\MediaStreaming\DotNet\ServerServiceDemo

Implements a Windows service (with no UI) using the LEADTOOLS Media Streaming SDK to create a media streaming server.

  • The Media Server can be used to stream audio and video files to a variety of devices using popular streaming methods, such as:
    • HTML5 video - for most web browsers (PC and mobile devices)
    • Adobe Flash RTMP - for any web browser that has Adobe Flash installed
    • Apple HTTP Live Streaming (HLS) - for Apple iPad / iPhone and Android devices
    • RTSP/RTP - for web browsers with the Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP (MPEG-2 transport) - for web browsers with Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP over HTTP - for web browsers with Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • Adobe HTTP Dynamic Streaming (HDS) - for most web browsers that have Adobe Flash installed
    • MPEG-DASH - for most web browsers that have Adobe Flash
    • Microsoft Smooth Streaming (SSF) - for web browsers with Microsoft Silverlight installed
  • The Media Streaming Server Service can be configured using the UI created by the Media Streaming Server demo.
  • For information on configuring and running the LEADTOOLS Media Streaming Server, click here.
  • For more information about the LEADTOOLS Media Streaming SDK, click here.

DirectShow\C

Sample Programs

Name Path Description
Capture \Examples\Multimedia\DirectShow\C\Capture

Capture video from the a selected source e.g(screen, webcam, etc).

  • Choose the type of encoder
  • Edit Capture Size
  • Use one of our filters
cnvmem \Examples\Multimedia\DirectShow\C\CnvMem

Convert one video memory stream to another format

  • Add Filters
  • Adjust format specific settings
  • Add recompression
  • Save settings to use again
Convert \Examples\Multimedia\DirectShow\C\Convert

Convert one video format to another

  • Add Filters
  • Adjust format specific settings
  • Add recompression
  • Save settings to use again
ConvertToMobile \Examples\Multimedia\DirectShow\C\ConvertToMobile

Convert a video to a mobile format, such as ipod(MPEG4+AAC)

  • Select Resolution
GenAvi \Examples\Multimedia\DirectShow\C\GenAVI

Create an avi based on 30 bitmaps

H264Transcoder \Examples\Multimedia\DirectShow\C\H264Transcoder

This example demonstrates how to transcode an h.264 stream to an ISO (MP4) format,
without performing decoding and re-encoding, providing a faster method of conversion
for the following formats:

  • AVI - with H.264 video stream
  • MPEG2 Transport - with H.264 video stream.
  • OGG with H.264.

Note that for this demo to work, audio must be encoded as AAC.

Player \Examples\Multimedia\DirectShow\C\Player

Play a video from various sources, such as : file, stream, tcp/ip

  • Choose demultiplexer to use
  • add various video and audio processors
  • OGG with H.264.

DirectShow\CPP

Sample Programs

Name Path Description
Callbacka \Examples\Multimedia\DirectShow\CPP\AudCalBk

Demonstrates the use of the callback filter by letting you skip through the video frame by frame.

AudoReplace \Examples\Multimedia\DirectShow\CPP\AudioReplace

A simple one task demo that combines the video from one file and the audio from another.

AVDetection \Examples\Multimedia\DirectShow\CPP\AVDetection

A capture demo with motion and audio detection

  • Capture from various inputs
  • Use motion detection
  • Use audio detection
Callback \Examples\Multimedia\DirectShow\CPP\Callback

Demonstrates the use of the callback filter by letting you do lots of different
effects to the video by manipulating the captured frame data.

CallbackOpenGLRender \Examples\Multimedia\DirectShow\CPP\CallbackOpenGLRender

Demonstrates the use of the callback filter grabbing each frame and then using
OpenGL to render them.

CallbackRender \Examples\Multimedia\DirectShow\CPP\CallbackRender
Capture \Examples\Multimedia\DirectShow\CPP\Capture

Capture video from the a selected source e.g(screen, webcam, etc).

  • Choose the type of encoder
  • Edit Capture Size
  • Use one of our filters
CaptureDicom \Examples\Multimedia\DirectShow\CPP\CaptureDICOM

A capture demo that allows you to play existiing dicom files and capture new ones

CnvDV \Examples\Multimedia\DirectShow\CPP\CnvDV
CnvFlash \Examples\Multimedia\DirectShow\CPP\CnvFlash

Convert a video to flash video format using h.264 or h.263 encoder, add video and audio processors.

cnvmem \Examples\Multimedia\DirectShow\CPP\CnvMem

Convert a video to a variety of formats in memory. You can add audio and video recompression.

CnvWM \Examples\Multimedia\DirectShow\CPP\CnvWM
ConcatAndResize \Examples\Multimedia\DirectShow\CPP\ConcatAndResize

This demo allows you to concatenate video files and resize them.

ConcatSameSize \Examples\Multimedia\DirectShow\CPP\ConcatSameSize

This demo allows you to concatenate video files

Convert \Examples\Multimedia\DirectShow\CPP\Convert

Convert to any of our supported formats

  • Add video/audio recompression
  • Add video/audio processors and filters
ConvertKLV \Examples\Multimedia\DirectShow\CPP\ConvertKLV

Allows for metadata from UAV's using the KLV parsing standards.

Convert a video using one of the following recompressions:

    Video:
  • LEAD Mpeg2 Encoder
  • LEAD Mpeg4 Encoder
  • LEAD H.264 Encoder
  • LEAD H.265 Encoder
    Audio:
  • LEAD AC3 Encoder
  • LEAD MPEG Audio Encoder
  • LEAD AAC Encoder
  • PCM
  • Mpeg Layer-3
ConvertLTES \Examples\Multimedia\DirectShow\CPP\ConvertLTES

Demonstrates optimizing conversion by splitting it up into pieces that can be
converted parallel on a single machine or multiple machines, the demo does it sequentially for simplicity.

Convert a video to one of the following formats:

    Video:
  • WMV
  • WMV - LEAD Mux
  • ASF - LEAD Mux
  • AVI
  • DVSD-AVI
  • DICOM
  • MPEG-2-DICOM
  • MP3
  • Still Image
  • WAVE
  • Raw Stream
  • OGG
  • DVSD-OGG
  • MPEG-1 System
  • MPEG-2 Program
  • MPEG-2 Transport
  • DVD Image
  • ISO(MP4)
  • Flash(H263
  • Flash(H264)
  • MXF
  • DVSD-MXF
ConvertMMS \Examples\Multimedia\DirectShow\CPP\ConvertMMS
ConvertSSF \Examples\Multimedia\DirectShow\CPP\ConvertSSF

Convert to SSF our IIS smooth streaming format, it alternates formats
based on your connection speed to maximize streaming performance

ConvertToMediaServer \Examples\Multimedia\DirectShow\CPP\ConvertToMediaServer
ConvertToMobile \Examples\Multimedia\DirectShow\CPP\ConvertToMobile

Convert to a format compatible with one of the following mobile devices:

  • iPod
  • iPad
  • iPhone
  • PSP
  • Zen
  • Zune
  • Smartphone
  • Android
  • Windows Phone
ConvertWMS \Examples\Multimedia\DirectShow\CPP\ConvertWMS

Convert to WMV or ASF with a LEAD mux and store a script in the header or the stream.

DVDAuthor \Examples\Multimedia\DirectShow\CPP\DVDAuthor

Use this demo to create a DVD image with titles, and chapters.

Adjust the DVD settings, format, menu, compression, and encoders.

DVDBurner \Examples\Multimedia\DirectShow\CPP\DVDBurner

Use this demo to burn a DVD

DVR \Examples\Multimedia\DirectShow\CPP\DVR

Use this demo to capture video from a live source and then do a buffered playback.
Using our proprietary LBL file format you can read/write to the same file simultaneously.

GenAvi \Examples\Multimedia\DirectShow\CPP\GenAVI

Create an avi based on 30 bitmaps

GenAVIDX \Examples\Multimedia\DirectShow\CPP\GenAVIDX
H264Transcoder \Examples\Multimedia\DirectShow\CPP\H264Transcoder

This example demonstrates how to transcode an h.264 stream to an ISO (MP4) format,
without performing decoding and re-encoding, providing a faster method of conversion
for the following formats:

  • AVI - with H.264 video stream
  • MPEG2 Transport - with H.264 video stream.
  • OGG with H.264.

Note that for this demo to work, audio must be encoded as AAC.

LiveRTSPServer \Examples\Multimedia\DirectShow\CPP\LiveRTSPServer
MedaInfo \Examples\Multimedia\DirectShow\CPP\MediaInfo

Allows you to get info about a media file, general meta info
and video/audio information such as fps.

MPEG2 Transport \Examples\Multimedia\DirectShow\CPP\Mpeg2Transport

Play a mpeg2 file or open a tcp/udp stream

Also demonstrates use of the callback filter allowing you to go frame by frame

NetClient \Examples\Multimedia\DirectShow\CPP\NetClient

Connect with a stream from the NetServer and playback a live stream from a capture device.

NetServer \Examples\Multimedia\DirectShow\CPP\NetServer

Capture video from a capture device and host it to be streamed to a connection(try the NetClient).

Player \Examples\Multimedia\DirectShow\CPP\Player

Player demo demonstrates our main player using any one of our supported video formats or opening a stream.

Publish \Examples\Multimedia\DirectShow\CPP\Publish
Restreamer \Examples\Multimedia\DirectShow\CPP\Restreamer

Demonstrates how to stream an MPEG2 compatible file.

RTSPServer \Examples\Multimedia\DirectShow\CPP\RTSPServer

This demo demonstrates how to host a RTSP stream.

TvViewer \Examples\Multimedia\DirectShow\CPP\TvViewer
VOverlay \Examples\Multimedia\DirectShow\CPP\VOverlay

This demo demonstrates the video overlay, allowing you to overlay an image onto a video and control it's position and opacity.

ltmmNetClient \Examples\Multimedia\DirectShow\CPP\ltmmNetClient
ltmmNetServer \Examples\Multimedia\DirectShow\CPP\ltmmNetServer

MediaFoundation\CPP

Sample Programs

Name Path Description
Callback \Examples\Multimedia\MediaFoundation\CPP\Callback

Demonstrates the use of the callback filter by letting you do lots of different
effects to the video by manipulating the captured frame data built on Media Foundation.

Capture \Examples\Multimedia\MediaFoundation\CPP\Capture

Capture video from the a selected source e.g(screen, webcam, etc).

  • Choose the type of encoder
  • Edit Capture Size
  • Use one of our filters
Convert \Examples\Multimedia\MediaFoundation\CPP\Convert

Convert to any of our supported formats

  • Add video/audio recompression
  • Add video/audio processors and filters
Player \Examples\Multimedia\MediaFoundation\CPP\Player

Player demo demonstrates our main player using any one of our supported video formats or opening a stream.

TvViewer \Examples\Multimedia\MediaFoundation\CPP\TvViewer

MediaStreaming\CPP

Sample Programs

Name Path Description
Media Streaming Server Log Viewer \Examples\Multimedia\MediaStreaming\CPP\LogViewer

This demo provides a simple viewer for the LEADTOOLS Media Streaming Server's logfiles.

Media Streaming Server \Examples\Multimedia\MediaStreaming\CPP\Server

This demo provides both a standalone implementation of the LEADTOOLS Media Streaming server and a UI for configuring the Media Streaming Server Service implementation.

  • The Media Server can be used to stream audio and video files to a variety of devices using popular streaming methods, such as:
    • HTML5 video - for most web browsers (PC and mobile devices)
    • Adobe Flash RTMP - for any web browser that has Adobe Flash installed
    • Apple HTTP Live Streaming (HLS) - for Apple iPad / iPhone and Android devices
    • RTSP/RTP - for web browsers with the Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP (MPEG-2 transport) - for web browsers with Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP over HTTP - for web browsers with Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • Adobe HTTP Dynamic Streaming (HDS) - for most web browsers that have Adobe Flash installed
    • MPEG-DASH - for most web browsers that have Adobe Flash
    • Microsoft Smooth Streaming (SSF) - for web browsers with Microsoft Silverlight installed
  • For information on configuring and running the LEADTOOLS Media Streaming Server, click here.
  • For more information about the LEADTOOLS Media Streaming SDK, click here.
Media Streaming Server Service \Examples\Multimedia\MediaStreaming\CPP\ServerSvc

Implements a Windows service (with no UI) using the LEADTOOLS Media Streaming SDK to create a media streaming server.

  • The Media Server can be used to stream audio and video files to a variety of devices using popular streaming methods, such as:
    • HTML5 video - for most web browsers (PC and mobile devices)
    • Adobe Flash RTMP - for any web browser that has Adobe Flash installed
    • Apple HTTP Live Streaming (HLS) - for Apple iPad / iPhone and Android devices
    • RTSP/RTP - for web browsers with the Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP (MPEG-2 transport) - for web browsers with Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP over HTTP - for web browsers with Apple Quicktime or VLC RTSP plugin installed or any application that supports RTSP
    • Adobe HTTP Dynamic Streaming (HDS) - for most web browsers that have Adobe Flash installed
    • MPEG-DASH - for most web browsers that have Adobe Flash
    • Microsoft Smooth Streaming (SSF) - for web browsers with Microsoft Silverlight installed
  • The Media Streaming Server Service can be configured using the UI created by the Media Streaming Server demo.
  • For information on configuring and running the LEADTOOLS Media Streaming Server, click here.
  • For more information about the LEADTOOLS Media Streaming SDK, click here.

See Also

Assemblies Overview

Leadtools.Multimedia

Leadtools.MediaFoundation

Leadtools.MediaStreaming

Leadtools.MediaWriter

LMNetDmx

LMNetMux

LMNetSnk

LMNetSrc

LTDvdWriter

Reference

Supported Environments

Demos

LEADTOOLS Support Forums

LEADTOOLS Documentation

Unlocking Special LEAD

Technical Support

Introductions

Leadtools.MediaFoundation.CaptureCtrl

Leadtools.MediaFoundation.ConvertCtrl

Leadtools.MediaFoundation.PlayCtrl

Version History

Leadtools.MediaFoundation Assembly Changes

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.