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

时间:2011-05-29 02:16:04

标签: c# c++ directx video-capture

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

我的第一个想法是更低级别的东西,比如DirectX前端 - 也许挂钩一些DirectX方法并记录这种方式。我希望有一个工具包或完整的框架,使这更容易。

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

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

2 个答案:

答案 0 :(得分:2)

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

http://wiki.videolan.org/C_Sharp

请注意许可证限制......我不确定VLC使用的许可证。

答案 1 :(得分:1)

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

基本上你不需要任何第三方应用程序/库,因为.NET BCL可以处理屏幕截图,但你需要把它们拼接在一起。

您可以使用拼接器(例如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;
}

根据需要循环使用此方法。

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

然后使用Splicer结合:

enter image description here