Intel® Media Server Studio Support

Code Samples

Media Server Studio offers many code examples through two different packages i.e. “samples” and “tutorials” to get you started.

  • The sample package is a collection of code examples that showcase new and important media features of the latest APIs, and are optimized to measure performance on the underlying hardware. Here is the samples guide – Linux* | Windows* for more details.
  • The tutorial package provides step-by-step guides to learn basic media features, understand the pipeline, and are geared toward beginning users.
  • Case Studies – See customer examples and use cases with Intel Media Server Studio

Download Samples packages

Download Tutorial packages

Tool Code Samples

Intel® SDK for OpenCL™ Applications


Intel Media Server Studio Samples 

Sample applications demonstrate how to incorporate the Intel Media Server Studio API into various applications. These examples showcase many new and important features available in new releases.

Transcoding Sample
sample_multi_transcode performs transcoding of single to multiple elementary video stream from one compressed format to another.

Encoding Sample
sample_encode performs encoding of raw video frames into elementary compressed stream (including HEVC encode Plug-in from Intel Media Server HEVC Pack).

Decoding Sample
sample_decode performs decoding of elementary compressed video stream to raw frames (including HEVC decode and VP8 decode Plug-in from Intel Media Server Plugin Pack) and sample_decvpp performs decoding with video processing (color conversion) of raw video sequences.

Video Processing Sample
sample_vpp performs various video processing algorithms on raw frames such as Denoising, Deinterlace/Inverse Telecine and Color conversion.

OpenCL Video Motion Estimation Sample
ocl_motion_estimation provides step-by-step guidelines on using Intel’s motion estimation extension for OpenCL standard. The motion estimation extension includes a set of host-callable functions for frame-based VME.

OpenCL Interoperability Sample
ocl_media_sdk_interop demonstrates how to use Intel Media SDK and Intel® OpenCL SDK together for efficient video decoding and fast post-processing.

Deprecated Samples

Full Transcoding
Sample_full_transcode performs full scale transcoding of media files: allows changing container format and video/audio compression formats. It also shows usage of new Splitters and Muxers Sample using FFmpeg, and the Audio Library

Video Conferencing
sample_videoconf performs encoding of raw video frames into elementary compressed stream. Shows various encoding features specific to video conferencing use case.

Transcoding Sample using Microsoft* DirectShow*
sample_dshow_plugins demonstrates how to use the Intel Media SDK with DirectShow filters to compress and decompress video files. sample_dshow_player demonstrates how to use the SDK and sample DShow filters to play and transcode media files (streams).

Transcoding Sample using Microsoft Media Foundation*
sample_mfoundation_transcode demonstrates how to use the Media Foundation framework to transcode media files (streams) in a Windows Presentation Foundation (WPF) application.

Transcoding Sample using Microsoft Windows 8 User Interface
sample_win8ui_transcode demonstrates how to use the API of H.264 video encoder (a Microsoft Media Foundation* Transform) to transcode a video file to a configurable format in a Windows 8 UI


    Intel Media Server Studio Tutorials

    Tutorials are geared towards beginners by providing simple code examples for basic media features and excellent code examples to start working with the Intel Media SDK. All code examples come with Microsoft Visual Studio* solution files (Windows) and Makefile (Linux) to get you started.

    Set-up
    simple_1_session
    Sets up Intel Media SDK session and perform queries to determine selected implementation and which API version is used

    Decode
    simple_2_decode
    Decodes AVC stream into YUV file using system memory surfaces, showcasing simple synchronous decode pipeline flow

    simple_2_decode_vmem
    Adds use of video memory surfaces for improved decode performance

    Encode
    simple_3_encode
    Encodes YUV frames from file into AVC stream using surfaces in system memory, showcasing simple synchronous encode pipeline flow.

    simple_3_encode_vmem
    Adds use of video memory surfaces for improved encode performance.

    simple_3_encode_vmem_async
    Adds asynchronous operation to previous example, resulting in further improved performance.

    Transcode
    simple_5_transcode
    Transcodes (decode+encode) AVC stream to another AVC stream using system memory surfaces.

    simple_5_transcode_opaque
    Same as previous sample but uses the Intel Media SDK opaque memory feature. The opaque memory type hides surface allocation specifics and allows the Intel Media SDK to select the best type for the execution in hardware or software.

    simple_5_transcode_opaque_async
    Adds asynchronous operation to the transcode pipeline implementation, resulting in further improved performance.

    simple_5_transcode_vmem
    Same as "simple_5_transcode" sample but uses video memory surfaces instead. While opaque surfaces use video memory internally, application-level video memory allocation is required to integrate components not in Intel Media SDK.

    simple_5_transcode_opaque_async_vppresize
    Same as "simple_5_transcode_opaque - async" sample but pipeline includes video frame processing (VPP) resize.

    Video Processing and more
    simple_4_vpp_resize_denoise
    Showcases VPP using system memory surfaces. Highlights frame resize and denoise filter processing.

    simple_4_vpp_resize_denoise_vmem
    Adds use of video memory surfaces for improved VPP performance.

    simple_6_decode_vpp_postproc
    Similar to the “simple_2_decode” sample but adds VPP post-processing capabilities to showcase resize and ProcAmp

    simple_6_encode_vmem_lowlatency
    Similar to the “simple_3_encode_vmem” sample with additional code to illustrate how to configure an encode pipeline for low latency and how to measure latency.

    simple_6_transcode_opaque_lowlatency
    Similar to the “simple_5_transcode_opaque” sample with additional code to illustrate how to configure a transcode pipeline for low latency and how to measure latency.

    simple_6_encode_vmem_vpp_preproc
    Similar to the “simple_3_encode_vmem” sample but adds VPP pre-processing capabilities to show frame color conversion from RGB32(4) to NV12.