是否有任何 C# 或 C++ 框架可以方便录制桌面应用程序的视频?

发布于 2024-11-10 10:44:43 字数 210 浏览 4 评论 0原文

我正在研究录制桌面应用程序视频的各种方法,特别是视频游戏。

我的第一个想法是更底层的东西,比如在 DirectX 前端 - 也许挂钩一些 DirectX 方法并以这种方式记录。我希望有一个工具包或成熟的框架可以让这一切变得更容易。

我的目标是将视频捕获数据流式传输到我的服务器。

有谁知道是否有任何工具可以帮助我解决这个问题?说实话,语言对我来说真的不重要。

I'm researching the various ways of recording videos of desktop applications, specifically video games.

My first thought is something more lower level, like on the DirectX front - perhaps hook some DirectX method and record that way. I was hoping there would be a toolkit or full-blown framework for making this easier.

My goal is to stream video capture data to my server.

Does anyone know if there are any tools for helping me with this? Language really doesn't matter to me, to be honest.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

波浪屿的海角声 2024-11-17 10:44:43

或者使用 VLC (VideoLan) 并将其与您的应用程序捆绑在一起。

http://wiki.videolan.org/C_Sharp

但要注意许可证限制...我不确定VLC 使用什么许可证。

Alternatively use VLC (VideoLan) and bundle this with your application.

http://wiki.videolan.org/C_Sharp

Beware license restraints though... I'm not sure what license VLC uses.

一人独醉 2024-11-17 10:44:43

也许不是最简单的,但我记得这个问题:Record Video of Screen using .NET 。

基本上,您不需要任何第三方应用程序/库,因为 .NET BCL 可以处理屏幕捕获,但您需要一些东西将它们拼接在一起

您可以使用 Splicer(例如 http://splicer.codeplex.com)进行屏幕截图、合成图像并编译成视频/

例如,

private Image CaptureScreen()
{
    Rectangle screenSize = Screen.PrimaryScreen.Bounds;
    Bitmap target = new Bitmap(screenSize.Width,screenSize.Height);
    using(Graphics g = Graphics.FromImage(target))
    {
        g.CopyFromScreen(0,0,0,0,new Size(screenSize.Width,screenSize.Height));
    }
    return target;
}

只要您需要,就可以循环执行此方法。

List<Image> images;
while (stillAlive){
    images.Add(CaptureScreen());
}

然后使用 Splicer 进行合并:

在此处输入图像描述

Maybe not the easiest, but I remember this question: Record Video of Screen using .NET technologies

Basically you don't need any third party apps/libs as the .NET BCL can handle screen capture, but you will need something to stitch them together.

You take screen captures, composite your images and compile into a video using a Splicer such as http://splicer.codeplex.com/

e.g.

private Image CaptureScreen()
{
    Rectangle screenSize = Screen.PrimaryScreen.Bounds;
    Bitmap target = new Bitmap(screenSize.Width,screenSize.Height);
    using(Graphics g = Graphics.FromImage(target))
    {
        g.CopyFromScreen(0,0,0,0,new Size(screenSize.Width,screenSize.Height));
    }
    return target;
}

Loop through this method for as long as you need.

List<Image> images;
while (stillAlive){
    images.Add(CaptureScreen());
}

Then combine using Splicer:

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文