Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

Transcoding WMV3 to MPEG2 video using Media SDK?

I've been handed the task of transcoding WMV3 (windows media) video into MPEG2 using the Media SDK, and I need a little direction. I'm not a video expert so please be kind. ;) ffmpeg shows my intput stream details as follows:

Stream #0.0(eng): Audio: wmav2, 44100 Hz, 2 channels, s16, 96 kb/s
Stream #0.1(eng): Video: wmv3 (Main), yuv420p, 1280x720, 1800 kb/s, 59.94 tbr, 1k tbn, 1k tbc

I have a working sample trascoder application using the Media SDK that successfully transcodes other stream types, but the function Demuxer::DetectSystem() cannot determine the stream type for the WMV3 input stream. The UMC::SystemStreamType enum (umc_structures.h) doesn't have a WMV type listed so it appears the demux portion of the Media SDK might be entirely lacking WMV support, but I do see references to yuv420 elsewhere in the code so I'm hopeful this will work if I can just get my source video demuxed. Can anyone tell me if my goal is possible using the Media SDK, without me having to re-invent the wheel myself, or point me to any examples or suggestions?

0 Kudos
2 Replies

Not sure I understand the full context of your setup. Are you somehow using Intel Integrated Performance Primitives sample code to do demuxing?

First, Intel Media SDK does not support WMV container demuxing. Instead, if the framework is DirectShow you can use the "WM ASF Reader" filter to split the container into video and audio streams.

Media SDK is capable of decoding WMV3 video streams using the VC1-Decoder filter using DirectShow. VC1 type streams can also be decoded using the console sample_decode sample part of the SDK (that is assuming the video stream has been extracted from the container first).

Thank you for the reply. Yes I am using [what I believe to be] IPP sample code for demuxing, and demuxing the WMV container is where I'm stuck. I will find out if the target system will have DirectShow running, and if so then I will try your suggestion for demuxing. Thanks!