多个video源合并为一个

我正在寻找一种有效的方法来做到以下几点: 使用几个源video(长度大致相同),我需要生成一个输出video,该video由在其自己的区域中运行的所有原始源组成(就像一堆不同大小的PIP )。 因此,最终结果是所有原件并排运行,每个原件都在自己的区域/盒子中。 源和输出需要是flv ,我使用的平台是Windows(Windows 7 64位开发,部署到Windows Server 2008)。 我看过avisynth,但不幸的是它无法处理flv和非插件和我尝试过的flv分离器。 我当前的进程以下列方式使用ffmpeg : 使用ffmpeg为每个video生成每秒25个png,根据需要调整原始大小。 使用System.Drawing命名空间将每组帧组合成一个新图像,从静态背景开始,然后将每个帧加载到一个Image并绘制到背景Graphics对象 – 这给了我组合的帧。 使用ffmpeg将生成的图像合并到video中。 所有这些都是IO密集型(这是我目前的处理瓶颈),我觉得必须有一种更有效的方法来实现我的目标。 我没有太多的video处理经验,也不知道那里有什么选择。 有人能建议一种更有效的方法来处理这些吗?

WPF复选框检查IsChecked

我不是在谈论一个事件处理程序,而是一个简单的If Statement检查CheckBox是否已被选中。 到目前为止我有: if (chkRevLoop.IsChecked == true){} 但这引发了错误: 无法隐式转换类型’bool?’ ‘bool’。 存在显式转换(您是否错过了演员?) 有没有办法做到这一点,我错过了?

使用SSH.NET库从SFTP下载文件

string host = @”ftphost”; string username = “user”; string password = “********”; string localFileName = System.IO.Path.GetFileName(@”localfilename”); string remoteDirectory = “/export/”; using (var sftp = new SftpClient(host, username, password)) { sftp.Connect(); var files = sftp.ListDirectory(remoteDirectory); foreach (var file in files) { if (!file.Name.StartsWith(“.”)) { string remoteFileName = file.Name; if (file.LastWriteTime.Date == DateTime.Today) Console.WriteLine(file.FullName); File.OpenWrite(localFileName); string sDir […]

C#:在给定构造函数参数数组的情况下,是否有LINQ方法来创建对象数组?

举个例子,假设我有一个名字数组,我想通过调用一个带有string name的构造函数来创建一个Person对象数组。 class Person() { public string Name { get; set; } public Person(string name) { Name = name; } } … static void Main() { string[] names = {“Peter”, “Paul”, “Mary”}; Person[] people; /* I could do this but I’m wondering if there’s a better way. */ List persons = new List(); foreach(string name […]

不使用文件系统在C#中进行序列化

我有一个简单的2D字符串数组,我想将它填入MOSS中的SPFieldMultiLineText。 这映射到ntext数据库字段。 我知道我可以序列化为XML并存储到文件系统,但我想在不触及文件系统的情况下进行序列化。 public override void ItemAdding(SPItemEventProperties properties) { // build the array List<List> matrix = new List<List>(); /* * populating the array is snipped, works fine */ // now stick this matrix into the field in my list item properties.AfterProperties[“myNoteField”] = matrix; // throws an error } 看起来我应该可以这样做: XmlSerializer s = new XmlSerializer(typeof(List<List>)); properties.AfterProperties[“myNoteField”] […]

将此委托转换为匿名方法或lambda

我是所有匿名function的新手,需要一些帮助。 我得到以下工作: public void FakeSaveWithMessage(Transaction t) { t.Message = “I drink goats blood”; } public delegate void FakeSave(Transaction t); public void SampleTestFunction() { Expect.Call(delegate { _dao.Save(t); }).Do(new FakeSave(FakeSaveWithMessage)); } 但这完全是丑陋的,我想让Do的内部成为匿名方法,如果可能的话,甚至是lambda。 我试过了: Expect.Call(delegate { _dao.Save(t); }).Do(delegate(Transaction t2) { t2.Message = “I drink goats blood”; }); 和 Expect.Call(delegate { _dao.Save(t); }).Do(delegate { t.Message = “I drink goats […]

从ASP.NET 4.5 MVC Web应用程序迁移到.NET Core

我刚刚接受了一些我不熟悉的技术任务 – 我们可爱的Windows ASP.NET MVC Web应用程序应转换为在linux环境中使用。 我在健康方面工作,我们拥有绝对不会丢失的用户数据或头部会滚动(我们或他们的)。 我通常不是C#/ ASP.NET人 – 尽管我可以适应这项任务。 我一直在阅读官方文档@ http://docs.asp.net/en/latest/getting-started/installing-on-linux.html并且可以看到这个任务实际上意味着’瞄准.NET CORE (或单声道)框架’。 我已经google了,似乎没有事实上/简单的迁移方式 – 只需学习新的模块化设置,将配置文件打入project.json即可离开! 在我尝试手动执行此操作之前 – 您有什么信息可以告诉我吗? 一些系统化的流程要遵循? 也许我之前应该读过一些“陷阱”? 该项目使用NHibernate和Autofac进行DI – 似乎非常标准。 我只是想知道在Linux服务器上运行它需要多少读取/试验 – 最终这才是最重要的。

在没有预览的情况下打印ReportViewer

我正在使用Visual Studio 2010 C#Windows窗体应用程序+ MySql我有一个100%正常工作的报表查看器。 报告查看器充满了我的数据库的数据,它显示我点击按钮打印并打印…但是,我的客户不想点击这个按钮,他想自动打印。 当我调用ReportViewer时,它自己打印而无需单击按钮来执行此操作。 谁能告诉我我是怎么做到的? 我从工具箱中尝试了reportviewer1.print和PrintDocument。 但我不知道如何正确使用这些。 谢谢你的关注!

将DB Connection对象传递给方法

想知道是否建议传递数据库连接对象(到其他模块)或让方法(在另一个模块中)负责设置它。 我倾向于让方法设置为不必在使用之前检查连接的状态,只是让调用者将任何所需的数据传递给设置连接所需的调用方法。

如何使用C#在Windows上存储和检索凭据

我构建了一个C#程序,在Win10上运行。 我想通过按下按钮从该程序发送电子邮件(计算结果)。 我把来自:电子邮件地址和主题:等等放在C#属性中,但我不想在程序的任何地方放置明文密码,我不希望用户输入密码每次发送邮件时为服务器。 可以这样做吗? 如果是这样,如何(一般)? 我正在考虑将所有电子邮件信息(包括服务器的加密密码)放在数据文件中,以便在程序启动期间读取。 或许Win10有一个设施…