二哥吖 2016-07-18 05:09 采纳率: 0%
浏览 1918

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);

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2017-03-07 21:16
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题