22 Ağustos 2011 Pazartesi

FFmpeg ile Ekran Kayıtta Fare Takibi

Burada da tozların içinde kalmış böyle bir günlüğümüz varmış yazmayalı yıl olalı. Arada yüzünü güldürmeye çalışayım buranın da.

Hafta sonu haberdar olduğum önemli bir gelişmeden başlayayım o zaman. Oyun alanımdaki key-mon için projenin durum takip sisteminde bir iki kayıt girdikten sonra burada konuştuğum geliştiricinin günlüğüne göz atmaya başladım ve epey bir zaman geçirdim. Bu göz atış sırasında yer imlerime eklediğim sayfalardan biri de ekran kaydıyla ilgiliydi.

Kişisel günlüğümdeki GNU/Linux bölümünü takip edenler belki sudo pisi it istanbul'u hatırlıyordur. Kullandığım sistemde ekran kaydı yapmakta epey bir zorlandığımdan dem vuruyordum orada, güzelim şiiri o hale sokarak. Tabii gerçek şiir dostları boş durur mu küfürleriyle tepkilerini güzelce dile getirmişlerdi. Neyse değiştirdiğim Yazık oldu Süleyman Efendi'yeyi yayınlamayayım şimdi burada.

İşte ne diyordum, ekran kaydında artık grafik arayüzlerden umudumu kesmeye başlamıştım ki şöyle sihirli bir komuta denk geldim:
$ ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x800 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 2 output.mkv
Sonunda sorunsuzca kaydetmiştim ekranı uzun zaman sonra ilk defa bu komutla. Her ne kadar çok ihtiyacım olmasa da fare takip etme özelliğinin de olup olmadığını merak etmiştim ama araştırmaya fırsat olmadan araya başka şeyler girmişti o zaman.

key-mon'un geliştiricilerinden Yu-Jie Lin'ın günlüğünde Follow mouse for x11grab now officially in FFmpeg'i görünce tanrı günlük yazan geliştiricileri korusun dedim yok yok bir şey demedim hemen okumaya başladım. Detaylar için bir önceki bağlantının dışında Follow mouse for x11grab of FFmpeg'e de bakabilirsiniz.

Sanırım Yu-Jie Lin'in yaptığı yamayı hem FFmpeg hem de Libav kabul etmiş durumda. Sonraki sürümlerde
$ ffmpeg -f x11grab -follow_mouse 100 -s cif -r 25 -i :0.0 /tmp/out.mpg
benzeri komutlarla fareyi takip ettirebileceğiz ekran kaydı sırasında.

Yukarıdaki tüm yazılanları biraz daha anlaşılır kılmak için şu video çok yardımcı olacaktır:

Yorumlarda ayrıca fare tıklamalarının görselleştirilmesiyle ilgili şeyler de konuşuluyordu. Belki bir gün bu özellik de FFmpeg ile birlikte gelir.

Başlıkta ve yazıda imleç takibi demek daha iyi olabilirdi ama şimdi o kadar şeyi değiştirmek istemiyorum.

Burada daha sık görüşmek üzere, hoşça kalın.

Şimdi kafamda kaydedecek ne kaldı şeklinde filizlenen şarkısının aslı nedir kim bilir. Hala yayında mıyız, keselim, kes.