Encoding wmv files using WM ASF Writer filter in DirectShow...



I apologize in advance for the length of this question.

We have an application that captures content from a live cable(Analog) feed,
and encodes to wmv using the WM ASF Writer filter through DirectShow.

I've read through most of the documentation provided with the Windows Media
Format 9 SDK pertaining to the above mentioned scenario. I attempted to use
the WME Profile Editor to create a profile that was acceptable to our user.
This worked fine. I then attempted to load the profile from file into a
string. Still fine, string looked good in memory during debug. I then
created a profile object using IWMProfileManager::LoadProfileByData with no
error. When I passed the profile object to the filter using
IConfigAsfWriter::ConfigureFilterUsingProfile it returned E_POINTER.

Disappointed, I then attempted something that was deemed a bad practice by
the documentation. I analyzed the WMSysPrf9.prx file, and added my profile's
contents to the file.

The profile was not included in the available profiles under WMT_VER_8_0. I
noticed that the profile version attribute of my profile was unique, 589824.
I changed my version attribute to match a profile that was made available in
SetSystemProfileVersion(WMT_VER_8_0). I set my profile version to 524288.
This made my profile available and works fine.

The problem is that when I encode at multiple bit rates such as:
Video Stream 1 - 720x486 - 5mb
Video Stream 2 - 320x240 - 384k

The encode process seems to drop frames when encoded with our application or
using graphedit. I immediately thought the problem may be due to a hardware
limitation. However, when I encode using the same profile in WME it doesn't
seem to have any encoding problems.

This is what led to this post. What could possibly be going on in WME to
overcome the dropped frames that I'm seeing using the same profiles on the
same box.

Any suggestions or thoughts would be greatly appreciated.

On a side note, some of the files that I have encoded using the
preconfigured system profiles show up as Windows Media Video 8 Codec. Is
this possible? I have the Version 9 runtime on my box. The documentation
states that the runtime dictates the codec, not the profile.

Thanks,
Mark Stevens
.



Relevant Pages

  • Re: Faster encodes with WME using Advance Profile
    ... the on-board video as I do not have a dedicated video card. ... results stunning over the Main Profile with WMV3. ... Oh, if it matters, I'm using WME 9.00.00.2980. ... encode, and to some extent to decode too. ...
    (microsoft.public.windowsmedia.encoder)
  • Re: Column: Create a Story from a Single Still Photo with Photo Story
    ... I am trying to create a photo story in 16x9 format insted of 4x3. ... alredy create a profile to encode at 1280 x 720 but once the file is ... Digital Image MVP ...
    (microsoft.public.windowsxp.photos)
  • RE: Using the Windows Media 9 Encoder Advanced Profile.
    ... Is there any profile settings (.prx files) which can be downloaded from any site that would encode in advance profile only. ... Can you suggest me any website where i can download WMV9 encoded bitstreams encoded with advanced profile. ...
    (microsoft.public.windowsmedia.encoder)
  • 24-bit WMA Pro expects 16 bit samples in writer input?
    ... i'm using the WM Format SDK to encode WMA files, and i'm using the WM Encoder ... SDK to create a profile to assign to the IWMWriter object. ...
    (microsoft.public.windowsmedia.sdk)
  • Re: 24-bit WMA Pro expects 16 bit samples in writer input?
    ... > i'm using the WM Format SDK to encode WMA files, and i'm using the WM Encoder ... > SDK to create a profile to assign to the IWMWriter object. ... WAVEFORMATEXTENSIBLE format with 24 or 32-bit samples. ...
    (microsoft.public.windowsmedia.sdk)