473,581 Members | 3,183 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

C# WEB:Trouble converting videos on virtual directories using Windows Media Encoder 9

1 New Member
We have an ASP.NET web application (C#) that copies videos from a CCTV truck to a Linux server. What I am trying to do is convert the .AVI videos(which is how they are created on the truck) to .WMV in my C# code using Windows Media Encoder. I have a virtual directory to the truck location of the videos. I also have a virtual directory created to the Linux box. The application resides on a Windows Server 2003 and I am using VS 2005, .NET framework 2.0. The web app uses impersonation and the virtual directories are set up to connect with the impersonated user. When I use the application to copy the videos without converting, it works perfectly. When I try to implement the conversion code I receive the following error:

Attempted to read or write protected memory. This is often an indication that other memory has been corrupted

The line that fails is: m_Encoder.Prepa reToEncode(true );

I have been Googling this error for days now and have found few solutions. I have tried some of the solutions I did manage to find, but nothing has helped. I'm thinking it's a permissions issue, but I can't figure out what! Any help would be greatly appreciated and please let me know if you need any more information. I am totally new to WME so I could even be doing this all wrong!
Thanks in Advance,

Here is the code I'm using for the conversion and then the method where I am calling the ConvertFile function:

Expand|Select|Wrap|Line Numbers
  1. private static string ConvertFile(string mediaFile)
  2.         {            
  3.             UtilDaoOracle oraDao = new UtilDaoOracle();
  4.             oraDao.LogError(mediaFile, "ConvertFile", 500321);
  6.             WMEncoder m_Encoder = new WMEncoder();
  8.             IWMEncSourceGroup SrcGrp = (IWMEncSourceGroup)m_Encoder.SourceGroupCollection.Add("SG_1");
  9.             IWMEncVideoSource SrcVid = (IWMEncVideoSource)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO);
  12.             SrcVid.SetInput(mediaFile, "", "");
  14.             const string ProfileName = "Screen Video Medium (CBR)";
  16.             foreach (IWMEncProfile aProfile in m_Encoder.ProfileCollection)
  17.             {
  18.                 if (aProfile.Name == ProfileName)
  19.                 {
  20.                     SrcGrp.set_Profile(aProfile);
  21.                     oraDao.LogError(aProfile.Name.ToString(), "ConvertFileLoop", 500321);
  22.                     break;
  23.                 }
  24.             }
  27.             m_Encoder.File.LocalFileName = Regex.Replace(mediaFile, ".avi", ".wmv");
  28.             oraDao.LogError(m_Encoder.File.LocalFileName, "ConvertFileREturn", 500321);
  30.             m_Encoder.AutoStop = true;
  32.             try
  33.             {
  34.                 m_Encoder.PrepareToEncode(true);
  35.             }
  36.             catch (Exception exp)
  37.             {
  38.                 oraDao.LogError(exp.Message, "Preparetoencode", 500321);
  39.                 m_Encoder.Flush();
  40.             }
  42.             try
  43.             {
  44.                 m_Encoder.Start();
  45.             }
  46.             catch (Exception exp)
  47.             {
  48.                 oraDao.LogError(exp.Message, "encoderstart", 500321);
  49.                 m_Encoder.Flush();
  50.             }
  52.             return m_Encoder.File.LocalFileName;
  54.         }
  57. private static bool CopyFile(string srcDir, string destDir, string fileName, bool ignoreIfInParentDir)
  58.         {
  60.             UtilDaoOracle oraDao = new UtilDaoOracle();
  61.             FileInfo destFile = new FileInfo(CombinePath(destDir, fileName));
  63.             //Only copy if the file does not already exist.
  64.             if (!destFile.Exists)
  65.             {
  66.                 if (ignoreIfInParentDir && File.Exists(CombinePath(destFile.Directory.Parent.FullName, fileName)))
  67.                 {
  68.                     // Return if the files already exists in the parent directory.
  69.                     return false;
  70.                 }
  72.                 FileInfo srcFile = new FileInfo(CombinePath(srcDir, fileName));
  73.                 if (srcFile.Exists)
  74.                 {
  75.                     // Create the destination directory if not there already.
  76.                     if (!destFile.Directory.Exists)
  77.                     {
  78.                         destFile.Directory.Create();
  79.                     }
  81.                     if (srcFile.Extension == ".avi")
  82.                     {
  83.                         string convertedFile = ConvertFile(srcFile.ToString());
  84.                         FileInfo convertedFileDone = new FileInfo(convertedFile);
  85.                         convertedFileDone.CopyTo(destFile.FullName);                        
  86.                     }
  87.                     else
  88.                     {
  89.                         srcFile.CopyTo(destFile.FullName);
  90.                     }
  92.                     return true;
  93.                 }
  94.                 else
  95.                 {
  96.                     Logger.LogWarning(string.Format("Source file not found on machine: {0}", srcFile.FullName));
  97.                 }
  98.             }
  99.             return false;
  100.         }
Feb 29 '08 #1
0 1918

Sign in to post your reply or Sign up for a free account.

Similar topics

by: Greg | last post by:
Does anybody know how to pass session variables from one window to a new window in an ASP.net web application? Please help. Peace Out Greg
by: Rob R. Ainscough | last post by:
What is it with Microsoft, do they normally publish tools that don't work and provide migrations that don't work either? Publish Web just goes to never never land once I log into my server after the User/Password login screen -- just a partially repainted VS 2005 screen and nothing else, no errors, no warnings, nothing. Just one more feature...
by: ruca | last post by:
Hi, In my Web Application I have windows authenthication logon. Usually login dialog don't appear, but in one of the computers this dialog appears when it's not supposed. If I logon the Web App works fine, but every time I try to run on same computer, dialog appears. I think the problem maybe was the computer don't belong to domain and I...
by: Lance Wynn | last post by:
Hi all, I got a new computer that is running XP Home, and is to be used for the family as well as for me to do some work from home. I want to keep XP Home, but I am having a problem getting Visual Interdev to connect to any FrontPage Webs. I get an error 401 on the IIS Logs, and in interdev, I just get the login prompt, until it tells me...
by: booksnore | last post by:
At the moment I have three separate setup projects for my C# ASP.NET application one for the web project, one that uses Custom actions and some code to create the database and then one which uses Custom Actions to prompt the user for username and pwd when installing a windows service. I want to bundle all three into a single install. I'm not...
by: theBond | last post by:
hello! i am making a program which opens a word document which is kept on IIS server to be open from client web interface which can take some parameter. i.e if i open the web page where i will add some argunment to modify the word file from client. the same prog works if i run it from server but when i run from client it does not work. Do...
by: coolmanist | last post by:
Hi, I am working on a project in which I have to present a wysiwyg editor. I have to save this code as .doc, .rtf or .tiff format in server side. I am using C# and this is a web application. My question is how to convert such an html page (or html code) to one of these formats. Any suggestions on these ? There are many 3rd party tools for this...
by: karthik25 | last post by:
Hi All, I have a problem in finding control in a dynamically created updated panel. I have given the code below. Following is just a starting effort in a completely dynamic user control. I am experimenting before getting to the actual part. This is what I am trying to do: * Create a tab container dynamically * Create 5 tabs dynamically ...
by: skcsknathan001 | last post by:
I have 2 projects, and accessing a custom control , fron another project. Inside the custom control, it calls a function It compiles and when it runs I get a NullReference error message on the function which accepts the ImageButton. Basically custom control is called .. goes into execute functions, but the ImageButton control inside the...
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.