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: handling events

Our HTML5 Plugin allows to control the web page that is being displayed on top of the video. This post explains how this can be done and what you can use it for. 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...

HTML5 Plugin: getting started

With our new HTML5 Plugin (beta) you can use HTML pages as the primary way to design your on-screen graphics as well as overlay web pages on top of the video. The plugin will be available as a separate product (price to be announced later) and will be available in MPlatform version 1.6.2.8736 and MFormats version 1.2.2.8726. 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...

Performing the L-shaped items overlay using the MMixer object in MPlatform.

What is the L-shaped items overlaying?  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...

Releasing the SDK objects properly to avoid possible memory overflow

Medialooks' SDKs are based on a the Components Object Model (COM) technology. Except of advantages, such as multiple programming languages, there are a few things to take care of. One of them is correct redistribution, and another one is objects releasing. 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...

Better video mixing with MMixer's "sync mode"

A good way to make your mixed scenes to perform better is to use MMixer's sync mode (available with MPlatform SDK). In this mode MMixer prepares frames from the sources synchronously to make a nicer picture of the mixed video. 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...

MPlatform SDK: using MLive and MRenderer with WebRTC

As you might know, our first implementation of WebRTC was done as an MWebRTC class that could be used as a plugin for transmitting WebRTC streams into the network and as a frames source to receive a remote WebRTC stream. Check our posts about remote preview and control for playout and transmitting WebRTC streams and messages between native applications for more information. 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...

MPlatform SDK: using advanced statistics for application monitoring

We have made it possible to monitor the enhanced statistics for MPlatform objects in your application. The main purpose of this feature is to let you monitor the application state in real time. And it something goes wrong, you will get a signal immediately. It will be really useful for the applications that run 24/7. Learn more...

Remote preview and control for a video recording application using WebRTC

This post shows how to implement a remotely controlled video recording application with MWriter and WebRTC technology. For the initial WebRTC description and signaling see the post on remote preview for playlists and getting started with WebRTC. Learn more...

Blackmagic Design: supported models

Blackmagic Design makes by far the most popular I/O solutions for the broadcast industry. Learn more...

AJA Video Systems: supported models

AJA is a US-based manufacturer of high-quality broadcast I/O hardware. Learn more...

Stream Labs: supported models

Stream Labs provides cost-effective solutions for customers worldwide. Learn more...

BlueFish444: supported models

BlueFish444, usually referred to as simply BlueFish is an Australian company that makes high-quality I/O boards since 1998. The company positions its products as those made for the demanding customer: when there's a complex, non-standard task, the most likely choice is BlueFish. Learn more...

DELTACAST: supported models

DELTACAST, based in Belgium, is serving OEM professionals since 1989. The boards are of very high quality; the company is also very fast to add new IP solutions to its product line. 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...

Medialooks Runtime library

We are shuffling things around a bit in our DLLs. Here's what you need to know about the new Runtime library. Learn more...

Remote preview and control for a playout application using WebRTC

This post explains how to remotely view and control your playlist with the WebRTC features in MPlatform SDK. 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...

MPlatfrom SDK: Playlist sample

The Playlist sample was created as a demo for the MPlaylist object, but it can also be used at a TV station in a live production environment. It is a very good way to understand the core advantages of how MPlatform SDK, our broadcast automation platform. Learn more...

MPlatform SDK: Writer sample

The Writer Sample is a demo for MWriter object. It illustrates how to capture a live source to the file or stream it to the network. Learn more...

Live Smooth Streaming via IIS

Live Smooth Streaming is an adaptive bitrate streaming extention for Microsoft Internet Information Server (IIS), that makes it possible to stream video via the HTTP protocol to players like Silverlight. This post shows how to use this streaming format with MPlatform SDK. Learn more...

MPlatform SDK: encoding and sending video to an RTMP streaming server

The Real Time Messaging Protocol (RTMP) is used for high-speed transmission of audio, video and data between a player and a server. MPlatform SDK supports RTMP streaming to several media servers. 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.