By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,673 Members | 1,268 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,673 IT Pros & Developers. It's quick & easy.

Help with Media Encoder 9, examples don't compile

P: n/a

I'm trying to simply convert a .avi file recorded by our program to a
wmv file, of course compressed as possible.

I've looked at the examples provided by microsoft @
http://msdn.microsoft.com/library/de...deexamples.asp
in both CSharp and VB6. I can't get them to compile. Some of the
objects listed (namely the IWMEncVideoSource2 object in CSharp and
IWMEncAudioSource and IWMEncSourceGroup2 objects in VB6) don't exist
in the library.

I'm guessing this is because I don't have the right library or
something, but I have the Windows Media Encoder 9 SDK installed and
the reference set to Windows Media Encoder in both projects
(VB6/Csharp).

If these really don't work with Encoder 9, can someone offer an
example how to use the encoder then? I just something quick, not
setting a lot of options, not doing anything special, just trying to
save space by compressing the .avi files with the encoder.

Thanks much for whatever help you can offer.
Nov 13 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a

"Matt" <no@no.com> wrote in message
news:k5********************************@4ax.com...

I'm trying to simply convert a .avi file recorded by our program to a wmv file, of course compressed as possible.

I've looked at the examples provided by microsoft @
http://msdn.microsoft.com/library/de...deexamples.asp in both CSharp and VB6. I can't get them to compile. Some of the objects listed (namely the IWMEncVideoSource2 object in CSharp and IWMEncAudioSource and IWMEncSourceGroup2 objects in VB6) don't exist in the library.

I'm guessing this is because I don't have the right library or something, but I have the Windows Media Encoder 9 SDK installed and the reference set to Windows Media Encoder in both projects
(VB6/Csharp).

If these really don't work with Encoder 9, can someone offer an example how to use the encoder then? I just something quick, not setting a lot of options, not doing anything special, just trying to save space by compressing the .avi files with the encoder.


Have you checked "Windows Media Encoder" in Project >
References... ? It has the types for IWMEncVideoSource and
WMEncSourceGroup -- perhaps those are adequate?
Nov 13 '05 #2

P: n/a
On Fri, 11 Jul 2003 11:26:04 -0500, "Grinder"
<gr*****@no.spam.maam.com> wrote:

I thought about that...and while the SourceGroup gave no errors, the
audio didn't work with the video object.
Have you checked "Windows Media Encoder" in Project >
References... ? It has the types for IWMEncVideoSource and
WMEncSourceGroup -- perhaps those are adequate?


Nov 13 '05 #3

P: n/a
This is the source I have, direct from microsoft. I have WMEncoderLib
as a reference.

This source fails to compile with a
C:\mine\code\C#\Encoder\Class1.cs(29): The type or namespace name
'IWMEncVideoSource2' could not be found (are you missing a using
directive or an assembly reference?)
error @ this part of the code:
"IWMEncVideoSource2 SrcVid ="

Thanks for help you can offer

-Matt

CODE:
using System;
using WMEncoderLib;

namespace Matt
{
/// <summary>
/// Summary description for Class1.
/// </summary>

class EncodeFile
{
static void Main()
{
try
{
// Create a WMEncoder object.
WMEncoder Encoder = new WMEncoder();

// Retrieve the source group
collection.
IWMEncSourceGroupCollection SrcGrpColl
= Encoder.SourceGroupCollection;

// Add a source group to the
collection.
IWMEncSourceGroup SrcGrp =
SrcGrpColl.Add("SG_1");

// Add a video and audio source to the
source group.
IWMEncSource SrcAud =
SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_AUDIO);
SrcAud.SetInput("C:\\Inputfile.mpg",
"", "");

IWMEncVideoSource2 SrcVid =
(IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_ TYPE.WMENC_VIDEO);
SrcVid.SetInput("C:\\Inputfile.mpg",
"", "");

// Crop 2 pixels from each edge of the
video image.
SrcVid.CroppingBottomMargin = 2;
SrcVid.CroppingTopMargin = 2;
SrcVid.CroppingLeftMargin = 2;
SrcVid.CroppingRightMargin = 2;

// Specify a file object in which to
save encoded content.
IWMEncFile File = Encoder.File;
File.LocalFileName =
"C:\\OutputFile.wmv";

// Choose a profile from the
collection.
IWMEncProfileCollection ProColl =
Encoder.ProfileCollection;
IWMEncProfile Pro;
for (int i = 0; i < ProColl.Count;
i++)
{
Pro = ProColl.Item(i);
if (Pro.Name == "Windows Media
Video 8 for Local Area Network (384 Kbps)")
{

SrcGrp.set_Profile(Pro);
break;
}
}

// Fill in the description object
members.
IWMEncDisplayInfo Descr =
Encoder.DisplayInfo;
Descr.Author = "Author name";
Descr.Copyright = "Copyright
information";
Descr.Description = "Text description
of encoded content";
Descr.Rating = "Rating information";
Descr.Title = "Title of encoded
content";

// Add an attribute to the collection.
IWMEncAttributes Attr =
Encoder.Attributes;
Attr.Add ("URL", "IP address");

// Start the encoding process.
// Wait until the encoding process
stops before exiting the application.
Encoder.PrepareToEncode(true);
Encoder.Start();
Console.WriteLine("Press Enter when
the file has been encoded.");
Console.ReadLine(); // Press Enter
after the file has been encoded.
}
catch (Exception e)
{
// TODO: Handle exceptions.
}
}
}
}
On Tue, 15 Jul 2003 07:32:44 GMT, yh*****@online.microsoft.com
(Yan-Hong Huang[MSFT]) wrote:
Hello Matt,

Please refer to
http://msdn.microsoft.com/library/en...ngincsharp.asp
?frame=true to double check that you have added all the references.

Also, please add using WMEncoderLib; in the code. Please refer to
http://msdn.microsoft.com/library/en...deosource2prep
rocesspass.asp?frame=true for code samples.

Hope it helps.

Best regards,
Yanhong Huang
Microsoft Online Partner Support

Get Secure! C www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.


Nov 13 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.