溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Linux中使用Asciinema進(jìn)行視頻錄制

發(fā)布時(shí)間:2021-08-17 22:04:40 來源:億速云 閱讀:127 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容主要講解“怎么在Linux中使用Asciinema進(jìn)行視頻錄制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么在Linux中使用Asciinema進(jìn)行視頻錄制”吧!

簡介

Asciinema 是一個輕量并且非常高效的終端會話錄制器。使用它可以錄制、回放和分享 JSON 格式的終端會話記錄。與一些桌面錄制器,比如  Recordmydesktop、Simplescreenrecorder、Vokoscreen 或 Kazam 相比,Asciinema  最主要的優(yōu)點(diǎn)是,它能夠以通過 ASCII 文本以及 ANSI 轉(zhuǎn)義碼編碼來錄制所有的標(biāo)準(zhǔn)終端輸入、輸出和錯誤信息。

事實(shí)上,即使是很長的終端會話,錄制出的 JSON 格式文件也非常小。另外,JSON 格式使得用戶可以利用簡單的文件轉(zhuǎn)化器,將輸出的 JSON  格式文件嵌入到 HTML 代碼中,然后分享到公共網(wǎng)站或者使用 asciinema 賬戶分享到 Asciinema.org  。***,如果你的終端會話中有一些錯誤,并且你還懂一些 ASCI 轉(zhuǎn)義碼語法,那么你可以使用任何編輯器來修改你的已錄制終端會話。

難易程度:

很簡單!

標(biāo)準(zhǔn)終端:

  • # - 給定命令需要以 root 用戶權(quán)限運(yùn)行或者使用 sudo 命令

  • $ - 給定命令以常規(guī)權(quán)限用戶運(yùn)行

從軟件庫安裝

通常, asciinema  可以使用你的發(fā)行版的軟件庫進(jìn)行安裝。但是,如果不可以使用系統(tǒng)的軟件庫進(jìn)行安裝或者你想安裝***的版本,那么,你可以像下面的“從源代碼安裝”部分所描述的那樣,使用  Linuxbrew 包管理器來執(zhí)行 Asciinema 安裝。

在 Arch Linux 上安裝:

# pacman -S asciinema

在 Debian 上安裝:

# apt install asciinema

在 Ubuntu 上安裝:

$ sudo apt install asciinema

在 Fedora 上安裝:

$ sudo dnf install asciinema

從源代碼安裝

最簡單并且值得推薦的方式是使用 Linuxbrew 包管理器,從源代碼安裝***版本的 Asciinema 。

前提條件

下面列出的前提條件是安裝 Linuxbrew 和 Asciinema 需要滿足的依賴關(guān)系:

  • git

  • gcc

  • make

  • ruby

在安裝 Linuxbrew 之前,請確保上面的這些包都已經(jīng)安裝在了你的 Linux 系統(tǒng)中。

在 Arch Linux 上安裝 ruby:

# pacman -S git gcc make ruby

在 Debian 上安裝 ruby:

# apt install git gcc make ruby

在 Ubuntu 上安裝 ruby:

$ sudo apt install git gcc make ruby

在 Fedora 上安裝 ruby:

$ sudo dnf install git gcc make ruby

在 CentOS 上安裝 ruby:

# yum install git gcc make ruby

安裝 Linuxbrew

Linuxbrew 包管理器是蘋果的 MacOS 操作系統(tǒng)很受歡迎的 Homebrew 包管理器的一個復(fù)刻版本。還沒發(fā)布多久,Homebrew  就以容易使用而著稱。如果你想使用 Linuxbrew 來安裝 Asciinema,那么,請運(yùn)行下面命令在你的 Linux 版本上安裝  Linuxbrew:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"

現(xiàn)在,Linuxbrew 已經(jīng)安裝到了目錄 $HOME/.linuxbrew/ 下。剩下需要做的就是使它成為可執(zhí)行 PATH 環(huán)境變量的一部分。

$ echo 'export PATH="$HOME/.linuxbrew/bin:$PATH"' >>~/.bash_profile$ . ~/.bash_profile

為了確認(rèn) Linuxbrew 是否已經(jīng)安裝好,你可以使用 brew 命令來查看它的版本:

$ brew --versionHomebrew 1.1.7Homebrew/homebrew-core (git revision 5229; last commit 2017-02-02)

安裝 Asciinema

安裝好 Linuxbrew 以后,安裝 Asciinema 就變得無比容易了:

$ brew install asciinema

檢查 Asciinema 是否安裝正確:

$ asciinema --versionasciinema 1.3.0

錄制終端會話

經(jīng)過一番辛苦的安裝工作以后,是時(shí)候來干一些有趣的事情了。Asciinema 是一個非常容易使用的軟件。事實(shí)上,目前的 1.3  版本只有很少的幾個可用命令行選項(xiàng),其中一個是 --help 。

我們首先使用 rec 選項(xiàng)來錄制終端會話。下面的命令將會開始錄制終端會話,之后,你將會有一個選項(xiàng)來丟棄已錄制記錄或者把它上傳到 asciinema.org  網(wǎng)站以便將來參考。

$ asciinema rec

運(yùn)行上面的命令以后,你會注意到, Asciinema 已經(jīng)開始錄制終端會話了,你可以按下 CTRL+D 快捷鍵或執(zhí)行 exit  命令來停止錄制。如果你使用的是 Debian/Ubuntu/Mint Linux 系統(tǒng),你可以像下面這樣嘗試進(jìn)行***次 asciinema 錄制:

$ su Password: # apt install sl # exit $ sl

一旦輸入***一個 exit 命令以后,將會詢問你:

$ exit ~ Asciicast recording finished. ~ Press <Enter> to upload, <Ctrl-C> to cancel. https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4

如果你不想上傳你的私密命令行技巧到 asciinema.org 網(wǎng)站,那么有一個選項(xiàng)可以把 Asciinema 記錄以 JSON  格式保存為本地文件。比如,下面的 asciinema 記錄將被存為 /tmp/my_rec.json:

$ asciinema rec /tmp/my_rec.json

另一個非常有用的 asciinema  特性是時(shí)間微調(diào)。如果你的鍵盤輸入速度很慢,或者你在進(jìn)行多任務(wù),輸入命令和執(zhí)行命令之間的時(shí)間會比較長。Asciinema  會記錄你的實(shí)時(shí)按鍵時(shí)間,這意味著每一個停頓都將反映在最終視頻的長度上。可以使用 -w 選項(xiàng)來縮短按鍵的時(shí)間間隔。比如,下面的命令將按鍵的時(shí)間間隔縮短為 0.2  秒:

$ asciinema rec -w 0.2

回放已錄制終端會話

有兩種方式可以來回放已錄制會話。***種方式是直接從 asciinema.org 網(wǎng)站上播放終端會話。這意味著,你之前已經(jīng)把錄制會話上傳到了  asciinema.org 網(wǎng)站,并且需要提供有效鏈接:

$ asciinema play https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4

另外,你也可以使用本地存儲的 JSON 文件:

$ asciinema play /tmp/my_rec.json

如果要使用 wget 命令來下載之前的上傳記錄,只需在鏈接的后面加上 .json:

$ wget -q -O steam_locomotive.json https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json $ asciinema play steam_locomotive.json

將視頻嵌入 HTML

***,asciinema 還帶有一個獨(dú)立的 JavaScript 播放器。這意味者你可以很容易的在你的網(wǎng)站上分享終端會話記錄。下面,使用一段簡單的  index.html 代碼來說明這個方法。首先,下載所有必要的東西:

$ cd /tmp/ $ mkdir steam_locomotive $ cd steam_locomotive/ $ wget -q -O steam_locomotive.json https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json $ wget -q https://github.com/asciinema/asciinema-player/releases/download/v2.4.0/asciinema-player.css $ wget -q https://github.com/asciinema/asciinema-player/releases/download/v2.4.0/asciinema-player.js

之后,創(chuàng)建一個新的包含下面這些內(nèi)容的 /tmp/steam_locomotive/index.html 文件:

<html> <head>   <link rel="stylesheet" type="text/css" href="./asciinema-player.css" /> </head> <body>   <asciinema-player src="./steam_locomotive.json" cols="80" rows="24"></asciinema-player>   <script src="./asciinema-player.js"></script> </body> </html>

完成以后,打開你的網(wǎng)頁瀏覽器,按下 CTRL+O 來打開新創(chuàng)建的 /tmp/steam_locomotive/index.html 文件。

結(jié)論

正如前面所說的,使用 asciinema 錄制器來錄制終端會話最主要的優(yōu)點(diǎn)是它的輸出文件非常小,這使得你的視頻很容易分享出去。上面的例子產(chǎn)生了一個包含  58472 個字符的文件,它是一個只有 58 KB 大 小的 22 秒終端會話視頻。如果我們查看輸出的 JSON  文件,會發(fā)現(xiàn)甚至這個數(shù)字已經(jīng)非常大了,這主要是因?yàn)橐粋€ “蒸汽機(jī)車” 已經(jīng)跑過了終端。這個長度的正常終端會話一般會產(chǎn)生一個更小的輸出文件。

下次,當(dāng)你想要在一個論壇上詢問關(guān)于 Linux 配置的問題,并且很難描述你的問題的時(shí)候,只需運(yùn)行下面的命令:

$ asciinema rec

然后把***的鏈接貼到論壇的帖子里。

故障排除

在 UTF-8 環(huán)境下運(yùn)行 asciinema

錯誤信息:

asciinema needs a UTF-8 native locale to run. Check the output of `locale` command.

解決方法: 生成并導(dǎo)出 UTF-8 語言環(huán)境。例如:

$ localedef -c -f UTF-8 -i en_US en_US.UTF-8 $ export LC_ALL=en_US.UTF-8

到此,相信大家對“怎么在Linux中使用Asciinema進(jìn)行視頻錄制”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI