Medialooks knowledge base

Guides, tips and code samples for our products.

Improved chroma key quality and auto-detection

We've made some notable improvements to our chroma keying tech – you will find the technical details in this post. The updates can be found in version 1.6.9.x or higher. Learn more...

H.264 and H.265 GPU-powered decoding

By default, all media files in our tools are decoded in software-only mode: your CPU will be used, which is not the best solution in some scenarios. MPlatform's Decoder Lib and the Expert edition of MFormats SDK offer two options for GPU-powered decoding: Nvidia's NVENC and Intel's Quick Sync. Learn more...

New indexing approach speeds up loading of MXF files

It previously took us up to several minutes to load certain MXF files – usually the ones with a missing index table. Basically, all this time is used to read the file and build the index table when the file is being opened. This problem is hardly noticeable on small MXF files, but turns into a big problem for our customers, when files reach several gigabytes. Learn more...

HTML5 Plugin: using properties to pass information to page

The HTML Plugin uses properties to share information with and to control the web page. Learn more...

Object properties: tips and tricks

If you've used Medialooks objects, you might have noticed that in addition to common configuration and initialization process, each Medialooks object has some special properties. This post talks about such properties and suggests some tips on how to use them. Learn more...

Transmitting long messages with WebRTC

The default limit of WebRTC message size is 24Kb. So everything above this limit was cut out and lost.  Learn more...

Character Generator: pausing the image sequence on a certain frame.

Except using image sequences as overlay items and frame rate control, the CG object allows you to control the playback and pause the image sequence on a certain frame.  Learn more...

Getting the audio data for VU meter level display with MFormats

A frame-based MFormats SDK architecture provides access to the data of each frame you process.  Learn more...

Performing the L-shaped items overlay using the CG in MPlatform and MFormats.

What is the L-shaped items overlay? Learn more...

WebRTC: TURN server deployment and usage

The TURN server is a part of WebRTC environment that transmits media traffic between peers if a direct peer-to-peer connection is not available (for example due to firewall restrictions).  Learn more...

WebRTC environment: signaling, STUN and TURN servers

The WebRTC technology allows browsers or applications transmit audio and video streams between each other directly, without a media server in between in most cases. Learn more...

WebRTC: transmitting the timecode data to the web page frame accurately.

Since MFormats version 1.2.1.8461 you are able to transmit the timecode data with MWebRTC object  by embedding it into the bottom line of each frame.  Learn more...

Frame accurate capture and playback of custom user data

Sometimes it's important to have some custom data to be stored with your video stream frame accurately. For example, camera ID, scene tags, coordinates, service information etc. With MPlatform and MFormats SDKs you can add this data to frames of the video stream.  Once you will add custom data to frames  you can capture them to an *.ANC file that should be stored next to original video file. This file will contain all your custom data that can be extracted out of the frames during the playback.   Learn more...

Choosing the encoder for WebRTC streaming

Since MPlatform SDK version 1.6.1.8195 and MFormats SDK version 1.2.1.8194 you can choose one of predefined video and audio encoders for WebRTC streaming. Learn more...

Detecting and generating dual-tone multi-frequency (DTMF) signals or custom tones with MPlatform and MFormats SDK

Since MPlatform version 1.6.1.8276 and MFormats version 1.2.1.8403 you are able to detect and generate the DTMF or custom tones using MFSignalingDTMF class.  Learn more...

How to get started with WebRTC

There are several ways of using WebRTC with our products. This post is to help you get started by choosing the way that would work for you best. Learn more...

Using virtual devices and mp:// links to stream content between applications (MFormats SDK)

The MFSink object of MFormats SDK provides 2 special options to deliver your content: virtual devices, and mp:// links. This post explains how to use both of these options. Learn more...

Deploying a signaling server and web pages for WebRTC

Initially WebRTC technology was designed for establishing direct connections between web browsers, like it is shown on the picture below. Learn more...

Sending and receiving custom ANC data packets with MPlatform and MFormats

Since MPlatform version 1.6.1.7552 and MFormats version 1.2.1.7552 you can build custom ANC data packets and embed them into frames manually. Once embedded, the ANC data can be transmitted over the SDI, and extracted out of the frames afterward. Learn more...

Using video files as CG items

Overlaying compositions with nice video animation used to be a problem for our customers: none of our objects was able to deal with this task perfectly. We have solved this problem by adding a possibility to add video clips as overlay items to the CG. Learn more...

Using NewTek's NDI with MPlatform and MFormats SDK

NDI (Network Device Interface) is an open standard developed by NewTek that allows transmitting video streams via LAN instead of SDI. The protocol aims to connect video applications in the production and post-production areas. Learn more...

Transmitting WebRTC streams and messages between native applications

This post explains how to transmit video and messages between native applications via WebRTC. For basics and signaling see the post on remote control for a playlist application. Learn more...

New screen capture engine

Our screen capture engine has been updated with new features and functionality. It is currently available with MPlatform SDK and  MFormats SDK Professional edition. The release of the new DirectShow filter are coming soon.
Learn more...

Integrating a custom device into MFormats or MPlatform

To add support for your device you can use MFDeviceTest project located in  {MFormats SDK directory}\Samples\C++\MFDeviceTest (for instance, C:\Program Files (x86)\Medialooks\MFormats SDK\Samples\C++\MFDeviceTest).  Learn more...

MFormats SDK: image sequence playback

Just like MPlatform, MFormats can play back a sequence of images as a single clip. This short post explains how this works. Learn more...

Displaying DVB subtitles from TS file

You can display DVB subtitles from a TS file using Multiformat Source Filter, MPlatform or MFormats SDK.  Learn more...

MFormats SDK: displaying closed captions on the preview

MCCDisplay is a special plugin that makes it possible to use the Closed Captions lib together with MFormats SDK. The plugin receives ANC data from the incoming frame and creates a new frame with closed captions. This way the user can access both the original frame and the frame with CC overlay. The frame created by the plugin can be used to preview the captions. Learn more...

MFormats SDK: delaying the stream for a specific number of frames (MDelay feature)

The MDelay object delays the incoming stream (from live sources, network streams and files). For example, MDelay allows you to preview a video event from the live source after the event took place without recording it to file. A delay of the stream is precise down to a single frame. Learn more...

MFormats SDK: using Chroma Key plugin

It is possible to use our Chroma Key plugin (available separately) together with MFormats SDK. To do so, use the MChromaKey plugin. Learn more...

MFormats SDK: frame rate control

In MFormats SDK, the frame rate - also known as frame frequency or frames per second (FPS) - is what defines the time that a frame is displayed for on the screen. For example, 25 FPS means that every video frame is displayed for exactly 40 ms along with its synced chunks of audio. Learn more...

H.264 encoding options

There are several options for H.264 encoding in MFormats SDK and MPlatform SDK - both CPU-based and GPU-powered. This post covers these options and helps to navigate for further, more technical information. Learn more...

MFormats SDK: indexing of files for faster seeking and positioning

Some file formats (such as MPEG-PS, MPEG-TS or VOB) may not contain index information or can have variable frame rate (ASF or WMV). For fast and accurate seeking within these containers we recommend to use the indexing feature in MFormats SDK. The feature is expected to be available in Q1 2015 (Expert edition only). Learn more...

External decoding in MFormats SDK

External decoding makes sure that your application's performance and stability is not affected by the decoder: the decoding of each file is done in a separate process that is controlled by a watchdog. Once there's a problem (such as a corrupt file, decoder error or memory leak), the watchdog will detect it and restart the process. Learn more...

Play while recording (PWR) feature

This feature allows to preview or even play out a media file while it is still being written to by another process. Playback while recording is available in both MFormats SDK and MPlatform SDK. Learn more...

MFormats SDK: simple file playback

MFormats SDK can play back multiple file types right out of the box. This post shows how easy it is to implement in your application. Learn more...

MFormats SDK: simple live source

Working with live sources in MFormats SDK is as easy as file playback. This post explains how to receive video from live sources. Video playout is covered in a separate post. Learn more...

MFormats SDK: simple playout to devices

MFormats SDK supports playout to a range of professional video devices such as Blackmagic Design, DELTACAST. We plan on adding support for AJA, BlueFish444 and other vendors in the nearest future. This post shows how to play out content to a video device. Learn more...

MFormats SDK: images overlaying

{... in progress...} Learn more...

MFormats SDK: transitions between sources

With MFormats SDK, it is as easy to implement transitions between video sources, as everything else. This post covers MFTransition, the method that handles this feature: Learn more...

MFormats SDK: variable speed playback & seeking

Unlike DirectShow and other pipeline-based video frameworks, MFormats SDK is frame-based and provides true random access to video frames. This makes fast forward, rewind and slow motion very easy to implement. This post explains how to do it. Learn more...

MFormats SDK: WPF preview

Preview is handled by the MFPreview object. By using this object we are able to send audio to the sound card of your machine and send video frames to any receiver. Learn more...

MFormats SDK: simple video recorder

MFormats SDK will receive and capture each frame that arrives from a video source. In this article we will discuss MFWriter object, which is responsible for recording to disk and streaming to network. The article explains how to configure MFWriter object and write a simple video capture app. Learn more...

Deploying applications without DLL registration

With more and more customers using our SDKs, we've started to receive bug reports that happen when two or more apps from different vendors are trying to access the same Medialooks' DLLs on a single system. This post contains a step-by-step guide and video for resolving this issue. Learn more...

Types of license files and redistribution guidelines

This is an important post to read if you have licensed one of our development products: it explains the types of license files that we have and how they shall be applied. Learn more...
subscribe_to_newsletter login_or_register project_submit

Please, describe your project

Please, type in your name.
Please, type in the name of your company.
Please, type in your second name.
e-mail is incorrect
What is on the input?
What kind of processing or logic is needed?
What is on the output?
What hardware will be used?
Please post a brief description of your project to the best of your understanding:
Please, select at least one checkbox or write a project description.