如何在不模糊图形的情况下记录我的矢量图形游戏?


15

许多人要求为我的游戏提供预告片,因为屏幕截图并不公平。我已经测试了PlayClaw,Fraps,CamStudio,VirtualDub和其他一些次要工具;没有一个产生可行的结果。我的游戏使用矢量图形,并设计为以60fps的速度运行,因此常规屏幕捕获视频的有损压缩会破坏图形效果。

如何在不模糊图形和降低帧率的情况下记录游戏玩法?


2
装帧对您来说太慢了吗?确保已将其设置为以60fps而不是默认的30fps录制。
David Young 2010年

你能把问题扩大一点吗?我认为不在线了解有关录制游戏本身的简单预告片会很有趣,而且还可以制作将在游戏中播放的视频,即所谓的“剪切场景”,甚至预告片,还可以增加切换等视觉效果视频的一部分等...建议您提出问题,因为在我看来还存在任何疑问...
Prix

1
大奖太不同了...制作场景是另一个工作领域!
加速器

3
我认为您应该真正考虑一下。在我看到的所有解决方案中,它具有最好的质量,并且没有徽标,仅需少量投资。(您没有在提问中说免费)
杰西·多尔西

3
我同意我以前的回答。如果你可以重放输入和力(甚至重播)时间步长,你可以记录原始帧,并请你没有与他们做任何质量损失。
Kaj 2010年

Answers:


22

使游戏帧速率独立,因此可以将其设置为以固定的时间步长进行播放。玩游戏,记录输入。以固定的时间步长回放,记录输入内容并将每一帧写入文件-由于以固定的时间步长回放,写完帧所需的时间并不重要。这样,您的源素材就不会被压缩,您可以稍后决定质量,而不必牺牲速度或由于捕获程序而导致的故障。之后,出现After Effects之类的东西-至少您将获得清晰的源材料。

编辑添加:是的,我知道,使帧速率独立于固定的时间步长回放是很愚蠢的。咄。好吧,如果它是独立于帧率的,那么问题就不那么严重了; o)无论如何,游戏都应该独立于帧率!


5
帧速率独立性和确定性回放对于测试也很有用。Noel Llopis在这里有一篇不错的文章:gamesfromwithin.com/back-to-the-future-part-1(也有第二部分链接)。
celion 2010年

那么...您的想法是重新编码整个引擎(我没有做顺便说一句),以使其支持某种记录输入并完美地重放提到的输入的方式?抱歉,但这没用,特别是因为尽管游戏是确定性的(唯一的随机因素是视觉效果),但是物理引擎会发生波动,并且无法正常工作...我是在问市场营销方面的问题,而不是编程方面的问题。
speeder 2010年

如果物理引擎能够波动,则不是确定性的。输入记录(在大多数引擎中)插入一个位置,几乎不会“对整个引擎进行编码” .....无论如何,我听到了。<b>视频编码是一项相当昂贵的操作,无损但压缩效果更好。如果确实是硬盘访问问题,那么如果有足够的内存可以考虑设置ram磁盘。关于您对营销的评论,对不起,我以为您正在寻找解决方案-这也将为您的将来做好准备(如果您需要高分辨率,该怎么办?)。如果超出范围,请尝试ram-disk。
Kaj 2010年

为什么“使帧速率独立于固定的时间步长播放是愚蠢的”?为了使固定帧速率输出包含您录制的序列,录制时它必须与帧速率无关。
falstro,2010年

不必要。如果帧以有保证的固定帧速率运行(相对不太可能,但是,如果有),您可以在输入密钥并假定相同的时间步长的情况下重新播放密钥。此外,它听起来很傻:op
Kaj 2010年

8

您可能需要有关Pixel Prospector的这篇文章:

如何录制和编辑游戏视频

视频中使用的游戏是NeonPlat 2,它也使用矢量图形。

本文涵盖了从捕获到编辑的所有内容。


好的,我为此颁发了赏金,这实际上是最正确的……无论如何,感谢Kaj提到ram驱动器(解决了磁盘速度慢的问题),但是我不能授予...一半-奖励每个答案。
加速

没问题。希望您设法正确地抓住了东西!
Kaj 2010年

2
存档页面在这里。他们更新了页面,似乎是屏幕录像软件的重要清单
bobobobo 2012年

4

要录制游戏画面,您可以尝试使用CamStudio,它是免费的。我发现它不适用于全屏模式的游戏,因此您需要在窗口中运行游戏。

至于制作实际的预告片,您将需要一些视频编辑软件。有几种昂贵的商业选择,但是如果您想要免费的东西,那么您的选择就更加有限。您可以尝试使用Windows Movie Maker或iMovie(如果您使用的是Mac),但是我发现最好的免费视频编辑器是Blender,它被广泛称为3D建模和动画工具。用户界面不是很直观,但是如果您花一些时间来学习它,那么您还将获得一个相当不错的视频编辑工具。


3

我最好的经验是在Fraps上,但是我使用了没有限制或徽标的完整版本(似乎是一笔很小的一次性奖金,用于支付出色的实用程序)。您可以预先设置帧速率,如David Young在其评论中建议的那样。像许多视频捕获工具一样,Fraps在录制期间会使用低成本压缩,然后可以将其转换为您选择的更高压缩格式。为此,我通常使用VirtualDub。

我可以全速运行Fraps(在我的情况下为50fps)以获取高质量的捕获效果。

此处的关键问题是捕获需要一些性能,因此您应始终尝试在可用的最佳计算机上进行捕获。更具体地说,捕获工具进行大量连续的磁盘写入,因此选择将文件存储在快速硬盘驱动器上是关键。笔记本电脑通常配备访问速度较慢的硬盘,因此这可能会对性能产生很大影响。在捕获过程中使用较小的帧尺寸可以使硬盘驱动器更轻松地运行,并可以提高帧速率。帧允许您设置一半尺寸的帧。

对于Fraps,将FPS1编码的捕获AVI转换为可分配格式时所使用的压缩程度将极大地影响最终电影的质量。如果您在此处不考虑损耗,那么捕获工具的性能当然将不受影响。

我真的不认为您提到的程序通常这么糟糕,但是需要一些配置才能使其与您的特定游戏一起最佳地运行。


如果您已经遇到速度问题,则在PNG中保存每个单独的帧可能不是一个好主意。这可能会占用更多的CPU和磁盘时间,因为它将需要将每个帧及其所有信息一起存储。在对电影进行编码和存储时,许多编码器会使用许多完整的关键帧,并将其后的连续帧定义为一帧与下一帧之间的差。这可以极大地减小尺寸,但是它不允许您取出一帧并在没有关键帧的情况下读取它。

如果尝试将它们转储到单独的文件中,不仅每个帧的大小都会变大,而且文件访问本身也会带来开销。这是因为您必须为每一帧打开一个新的文件句柄,而不是像在电影盒中那样保持并流式传输到一个文件。

最好的选择还是录制无损电影并从中提取帧,或者在播放过程中捕获有限数量的帧,例如屏幕快照。


片段还具有无损记录模式。当然,它需要更大的磁盘吞吐量和RAM。如果您购买完整版本(我建议这样做),则徽标和时间限制将消失。
BRaffle

为什么我要提取帧?我要所有帧!@Banana我知道Fraps具有无损模式,正是我提到的模式会使Fraps变慢并使游戏玩法变怪(慢时似乎Fraps而不是丢帧而使游戏变慢)
更快

好的,当然,但是我想说的是,如果您尝试将每一帧都转储到单个图像文件中,则速度会更快。
Staffan E

2

这样的设备非常便宜,我敢打赌,您可以拥有第二台计算机来运行它(不需要任何特殊操作),以便可以从游戏机上捕获游戏(一定要有一台计算机)并以S-Video的形式出售此廉价版本)。还有一些类似的东西可用于更高质量的捕获-http: //www.blackmagic-design.com/products/intensity/,但需要USB 3并且价格更高,但可以捕获HDMI和更高的分辨率。我真的没有比这两个更好的选择了。


1

我已经多次使用Windows Media Encoder录制我的游戏和工具的视频-它是免费的并且提供高质量的视频。

虽然,我也想知道同样的问题,因为录制视频仅是过程的一半(如果有的话)。另一半正在编辑,添加效果等。Windows Movie Maker有点用,但是相当简单...而且崩溃。


because recording a video is only half the process好一点,我也想知道,正如最初问题的评论所述...
Prix

1

如果是Windows,请在不拖慢计算机速度的情况下使用PlayClaw录制游戏视频。在Linux上,您具有glc



1

基本上,问题是:

基于矢量的游戏的质量。占用的CPU数量。I / O瓶颈。

使用什么软件进行编辑。

为了解决质量问题,我需要无损编解码器或不进行压缩。压缩程度越小,我遇到的I / O问题就越多,但是我占用的CPU越多,我遇到的CPU问题就越多(doh)。

解决方案是使用RamDrive解决I / O瓶颈,因此现在我只剩下要占用的CPU数量(即:尽可能最小的CPU)。因此,理论上最好的方法是完全不压缩,但在ramdrive命中空间可用问题上完全不压缩...

因此,我进行了研究,发现最快的无损编解码器(无论压缩多少)都属于CamStudio Lossless

我使用的软件是VirtualDub(CamStudio本身无法捕获窗口内容,它捕获了整个窗口,因此浪费了空间)。

现在正在编辑软件:嗯,这里没有人提供好的遮阳篷,我也不会这样做,但是可以在其他地方找到其他列表。


3
我注意到您已将视频上传到YouTube。请注意,Youtube使用H.264重新编码所有视频,因此,经过所有这些挥手操作,您最终还是使用了有损编解码器。
BlueRaja-Danny Pflughoeft 2011年

0

您可能要尝试使用vnc2flv,但它本身不会做音频(不过您可以稍后添加音频轨道)。虽然不确定您的CPU是否会讨厌您尝试与正在运行的游戏一起进行实时FLV编码。


0

听起来似乎很明显,但是...在录制视频时,请勿对游戏进行全屏显示,否则它将“明显”缓慢地移动,因为它会捕获屏幕分辨率。我猜这就是您的想法。

FRAPS会照顾好这个。许多其他人也会如此,但是我发现FRAPS最方便,最容易使用。

我使用FRAPS进行记录,并使用Windows Movie Maker将我在《星际争霸II》中制作的一些地图放在一起- 例如


实际上...我什至没有全屏尝试,我所有的测试都是在窗口模式下进行的。
加速器

0

这是我过去制作仅视频预告片的过程:

  1. 使您的游戏以固定的时间步长运行。这意味着显式传递从现在到最后一帧之间的时间,而不是在游戏循环内部进行计算。
  2. 渲染帧后,将其转储为无损图片格式,例如.tiff,并以帧号作为名称。这使另一个应用程序可以轻松地将一系列图片编码为电影。
  3. 转储到适当的视频编码器(我使用DirectShow编写了一个简单的编码器)以转换为.avi或所需的任何视频格式。

0

最好的方法是使游戏自我记录。简单的方法就是以固定的帧速率保存每一帧。使用SSD无需花费时间。较难的方法是制作自己的“片段”。如果您这样做。您可以直接与您的游戏交流。


0

我最近为自己的游戏制作了一部预告片。引擎为我提供了一些帮助,该引擎允许屏幕截图足够快地进行动画处理。我做了什么:

  • 尽管我没有固定帧速率,但是以固定的间隔(每秒25个)进行捕获。我记录了游戏过程,该过程在驱动器上生成了数千张图像。
  • 然后,我将这些图像导入kdenlive中的剪辑中
  • 添加了一些标题,音乐,徽标,淡入淡出以使其看起来更舒适

实际上直接捕获图像意味着我无法从游戏中获得声音,但是获得了质量更好的图像。添加一些音乐,弥补不足。


-6

如果您有两台PC,请使用Skype的屏幕共享功能。在一台PC上玩游戏,然后使用另一台PC捕获视频。这样,您就不会影响游戏,视频捕获程序也不会缺少资源。

相反,您可以为PC购买视频捕获卡。


哇... 。。
David McGraw

3
Skype不能神奇地发送视频而不对其进行编码,这将使CPU时间脱离程序。

1
这是我见过的最糟糕的主意。
Mathias Lykkegaard Lorenzen 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.