スクリーンキャストのアニメーションGIF画像を作成する方法は?


476

このサイトでは、回答を改善する方法として、スクリーンキャストのアニメーションGIFイメージ(下のような)が数回宣伝されています。

アニメーションGIF画像

これらを作成するためにどのツールチェーンが使用されていますか?これを自動的に行うプログラムがありますか、それとも人々がスクリーンキャストを取り、それらを一連の静的なフレームに変換してからGIFイメージを作成しますか?


6
LICEcap(http://www.cockos.com/licecap)は、GUIベースであるため、以下のソリューションよりもはるかに簡単です。自由と価格のように無料です。唯一の欠点は、Wine経由で実行する必要があることです。
デニス14年



2
このスクリーンショットの例は、Windowsで撮影されたものですか?
クレメント

@Clémentそれも私が最初に気づいたことです:)
UniversallyUniqueID

回答:


269

ピーク

画面からGIFを簡単に記録できる新しいアプリケーションです。

プレビュースクリーンキャストデモ

とにかく、GIFのカラーパレットは非常に限られているため、GIFを使用することはあまりお勧めできません。

Ubuntu 18.10以降では、Peekを直接インストールできます。

sudo apt install peek

古いバージョンのUbuntuでは、PPAからPeekの最新バージョンをインストールできます。

sudo add-apt-repository ppa:peek-developers/stable
sudo apt update
sudo apt install peek

詳細については、GitHubリポジトリを参照してください。


2
はい、これは素晴らしいです。その唯一のX11で動作し、GNOME 3を対象にして
Ajith R Nairの

2
@BeastWinterwolfおよびExillustX:ここにバグレポートを投稿せず、実際にそれらを見ることに関心がある問題トラッカーを使用してください!ここに報告してください:github.com/phw/peek/issues
oligofren

2
これは素晴らしいツールです。
マイク

1
@Jop V.レコードの記録はどのように作成しましたか?
ミルコフスキー

1
@milkovskyこれは記録しなかった。そうは言っても、仮想マシンを使用して記録したと思います。
stommestack

272

ビザンツ

GIFスクリーンキャストを録画するのに私が見つけた最高のソフトウェアは、Byzanzです。

Byzanzは、GIFに直接記録するため、ファイルのサイズを最小限に抑えながら、品質とFPSが印象的であるという点で優れています。

設置

Byzanzは現在、ユニバースリポジトリから入手できます。

sudo apt-get install byzanz

使用法

インストールされると、ターミナルで実行できます。

これは私が今やった小さな例です

byzanz-record --duration=15 --x=200 --y=300 --width=700 --height=400 out.gif

ここに画像の説明を入力してください


3
ありがとう、素敵なツール!色は常に正確ではありませんが、それは些細なことです。私はに投稿された(ユーザーが実行時に選択)ウィンドウで、取り込みに役立つシェルスクリプト書いた以下の答えを
ロブW

57
ByzanzにはUIがありません!記録する領域のx、y、幅、高さを推測することになっていますか?2014年に私がまだこれをしなければならないのは少しばかげています。
ダンダスカレスク14年

5
@DanDascalescu使用する必要があると言う人は誰もいません...私はGUIよりも端末の方が好きですが、何が悪いのでしょうか?
ブルーノペレイラ14年

31
@DanDascalescu推測する必要はありません。を使用xwininfoして、ウィンドウのプロパティを取得できます。
マーカスモーラー

4
期間を事前に知る必要がないようにする方法はありますか?録音するとき、どれくらい時間がかかるかを事前に知りません。
ニコラスラウル

236

最初にこれをインストールします:

sudo apt-get install imagemagick mplayer gtk-recordmydesktop

これらは、必要なもの、ImageMagick、MPlayer、およびDesktop Recorderです。次に、デスクトップレコーダーを使用して、スクリーンキャストとして使用する画面/アプリケーションの一部をキャプチャします。デスクトップレコーダーが記録をOGVビデオに保存した後、MPlayerを使用してJPEGスクリーンショットをキャプチャし、「出力」ディレクトリに保存します。

ターミナルで:

mplayer -ao null <video file name> -vo jpeg:outdir=output

使用のImageMagickをアニメーションGIFにスクリーンショットを変換します。

convert output/* output.gif

この方法でスクリーンショットを最適化できます。

convert output.gif -fuzz 10% -layers Optimize optimised.gif

35
gifを最適化するもう1つの方法は、gifsicleを使用することgifsicle -O in.gif -o out.gifです。ファイルサイズを100倍削減しようとしました。
Yrogirg

10
不思議な人のために、@ Yrogirgコマンドの最初のフラグは数字の「0」ではなく大文字の「O」です:)
brandizzi 14年

2
うわー、gifsicleは私のものをより速くしましたが、小さくしませんでした、そして、convert optimizeコマンドはそれを本当にaaaいものにしました。
MalcolmOcean

6
最後の2つのconvertステップを1 つにまとめることをお勧めしますconvert output/* -layers Optimize output.gif。私にとっては、これにより処理時間が短縮され、出力ファイルが小さくなりました。これらの手順を個別に行う理由はありません。(私は-fuzz 10%引数を試していない。)
thejoshwolfe

1
@MalcolmOceanのように、このconvertステートメントは恐ろしいものを超えました。ドキュメント(imagemagick.org/script/command-line-options.php#layers)によると、optimize実装は時間とともに変化する可能性があります。しかし、フラグconvertを使用してわずかに調整されたステートメントは-coalesce状況を改善しましたが、それでも受け入れられるほどではありませんでした。-layers optimize-transparency最良の結果を得るには、この設定を使用する必要がありましたconvert 'output/*.jpg' -coalesce -layers optimize-transparency optimised.gif

136

概要

この回答には3つのシェルスクリプトが含まれています。

  1. byzanz-record-window -記録するウィンドウを選択します。
  2. byzanz-record-region -録画する画面の一部を選択します。
  3. MHCによる1用のシンプルなGUIフロントエンド。

前書き

ブルーノ・ペレイラを紹介してくれてbyzanzありがとう!GIFアニメーションを作成するのに非常に便利です。場合によっては色が消えることもありますが、ファイルサイズがそれを補います。例:40秒、3.7MB

使用法

次の2つのスクリプトの1つ/すべてを、内のフォルダーに保存します$PATH。最初のスクリプトを使用して特定のウィンドウのスクリーンキャストを作成する例を次に示します。

  1. 走る byzanz-record-window 30 -c output.gif
  2. キャプチャするウィンドウ(alt-tab)に移動します。クリックして。
  3. $DELAY録音の準備をする10秒間(でハードコード化)待機します。
  4. ビープ音(beep関数で定義)の後、byzanz開始します。
  5. 30秒後(30ステップ1の意味)、byzanz終了します。ビープ音が再び放送されます。

シェルスクリプトへの引数がそれ自体に追加されることを示すために、-cフラグを含めました。フラグが指示し、またスクリーンキャストでカーソルを含めること。またはを 参照してください。byzanz-record-windowbyzanz-record-cbyzanz
man byzanz-recordbyzanz-record --help

byzanz-record-window

#!/bin/bash

# Delay before starting
DELAY=10

# Sound notification to let one know when recording is about to start (and ends)
beep() {
    paplay /usr/share/sounds/KDE-Im-Irc-Event.ogg &
}

# Duration and output file
if [ $# -gt 0 ]; then
    D="--duration=$@"
else
    echo Default recording duration 10s to /tmp/recorded.gif
    D="--duration=10 /tmp/recorded.gif"
fi
XWININFO=$(xwininfo)
read X <<< $(awk -F: '/Absolute upper-left X/{print $2}' <<< "$XWININFO")
read Y <<< $(awk -F: '/Absolute upper-left Y/{print $2}' <<< "$XWININFO")
read W <<< $(awk -F: '/Width/{print $2}' <<< "$XWININFO")
read H <<< $(awk -F: '/Height/{print $2}' <<< "$XWININFO")

echo Delaying $DELAY seconds. After that, byzanz will start
for (( i=$DELAY; i>0; --i )) ; do
    echo $i
    sleep 1
done

beep
byzanz-record --verbose --delay=0 --x=$X --y=$Y --width=$W --height=$H $D
beep

byzanz-record-region

依存関係:xrectselxrectselから。リポジトリのクローンを作成して実行し、実行可能ファイルを取得します。(makefileがないことに抗議する場合は、実行してから `makeを実行してください)。make./bootstrap./configure

#!/bin/bash

# Delay before starting
DELAY=10

# Sound notification to let one know when recording is about to start (and ends)
beep() {
    paplay /usr/share/sounds/KDE-Im-Irc-Event.ogg &
}

# Duration and output file
if [ $# -gt 0 ]; then
    D="--duration=$@"
else
    echo Default recording duration 10s to /tmp/recorded.gif
    D="--duration=10 /tmp/recorded.gif"
fi

# xrectsel from https://github.com/lolilolicon/xrectsel
ARGUMENTS=$(xrectsel "--x=%x --y=%y --width=%w --height=%h") || exit -1

echo Delaying $DELAY seconds. After that, byzanz will start
for (( i=$DELAY; i>0; --i )) ; do
    echo $i
    sleep 1
done
beep
byzanz-record --verbose --delay=0 ${ARGUMENTS} $D
beep

Guiバージョン byzanz-record-window

MHCによるコメント):シンプルなGUIダイアログでスクリプトを変更する自由を取りました

#!/bin/bash

# AUTHOR:   (c) Rob W 2012, modified by MHC (https://askubuntu.com/users/81372/mhc)
# NAME:     GIFRecord 0.1
# DESCRIPTION:  A script to record GIF screencasts.
# LICENSE:  GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
# DEPENDENCIES:   byzanz,gdialog,notify-send (install via sudo add-apt-repository ppa:fossfreedom/byzanz; sudo apt-get update && sudo apt-get install byzanz gdialog notify-osd)

# Time and date
TIME=$(date +"%Y-%m-%d_%H%M%S")

# Delay before starting
DELAY=10

# Standard screencast folder
FOLDER="$HOME/Pictures"

# Default recording duration
DEFDUR=10

# Sound notification to let one know when recording is about to start (and ends)
beep() {
    paplay /usr/share/sounds/freedesktop/stereo/message-new-instant.oga &
}

# Custom recording duration as set by user
USERDUR=$(gdialog --title "Duration?" --inputbox "Please enter the screencast duration in seconds" 200 100 2>&1)

# Duration and output file
if [ $USERDUR -gt 0 ]; then
    D=$USERDUR
else
    D=$DEFDUR
fi

# Window geometry
XWININFO=$(xwininfo)
read X < <(awk -F: '/Absolute upper-left X/{print $2}' <<< "$XWININFO")
read Y < <(awk -F: '/Absolute upper-left Y/{print $2}' <<< "$XWININFO")
read W < <(awk -F: '/Width/{print $2}' <<< "$XWININFO")
read H < <(awk -F: '/Height/{print $2}' <<< "$XWININFO")

# Notify the user of recording time and delay
notify-send "GIFRecorder" "Recording duration set to $D seconds. Recording will start in $DELAY seconds."

#Actual recording
sleep $DELAY
beep
byzanz-record -c --verbose --delay=0 --duration=$D --x=$X --y=$Y --width=$W --height=$H "$FOLDER/GIFrecord_$TIME.gif"
beep

# Notify the user of end of recording.
notify-send "GIFRecorder" "Screencast saved to $FOLDER/GIFrecord_$TIME.gif"

17
これらのスクリプトはgithubのような場所に保存されていますか?これらは非常に便利です。StackOverflowの回答のテキストよりもどこかに保存されていると便利です。
KFro 14

1
@KFroこれはAsk Ubuntuであり、SOではありません;)いいえ、スクリプト自体は(ユーザー向けに)十分に文書化されていないため、gitリポジトリに配置していません。付随するドキュメントは回答に含まれているため、Gitリポジトリ内のファイルとドキュメントを分割してもメリットはありません。
ロブW 14

1
編集のためのクレジットはもうありませんが、完了しました;-)。
Rmano 14年

2
これに大いに感謝したかった-素晴らしい答えと私をたくさん助けてくれました。ここだ、私がなってしまったものを。notify-sendサウンドがオフの場合にも使用したいです。
ダニエルバックマスター

2
@Masi Byzanz-およびこれらのスクリプト-16.04で私にとっては問題なく動作します
ジェフパケット

51

ffmpeg ffmpegをインストールする

私が使用する最高のツールの1つはffmpegです。などのスクリーンキャストツールからほとんどのビデオを取得kazamし、別の形式に変換できます。

これをソフトウェアセンターからインストールしubuntu-restricted-extrasます。優れたパッケージをインストールすると、自動的にインストールされます。

Kazamは、ビデオ形式mp4またはで出力できますwebm。一般的に、より良い結果をmp4フォーマットで出力できます。

GIF作成構文の例

ビデオをgifに変換する基本的な構文は次のとおりです。

ffmpeg -i [inputvideo_filename] -pix_fmt rgb24 [output.gif]

変換されたGIF-特に標準の25/29フレーム/秒のGIFは非常に大きくなる可能性があります。たとえば、25fpsの800Kb webm 15秒ビデオは435Mbに出力できます!

これはいくつかの方法で減らすことができます。

フレームレート

オプションを使用する -r [frame-per-second]

例えば ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gif

サイズを435Mbから19Mbに縮小

ファイルサイズの制限

オプションを使用する -fs [filesize]

例えば ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gif

注-これはおおよその出力ファイルサイズであるため、サイズは指定されたサイズよりわずかに大きくなる場合があります。

出力ビデオのサイズ

オプションを使用する -s [widthxheight]

例えば ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gif

これにより、サンプルの1366x768ビデオサイズが26Mbに縮小されました。

永遠にループ

GIFを永久にループさせたい場合があります。

オプションを使用する -loop_output 0

ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gif

さらに最適化および縮小

imagemagick convert3%から10%のファズ係数で使用すると、画像サイズを劇的に縮小できます

convert output.gif -fuzz 3% -layers Optimize finalgif.gif

最後に

これらのオプションのいくつかを組み合わせて、Ask Ubuntuで管理可能なものに減らします。

ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gif

に続く

convert output.gif -fuzz 8% -layers Optimize finalgif.gif

ここに画像の説明を入力してください


Dockerがあり、ビデオがあるdemo.mkv場合は、次のコマンドを実行できます。docker run --rm -v $(pwd):/tmp/video/ jrottenberg/ffmpeg -i /tmp/video/demo.mkv -framerate 1/2 -pix_fmt rgb24 -loop 0 /tmp/video/demo.gifsudo chown $USER:$USER demo.gif
czerasz

2
私には、-loop_output... などのオプションがないと文句を言います。

1
+1ベストアンサー。しかし、1つのQはまだubuntu-restricted-extras優れていると思いますか?
セブルスタックス

1
@ParanoidPandaのオプションはになりました-loop。だからそうだろう-loop 0。Ubuntu 16.04.01で動作するコマンドを次に示しffmpeg -f x11grab -r 25 -s 100x100 -i :0.0+500,500 -pix_fmt rgb24 -loop 0 out2.gifます。+500,500100x100の長方形を開始するX、Y位置です。xgrab入力として画面を受け取ります。
サンボール

34

サイレントキャスト

Silentcastは、アニメーションの.gif画像を作成するためのもう1つの優れたGUIベースのツールです。その機能は次のとおりです。

  • 4つの記録モード:

    1. 画面全体

    2. 内側の窓

    3. 装飾が施された窓

    4. カスタム選択

  • 3つの出力形式:

    1. .gif

    2. .mp4

    3. .webm

    4. .png (フレーム)

    5. .mkv

  • インストール不要(ポータブル)

  • カスタム作業ディレクトリ

  • カスタムfps

設置

通常のインストールが必要で、Ubuntuのサポートされているバージョンを実行している場合は、PPAでSilentcastをインストールできます。

sudo add-apt-repository ppa:sethj/silentcast  
sudo apt-get update  
sudo apt-get install silentcast  

サポートされているバージョンのUbuntuを実行していない場合(実際にアップグレードする必要があります!)、GitHubページから最新バージョンをダウンロードし、依存関係を手動で満たす必要があります(ここここからそれぞれyadとffmpegを入手できます)または、 13.10などの少し新しいバージョンを実行している場合は、.debを直接ダウンロードしてみてください。

Gnomeを使用している場合は、Topicons拡張機能をインストールして、Silentcastを簡単に停止できます。

使用法

デスクトップ環境のGUIからSilentcastを起動するかsilentcast、ターミナルでコマンドを実行します。設定を選択して、画面の指示に従います。記録が終了すると、特定の数のフレームを削除して最終出力を最適化するためのダイアログが表示されます。

詳細な使用ガイドラインについては、README をご覧ください。オンラインGitHubバージョンまたは/usr/share/doc/silentcastzlessまたはお気に入りのエディターで保存されているローカルバージョンのいずれかです。

例

ノート:

Silentcastはまだ開発段階にあり、非常に安定していますが、いくつかのバグが発生する可能性があります。その場合は、プロジェクトのGitHub課題トラッカーで報告してください。PPAからのインストールに問題があり、Ubuntuのサポートされているバージョンを実行している場合は、以下のコメントを残すか、Launchpadのメンテナー(me)に連絡してください。


すぐに私はそれがクラッシュした「STOP」を打つよう...
サンフランシスココラレスモラレス

@FranciscoCorralesMoralesコマンドラインから実行してから試してみてください。クラッシュしたら、出力を取得してpaste.ubuntu.comにアップロードし、ここにリンクし直してください。ありがとう!
セス

1
これがうまくいくことを確認できます!これは、この答えに表示されているように、開いているウィンドウの外に大きな解像度で.gifファイル(650キロバイト)非常に小さなを作成します。askubuntu.com/questions/882419/...私はAUで私を@Sethは素晴らしい男だポスターを追加し、助けたかもしれません一般的なチャットルームのセットアップ:)
WinEunuuchs2Unix

プロジェクトは放棄されていますか?リポジトリへのコミットは2年近くありません。
フラックス

残念ながら、健康上の問題とuniの間で@fluxはい。リポジトリは現在放棄されています。ただし、GitHubのプロジェクトはそうではなく、最新のコードを入手できます。
セス

8

ここには、これを行うためのあらゆる種類の複雑でうまく機能する(おそらく)方法があります。しかし、これまでもそれ以降も、このプロセスを経験したことがありません。そのため、必要に応じて、自分のニーズに合ったオンラインコンバーターを使用するだけです。私はこのサイトを使用しました:

http://ezgif.com/video-to-gif

それは私のサイトではなく、私は彼らとは何の関係もありません。これらは私のブックマークの1つに過ぎず、さらに多くのブックマークがあります。


私はこれが好き。私はすでにsimplescreenrecorderを使用して、機会にYouTubeのデスクトップを記録しているため、mkvをgifに変換するのは簡単でした。
isaaclw

8

Rob Wのrecord-gif.sh改良版を作成しました:byzanz-record-region

の不完全なGUI byzanzにより、ユーザーエクスペリエンスが向上しました(マウスで選択可能な領域、進行状況バーの記録、再生可能な記録)。

シェルでデスクトップを記録

  • 記録を設定しdurationます。
  • save_as宛先を設定します。
  • 記録する領域を(マウスで)選択します ;
  • 記録を再生するスクリプトを作成します(を参照$HOME/record.again)。

インストール

インストールスクリプトも作成しました

curl --location https://git.io/record-gif.sh | bash -

1
sudo apt install autoconf byzanzこのスクリプトを実行する前に行う必要があります。ubuntuにはデフォルトでインストールされません
Crantisz

@Crantiszありがとう、インストールスクリプトを更新して、autoconfとをインストールしましたbyzanz。試してもらえますか?
エドゥアールロペス

他のPCでテストしました。新しくインストールしたubuntuシステムにはgitはありません。理由はわかりませんが、2回目のapt-get Y / Nの質問の直後にスクリプトが停止します。1つのコマンドですべての依存関係をパックできますか?
クランティ

あなたはちょうどあなたができるrecord-gif.shたい場合は、コマンド@Crantisz、インストーラスクリプトであるレポからそれを得る
エドゥアール・ロペス

4
  1. 次の3つのパッケージをインストールします。 imagemagick mplayer gtk-recordmydesktop
  2. デスクトップレコーダーを実行して、スクリーンキャストとして使用する画面/アプリケーションの一部をキャプチャします
  3. https://github.com/nicolas-raoul/ogv2gifogv2gif.shからダウンロード
  4. 実行: ./ogv2gif.sh yourscreencast.ogv
  5. GIFファイルは同じディレクトリに配置されます

maniat1kの回答からインスピレーションを受けた100%。


3

さらに洗練されたい場合は、HTMl5キャンバススクリーンキャストを使用したアニメーションGIFよりも洗練された方法を使用できます。X11-キャンバス-スクリーンキャストのプロジェクトは、画面キャプチャアニメーションHTML5のキャンバスを作成します。

Sublime TextのWebサイトで、この技術の有名な例を見たことがあるかもしれません。x11-canvas-screencastマウスカーソルの追跡を組み込むことにより、このメソッドをさらに一歩進めます。ここだX11-キャンバス-スクリーンキャストが生成するもののデモは、

結果は、アニメーションGIFよりも優れています。色の数に制限されず、必要な帯域幅が少ないためです。


1
それは素晴らしく、すべてのですが、簡単に、ツイッターなど、この、例えばスラックを共有することはできません
イライジャ・リン

@ElijahLynn非常に本当です。このソリューションは、高フレームレート、低帯域幅、フルカラー深度向けに最適化されています。javascriptを必要とするため、移植性はありません(たとえば、ツイートに埋め込むため)。
gene_wood

3

それでは、マウスクリックもキャプチャするために、私が見つけたのはkey-mon(のREADME経由でscreenkey

その後私は:

  • 開始 key-mon
  • コマンドに入力xrectselされた画面座標を取得するために使用しますbyzanz
  • byzanzコマンドを実行する

...それは次のようなものです:

out.gif

key-mon --visible_clickマウスクリック時にマウスポインタの周りに円を描くことに注意してください-これは私が好むでしょうが、Ubuntu 14.04.5 LTSでは、クリックを正しく示すためにこの円が十分に速く現れたり消えたりしないため、これは多少壊れていますマウスを押して離す)。


2

私は最近、すでにここに投稿されたスクリプトの組み合わせバージョンを作成しました。
基本的に、画面領域を記録できますが、シンプルなGUIを使用します。

これらのクールなスクリプトを提供してくれたRob Wに感謝します

コードは次のとおりです(または、必要に応じて要旨)。

#!/bin/bash

#Records selected screen region, with GUI

#This is combined version of GIF recording scripts, that can be found here: https://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast
#Thanks to Rob W, and the other author (unmentioned), for creating this lovely scripts

#I do not own any rights to code I didn't write
#                                     ~Jacajack

DELAY=5 #Delay before starting
DEFDUR=10 #Default recording duration
TIME=$(date +"%Y-%m-%d_%H%M%S") #Timestamp
FOLDER="$HOME/Pictures/Byzanz" #Default output directory

#Sound notification to let one know when recording is about to start (and ends)
beep() {
    paplay /usr/share/sounds/freedesktop/stereo/message-new-instant.oga &
}

#Custom recording duration as set by user
USERDUR=$(gdialog --title "Duration?" --inputbox "Please enter the screencast duration in seconds" 200 100 2>&1)

#Duration and output file
if [ $USERDUR -gt 0 ]; then
    D=$USERDUR
else
    D=$DEFDUR
fi

#Get coordinates using xrectsel from https://github.com/lolilolicon/xrectsel
REGION=$(xrectsel "--x=%x --y=%y --width=%w --height=%h") || exit -1

notify-send "GIFRecorder" "Recording duration set to $D seconds. Recording will start in $DELAY seconds."

for (( i=$DELAY; i>0; --i )) ; do
    sleep 1
done

#Record
beep
byzanz-record --cursor --verbose --delay=0 ${REGION} --duration=$D "$FOLDER/byzanz-record-region-$TIME.gif"
beep

notify-send "GIFRecorder" "Screencast saved to $FOLDER/byzanz-record-region-$TIME.gif"

2

マウスクリックまたはキーストロークの可視記録も必要な場合は、screenkeyが最適です:https : //github.com/wavexx/screenkey


2
私はscreenkeyマウスクリックをどのように処理するのかわかりません(キーボード表示のみのようです)が、そのREADMEはkey-monそれを行うことができるものについて言及しています、以下の私の答えを参照してください。
sdaau

1

を使用gtk-recordmydesktopしてffmpeg

apt-get install gtk-recordmydesktop ffmpeg

RecordMyDesktopを実行して、スクリーンキャストとして使用する画面/アプリケーションの一部をキャプチャします。

gtk-recordmydesktop

ogv2gif.sh次のコンテンツで作成します。

INPUT_FILE=$1
FPS=15
WIDTH=320
TEMP_FILE_PATH="~/tmp.png"
ffmpeg -i $INPUT_FILE -vf fps=$FPS,scale=$WIDTH:-1:flags=lanczos,palettegen $TEMP_FILE_PATH
ffmpeg -i $INPUT_FILE -i $TEMP_FILE_PATH -loop 0 -filter_complex "fps=$FPS,scale=$WIDTH:-1:flags=lanczos[x];[x][1:v]paletteuse" $INPUT_FILE.gif
rm $TEMP_FILE_PATH

これを使って :

./ogv2gif.sh yourscreencast.ogv

参考文献:


1

上記のすべての方法をテストしましたが、最も簡単な方法は次のとおりです。

  1. gtk-recordmydesktopkey-monを使用してogvを取得します
  2. ffmpeg -i xx.ogv xx.gif <- パラメーターなし

fpsはオリジナルで、gifサイズはogvファイルより小さいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.