![从终端记录整个屏幕](https://linux22.com/image/1292590/%E4%BB%8E%E7%BB%88%E7%AB%AF%E8%AE%B0%E5%BD%95%E6%95%B4%E4%B8%AA%E5%B1%8F%E5%B9%95.png)
我正在帮助一位朋友做演示,他想展示一些他拍摄但转换为 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 中的帧捕获到文件中?