从终端记录整个屏幕

从终端记录整个屏幕

我正在帮助一位朋友做演示,他想展示一些他拍摄但转换为 ASCII 艺术的视频。我可以在 Linux 机器上使用 aalib (-vo aa) 在 mplayer 上轻松完成此操作。但这只能播放电影,实时对其进行转码。我想要做的是将这些视频转换为 ASCII 艺术并将它们保存在文件中,以便它们可以在一些常规视频播放器(无论是 vlc、wmediaplayer 还是其他)上循环播放。

我尝试过使用 mplayer/mencoder 来转储流、视频、将其通过管道传输到 fifos、标准输出等等,但我似乎找不到任何方法来做到这一点。

你们中有人曾经这样做过吗?如果是,怎么做的?

多谢!

答案1

Aalib 太棒了。我认为问题在于 mplayer 输出位于不同的窗口中,这使得直接管道传输变得困难。以下是您可以采取的一些方法:

  • 一个选项是录制整个桌面。这SE链接 演示了使用 ffmpeg 录制整个屏幕的方法。

从终端记录整个屏幕

ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

然后,启动视频,最大化窗口,等到它停止,然后停止录制。手动或使用脚本裁剪屏幕捕获视频的屏幕尺寸和时间。这里的缺点是工作流程大于视频播放的实际时间。

  • 录制 xterm 是另一种方式,但我的xterm 显示从来没有我的其他设置的美感。

  • 如果您有三脚架、相机和耐心,您可以使用模拟工作流程录制回放。美学效果极佳,但这感觉有点傻。

  • 通过 mplayer 播放时,您可以获得最多的实时播放选项,因此我建议为您的朋友设置 Linux 作为最佳播放选项。此外,您还可以使用循环开关循环播放视频:
    -loop 0

我也很难录制 aalib。我很想知道更好的方法。如果你找到了,请与我分享。

答案2

只需在 xterm 或任何其他终端中启动视频播放器,然后使用某些屏幕录制工具将其捕获为 mpgeg/avi/任何视频文件即可。本文中有两个示例:如何将 X11 中的帧捕获到文件中?

相关内容