Nagrywanie pulpitu

Od dłuższego czasu wykorzystuję ffmpeg do konwersji filmów, dźwięku i wszelkiej maści mediów cyfrowych. Przed paroma dniami natknąłem  się na niesamowite zastosowanie jakim jest zgrywanie pełnoekranowego pulpitu pod X-ami. Otóż wykonuje się je na przykład tak:

ffmpeg -f x11grab -s 1600x900 -i :0.0+,224 -acodec mp3 -ac 1 -vcodec libx264 -threads 4 -f matroska capture.mkv

nie dość że obraz jest w wybranej rozdzielczości (tu 1600×900) to jeszcze stosujemy kompresję H264 i pakujemy wszystko do formatu Matroska
Dla mnie bomba!

Aktualizacja: Nowsza wersja łapiąca oprócz obrazu również dźwięk. Jest mały problem z brakiem synchronizacji ale ogólne wrażenie nadal świetne:

#!/bin/bash
#
NAME=$(basename $0)
SNDFILE=$(mktemp /tmp/$NAME.XXXXXX) || exit 1

arecord -f S16_LE -c1 -r44100 -t wav $SNDFILE & PIDaudio=$!

ffmpeg -y -i $SNDFILE -f x11grab -s 1600x900 -r 25 -i :0.0+,224 -vcodec libx264 -threads 0 -f matroska -acodec ac3 "$1" & PIDvideo=$!

read -p "Press enter to stop recording"
kill $PIDvideo $PIDaudio
rm -f $SNDFILE

Zostaw komentarz


Podpowiedź - możesz użyć tych HTML tagów i atrybutów:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>