C# 摄像头捕获及视频压缩
本人想用C#自己做一套监控系统,现在已经可以实现摄像及视频保存.唯一的问题就是视频超级大,半分钟就有上百M.恳求实时压缩的实现方案,最好是RM格式压缩.由于本人是C#新手...
本人想用C# 自己做一套监控系统, 现在已经可以实现摄像及视频保存.
唯一的问题就是视频超级大, 半分钟就有上百M.
恳求实时压缩的实现方案, 最好是RM 格式压缩.
由于本人是C# 新手, 也不懂C++, 所以如果能贴上一段可以使用的压缩代码, 将感激不尽.
已经找到普通压缩的方案. 如果谁能提供RMVB 的压缩方案, 将给分. 谢谢.
private IBaseFilter GetVideoCompressor()
{
object source = null;
Guid iid = typeof(IBaseFilter).GUID;
DsDevice[] videoCompressorList = DsDevice.GetDevicesOfCat(FilterCategory.VideoCompressorCategory);
foreach (DsDevice device in videoCompressorList)
{
Console.WriteLine(device.Name);
//To get the compressor here.
if (device.Name.Contains("MJPEG Compressor"))
{
device.Mon.BindToObject(null, null, ref iid, out source);
break;
}
}
return (IBaseFilter)source;
}
添加备注:
目前找到了黄雄的DIO's RealProducer, 在我的程序中执行这个压缩工具可实现我的需求.现在压缩率已经是MGP的1/6而效果依然良好. 展开
唯一的问题就是视频超级大, 半分钟就有上百M.
恳求实时压缩的实现方案, 最好是RM 格式压缩.
由于本人是C# 新手, 也不懂C++, 所以如果能贴上一段可以使用的压缩代码, 将感激不尽.
已经找到普通压缩的方案. 如果谁能提供RMVB 的压缩方案, 将给分. 谢谢.
private IBaseFilter GetVideoCompressor()
{
object source = null;
Guid iid = typeof(IBaseFilter).GUID;
DsDevice[] videoCompressorList = DsDevice.GetDevicesOfCat(FilterCategory.VideoCompressorCategory);
foreach (DsDevice device in videoCompressorList)
{
Console.WriteLine(device.Name);
//To get the compressor here.
if (device.Name.Contains("MJPEG Compressor"))
{
device.Mon.BindToObject(null, null, ref iid, out source);
break;
}
}
return (IBaseFilter)source;
}
添加备注:
目前找到了黄雄的DIO's RealProducer, 在我的程序中执行这个压缩工具可实现我的需求.现在压缩率已经是MGP的1/6而效果依然良好. 展开
3个回答
展开全部
啊 虽然我不会 不过我觉得暴风影音和QQ影音这些都是调用别家的dll实现的吧
你可以找找rmvb的实现文档 不过用c#还是推荐你用wmv 微软的东西一体化点可能会比较好
同时你捕获视频的时候应该有一个相应的配置的对吧 例如帧率以及画质这类的
你要是1秒钟捕获11帧基本就会很流畅了 不设置的话可能一秒捕获30帧到59帧 这样子即使压缩也不会有很大起色 仅作参考
你可以找找rmvb的实现文档 不过用c#还是推荐你用wmv 微软的东西一体化点可能会比较好
同时你捕获视频的时候应该有一个相应的配置的对吧 例如帧率以及画质这类的
你要是1秒钟捕获11帧基本就会很流畅了 不设置的话可能一秒捕获30帧到59帧 这样子即使压缩也不会有很大起色 仅作参考
追问
很好的建议, 谢谢.
不过我试了很久, 修改帧的代码也写好了, 就是不起作用.
还是谢谢你
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
深圳量子动力
2024-10-28 广告
2024-10-28 广告
双目摄像头是量子动力(深圳)计算机科技有限公司在机器视觉与立体视觉领域应用的关键组件。它通过模拟人类双眼的视觉机制,利用两个摄像头从稍有不同的角度捕捉同一场景,进而通过复杂的算法计算两幅图像之间的视差,从而重建出场景的三维信息。这一技术在自...
点击进入详情页
本回答由深圳量子动力提供
展开全部
你可以考虑使用WMV格式,使用微软的WMENCODE?当然微软的新版本的Expression Encode可以支持H264格式的压缩,不过不是免费的。可以做二次开发
追问
这么晚了还给回复, 谢谢了.
由于我是个人使用, 所以不想用付费的. 谢谢你的建议.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询