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个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C# 控制摄像头实现拍照录像功能
使用系统自带的avicap32.dll ,打开本机摄像头实现拍照录像功能。为初学者提供个方法,大牛们笑笑就好。录像功能不是很好,有更好方式的可以教教我。
C# 摄像头录像问题
怎么通过代码控制压缩比?目前我已经可以通过API调出那个调整压缩比的界面,也可以手动调整压缩比?但是这个功能能否直接用底层API实现?rn我是通过avicap32.dll中的API实现的。rnrn不压缩的话,实在太恐怖了,4分钟的视频,都达到500M了。要是录个1小时,还得了!
C# AForge实现摄像头录像
基于AForge摄像头视频捕捉C#源码,经测试可以正常运行。
C#实现摄像头控制
C#实现摄像头控制C#实现摄像头控制C#实现摄像头控制C#实现摄像头控制C#实现摄像头控制C#实现摄像头控制C#实现摄像头控制C#实现摄像头控制C#实现摄像头控制C#实现摄像头控制
c# 摄像头录像实例
c# 摄像头 录像 实例 c# 摄像头 录像 实例 基本功能完成 细节需要修改
C# 摄像头录像
这个如何保存成录像呢rn我找了好多的例子 首先说很慢 而且录一分钟就1G了 而且只能保存flv格式 rnQQ上的视频通话是不是他有自己的一套生成录像的方法啊 rn我新手没做过录像我语文没学好读不通的话问我。。。。
c# 摄像头 拍照 录像
c# 摄像头 拍照 录像 在vs2010下调试通过
C# 获取摄像头录像
通过avicap32.dll函数实现获取摄像头、录像
C#调用摄像头实现拍照和录像
封装了一个DLL,源码在项目工程里,调用非常简单方便 msxt = new mSheXiangTou(pictureBox1); List<string> temp = null; if ((temp = msxt.GetVideoDevicesNameList) != null) { foreach (string str in temp) { comboBox1.Items.Add(str); } comboBox1.SelectedIndex = 0; } Open.Click += new EventHandler(Open_Click); Close.Click += new EventHandler(msxt.Close_Click); LuXiang.Click += new EventHandler(msxt.LuXiang_Click); Stop.Click += new EventHandler(msxt.TingZhi_Click); PaiZhao.Click += new EventHandler(msxt.PaiZhao_Click); FormClosing += new FormClosingEventHandler(msxt.Form_FormClosing);
C#实现调用视频摄像头录像和抓拍
程序可以调用视频摄像头进行环境录像和抓拍功能,由此可以将本程序作为环境监控器。
C#实现USB摄像头录像功能
最近在做一个小程序,用C#实现USB摄像头录像功能,目前录像功能已经完成,现在问题是录出来的avi文件超大的,50秒左右就达到一百多兆了,想知道怎么在录像的时候,进行压缩处理。望高手指点,分不多了,谁做过这方面的例子可以发个给我最好啦!
C# ffmpeg 实现视频压缩
[code=C#] string file_name = strFileName;rn string command_line = " -i " + file_name + " -vcodec libx264 -cqp 25 -y " + file_name.Replace(".avi", "_264") + ".avi";rn System.Diagnostics.Process proc = new System.Diagnostics.Process();rn proc.StartInfo.WorkingDirectory = Application.StartupPath;rn proc.StartInfo.UseShellExecute = false; //use false if you want to hide the windowrn proc.StartInfo.CreateNoWindow = true;rn proc.StartInfo.FileName = "ffmpeg";rn proc.StartInfo.Arguments = command_line;rn proc.Start();rn proc.WaitForExit();rn proc.Close();[/code]rn我想把一个指定的*.avi储存到C盘根目录下怎么实现啊
usb摄像头的录像时注意事项
v4l2 抓取的帧为 YUV422packed,但 ffmpeg 中 mpeg4 编码的输入帧格式为 YUV420planar,所以最终录像成视频的时候,要将 YUV422packed转换成 YUV420planar
桌面录像+摄像头录像
两个软件,一个是截桌面成录像,一个是采集摄像头成录像。
C#摄像头编程(监控,录像)
内含5个C#对摄像头编程的实例。实现了实时监控,图像保存,录像等一些功能。请注意,里面有5中不同类型的程序,都是C#的
C# 采集卡 摄像头 录像 截图
DShowNET DirectX.Capture C# 采集卡 摄像头 录像 截图 ,可选择视频,音频源并记录所选择的
摄像头保存录像问题
我现在是可以录像,把单个帧存成图片,我现在想保存录像存放在SD卡中,以后还要回调查阅的,有什么好的方法没?
摄像头录像驱动的问题
在previewThread线程中,使用mDataCb(CAMERA_MSG_PREVIEW_FRAME, buffer, mCallbackCookie);可以实现预览图像的功能,但是为什么使用mDataCbTimestamp(systemTime(), CAMERA_MSG_VIDEO_FRAME, buffer, mCallbackCookie);的方式返回就不能录像呢?录到的,不是乱七八糟的画面,就是一个纯绿色的界面。rn这里的buffer中填充的都是同一帧的图像数据,rn知道的高手指点一下啊,郁闷死了......
关于Symbian摄像头视频压缩
请教高手,通过摄像头采集视频后如何用H.263压缩编码传到网络上?感谢指点和讨论交流
关于摄像头录像问题
编写了一个摄像头录像程序(使用avicap32.dll实现),选择压缩方式只能通过对话框来选择不方便,而且退出窗体后就会恢复默认的选择.请教高手怎样通过ICOpen和ICInfo来实现程序中控制选择压缩方式.万分感谢!在线等待
摄像头捕获视频压缩
我在弄一个摄像头监控的程序,在录像的时候,选择了压缩器以后,最长的半个钟头就自动停止了,有的压缩器可能15分钟,原来我以为是程序的问题,后来感觉是压缩器的问题,因为换不同的压缩器,有不同的压缩时间。rn这是不是压缩器的问题呢,应该怎么解决呢。rnrnrn做这个程序我使用了ezVidC60.ocx这个控件rnrn请知道的说一下,谢谢
摄像头录像
摄像头程序,里面包含源码,以及应用程序哦
摄像头录像大师,摄像头录像,免费版
摄像头录像大师,摄像头录像,免费版,绝非那些要注册类共享版。
JAVA实现摄像头的录像功能
基于JMF的JAVA控制摄像头录像功能,并可以保存录像到指定路径中。
调用控制摄像头(C#)
功能强大的控制摄像头源码,用C#编辑,VS2013环境
C# 控制虚拟摄像头
控制虚拟摄像头的资料和源码,比较全的资料,还有C#实例代码。
c#摄像头控制
自己编写的c#摄像头控制 可以使用,希望能对你有帮助
c#控制摄像头
随着生活节奏的加快,工作压力的增加,人们用于照顾家庭的时间会越来越少。年幼孩子的看护、年迈父母的照管、家庭财产的防窃等一系列问题经常缠绕着人们,成为人们忙碌中挥之不去的牵挂。本章使用C#语言结合视频采集卡制作了一个简单的家庭视频监控系统,以解决上面出现的各种问题。
C#控制USB摄像头
C#,VS2008开发,能够控制USB摄像头,完全支持录像、拍照,并单独写成了一个类,方便调用!源码完整!
C#摄像头控制
C#关于如何摄像头调用和控制,api函数的应用过程
C#控制摄像头
网上都是C++,VB的,弄清了原理,自己用C#写了一个,环境是VS2010
关于C#控制摄像头
1。如果得到系统安装的摄像头设备列表 与其支持的格式属性列表 和调用摄像头的属性设置对话框 (在delphi中可以实现 C#不是很熟悉)rn2。要得到捕获的图像某一点(某一像素)的颜色属性和灰度值 怎么取得?rn 除了抓取一个实时的bmp图片 进行图片分析还有没有别的办法?rn
c#控制摄像头拍照
c#控制摄像头拍照,可以选择摄像头和进行分辨率设置
c# 控制摄像头.rar
用c#写的桌面程序, 控制摄像头,编译ok,可以用的.
AForge.NET控制摄像头点播抓拍以及录像
C# WinForm程序,使用VS2013,调用AForge.NET操作USB摄像头,进行点播、抓拍、录像操作,需要依赖avc相关库文件
C# 实现控制摄像头并拍照
C#源码实现调用摄像头,并拍照保存
如何实现c#调用sdk控制摄像头?
如何实现c#调用sdk控制摄像头?rn厂家提供SDK说明,要用C#来实现调用sdk控制摄像头,不知道如何下手,请高手指点!
摄像头实现鼠标控制------
基于opencv实现使用特定颜色物品来控制鼠标的移动
C#控制USB摄像头录像抓图
C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview