c#控制摄像头实现录像及视频压缩时遇到的问题

本人通过c#调用了avicap32.dll实现对摄像头的控制,包括了在窗体中显示实时图像,截图,录像等功能。但是遇到几个问题
1.实时显示图像时,图像时清晰的,但是进行录像时,实时显示的图像变成很多噪点,奇怪的是得到的录像视频文件中图像时清晰的。图片说明
图片说明
2.录制的视频文件过大,需要进行压缩,想调用xvidcore.dll中的函数进行压缩,可是提示无法找到函数入口点。dll的函数说明是BITMAPINFO infodes; AviCreateFile("d:\aaa.avi",&infodes);
//BitmapInfo 位图信息
[StructLayout(LayoutKind.Sequential)]
public struct BITMAPINFO
{
public BITMAPINFOHEADER bmiHeader;
public int bmiColors;
}
public struct BITMAPINFOHEADER
{
public int biSize;
public int biWidth;
public int biHeight;
public short biPlanes;
public short biBitCount;
public int biCompression;
public int biSizeImage;
public int biXPelsPerMeter;
public int biYPelsPerMeter;
public int biClrUsed;
public int biClrImportant;
}

    BITMAPINFO bit;

[DllImport("xvidcore.dll")]
    public static extern bool AviCreateFile(string path, ref BITMAPINFO lParam);

AviCreateFile("d://" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".avi", ref bit);

http://blog.csdn.net/yuekunge/article/details/14124159