스크린 캐스트의 애니메이션 GIF 이미지를 만드는 방법은 무엇입니까? 작성하기 위해

이 사이트에서 스크린 캐스트 (아래 그림과 같은)의 애니메이션 GIF 이미지가 답변을 개선하는 방법으로 몇 번 홍보되는 것을 보았습니다.

이를 작성하기 위해 어떤 툴체인이 사용되고 있습니까? 이것을 자동적으로 수행하는 프로그램이 있습니까, 아니면 사람들이 스크린 캐스트를 찍어 일련의 정적 프레임으로 변환 한 다음 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 리포지토리 에서 찾으십시오 .


답변

비 잔츠

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


답변

먼저 이것을 설치하십시오 :

sudo apt-get install imagemagick mplayer gtk-recordmydesktop

이것들은 ImageMagick, MPlayer 및 Desktop Recorder와 같은 필수 항목입니다. 그런 다음 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

답변

개요

이 답변에는 세 가지 셸 스크립트가 포함되어 있습니다.

  1. byzanz-record-window -녹화 할 창을 선택합니다.
  2. byzanz-record-region -녹화 화면의 일부를 선택합니다.
  3. MHC 의 간단한 GUI 프론트 엔드 .

소개

소개해byzanz 주셔서 감사합니다 Bruno Pereira ! GIF 애니메이션을 만드는 데 매우 유용합니다. 경우에 따라 색상이 꺼져있을 수 있지만 파일 크기가이를 보완합니다. 예 : 40초, 3.7MB .

용법

다음 두 스크립트 중 하나 / 모두를에있는 폴더에 저장하십시오 $PATH. 다음은 첫 번째 스크립트를 사용하여 특정 창의 스크린 캐스트를 만드는 예입니다.

  1. 운영 byzanz-record-window 30 -c output.gif
  2. 캡처하려는 창 (alt-tab)으로 이동하십시오. 그것을 클릭하십시오.
  3. $DELAY녹음 준비를하는 10 초 동안 (하드 코딩 됨 ) 기다립니다 .
  4. 경고음 ( beep함수에 정의 된) 후에 byzanz시작됩니다.
  5. 30 초 후 ( 301 단계 의 의미 ) 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 로부터 . 저장소를 복제하고 실행 파일을 가져 오십시오. (이 항의 경우에는 메이크 파일, 실행이없는 과 `메이크업을 실행하기 전에이).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"

답변

ffmpeg

내가 사용하는 가장 좋은 도구 중 하나는 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

이것은 예제 1366×768 비디오 크기를 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


답변

사일런트 캐스트

Silentcast는 애니메이션 .gif 이미지를 만들기위한 훌륭한 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

당신이 (당신이 정말로 업그레이드해야합니다!) 우분투의 지원되는 버전을 실행하지 않는 경우 최신 버전을 다운로드해야합니다 GitHub의 페이지에서 수동으로 (당신이에서 야드와는 FFmpeg을 조달 할 수있는 종속 관계를 만족 여기여기에 각각)이나, 13.10과 같은 약간 더 최신 버전을 실행중인 경우 .deb를 직접 다운로드 할 수 있습니다 .

Gnome을 사용하는 경우 Topicons 확장 프로그램 을 설치하여 Silentcast를보다 쉽게 ​​중지 할 수 있습니다.

용법

데스크탑 환경의 GUI에서 Silentcast를 시작하거나 silentcast터미널 에서 명령을 실행하십시오 . 설정을 선택하고 화면의 지시를 따릅니다. 녹음이 끝나면 특정 수의 프레임을 제거하여 최종 출력을 최적화하기위한 대화 상자가 표시됩니다.

자세한 사용 지침은 온라인 GitHub 버전 또는 /usr/share/doc/silentcastzless 또는 좋아하는 편집기에 저장된 로컬 버전 인 README를 살펴보십시오 .

노트:

Silentcast는 여전히 개발 단계에 있으며 상당히 안정적이지만 몇 가지 버그가 발생할 수 있습니다. 그렇다면 프로젝트의 GitHub 이슈 트래커에 보고하십시오 . PPA에서 설치하는 데 문제가 있고 지원되는 Ubuntu 버전을 실행중인 경우 아래에 의견을 남기거나 Launchpad 의 관리자 에게 문의하십시오 .


답변

여기에 나열된 모든 종류의 복잡하고 잘 작동하는 (아마도) 방법이 있습니다. 그러나 나는 그 과정을 이전과 이후로 진행하고 싶지 않았습니다. 그래서, 나는 몇 번이나 필요에 맞는 온라인 변환기를 사용합니다. 이 사이트를 사용했습니다 :

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

그것은 내 사이트가 아니며 어떤 식 으로든 그들과 제휴하지 않습니다. 그들은 내 북마크에있는 것 중 하나이며 더 많은 것들이 있습니다.