.NET 中的视频处理

问题描述 投票:0回答:5

我想打开 .avi 文件(最好是任何视频文件),将该视频作为位图(数组)序列处理,然后将其显示在屏幕上或将其保存到文件中。

.NET 中有哪些选项?

.net video
5个回答
3
投票

事实证明Splicer对我来说是最好的选择。它是 DirectShow.Net 的开源包装器。编程模型非常简单,连我都能够理解。


1
投票

我一直在 CodeProject 上使用这个 C# AVIFile 包装器 来转换位图 -> AVI,它也可以执行相反的操作。


1
投票

以前,Microsoft 的托管 DirectX 包装器提供了一个 AudioVideoPlayback 程序集,可用于此目的,但该程序集已基本上已失效

那篇文章列出了几个替代方案,为了完整性,我将在此处列出这些替代方案(我不能谈论它们的相对优点):

值得注意的是,不使用托管代码来实现 DirectShow 链中的过滤器的原因之一是一次只能托管一个版本的 CLR [1],因此两个版本不兼容的过滤器会以令人不快的方式失败(这与托管 shell 插件存在同样的问题)。

但是,将其作为应用程序而不是作为过滤器来执行应该没问题。

通过使用 DirectShow,您应该可以访问系统可解码的任何现有音频/视频流。

[1] 4.0 CLR 旨在为 2.0 及之后的所有 CLR 版本消除此问题。这是否是对现有扩展点的回顾性修复是一个悬而未决的问题。


1
投票

您还可以下载用于非商业目的的免费 VideoLab.NET - www.mitov.com 并使用它。它包括演示如何仅使用一行代码从流中获取位图。


0
投票

好吧,首先...他妈的冷静下来!!!!!!!!! 亲爱的,一切都会好起来的(可能是千禧年......哈哈) 初级软件开发人员...(笑) 很简单,因为我在这里……(笑) 好吧,更严肃地说, (哈哈......只是开玩笑......顺便说一句......但仍然是那种背叛你的问题,因为每个人都知道你可以使用 ffmPEG 来做这些事情......如果你不知道......那么现在是时候了让你知道...现在就看...(笑)无论如何...你会发现它会有点刺痛,否则不会正确且永久地打印在你的脑海中..对不起..我不制定规则对于人性...我只是使者(请不要开枪..哈哈...我想活下去...拜托)!!..好吧哈哈...现在回到正题) 你使用 ffmpeg 与 Powershell对象(ypu可以运行脚本或工具 或者您始终可以运行 System.Diagnostic.Process 对象 但它很糟糕(特别是如果你想要异步处理又长又挑剔的视频文件,需要永远处理(笑)..并且如果你有一堆长视频......现在好了...... 现在 !! 你真倒霉啊……(笑) 所以使用PowerShell 在系统.管理.自动化 并将您的处理包装在脚本或 CmdLet/模块中(如果您有疯狂的动力..Lol) 或者 您还可以使用 FFMpegCore (Github) 或 Xabe.FFMpeg (Github) 好的。 好了! 祝你好运..问候,先生...哈哈

© www.soinside.com 2019 - 2024. All rights reserved.