如何将终端录音转换为 GIF?

如何将终端录音转换为 GIF?

我使用该工具做了终端记录script

mediainfo video 
General
Complete name                            : video
File size                                : 1.29 KiB

我可以用 播放它scriptreplay。是否可以将其转换为 GIF,例如使用ffmpeg或其他程序?

为了澄清起见,我的意思是script来自bsdutils包,而不是程序脚本。我认为保存的文件是一种视频,所以我可以 grep 一些帧/图片并创建它的 GIF。

我希望现在更加清楚了。

答案1

一个不错的选择是使用ttyrec而不是script记录你的终端活动,然后使用将其转换为 GIFttygif

  1. 安装ttyrecttygif包:

    sudo apt install ttyrec ttygif
    
  2. 打开一个终端并开始ttyrec记录您的终端:

    ttyrec
    

    ttyrec不带参数运行会将录音保存到ttyrecord当前文件夹中的文件中。您可以指定文件名作为参数,以此名称保存文件。

  3. 使用您的终端。

  4. Ctrl+D停止录音。

  5. 要将录音转换为 GIF,请运行:

    ttygif ttyrecord
    

    如果您使用其他文件名保存了录音,请更改ttyrecord为您使用的文件名。

    此命令将把录音保存为名为 的 GIF tty.gif


这是我使用上述过程创建的包含上述过程的 GIF:

包含上述过程的 GIF


笔记

  • 如果运行时出现此错误ttygif

    Error: WINDOWID environment variable was empty
    

    运行之前需要运行以下命令ttygif

    export WINDOWID=$(xdotool getwindowfocus)
    

    上述命令需要xdotool。你可以使用以下命令安装它:

    sudo apt install xdotool
    

    参考:https://github.com/icholy/ttygif#additional-notes

  • ttygif由于某种原因,无法与 qterminal 配合使用。请使用其他终端进行转换。

    我已经确认它在 kitty 上运行良好,在 GNOME 终端上运行很慢,但在 XTerm 上运行速度极快。

  • ttygif命令可能会在 中生成大尺寸目录/tmp。我建议在转换后使用以下命令手动删除它们:

    rm -r /tmp/ttygif.*
    

相关内容