User login

Navigation

Breadcrumbs

จับจอภาพบน Linux

การจับจบภาพบน Linux (X windows) มาเป็น video สามารถทำได้ไม่ยากโดยใช้ Imagemagick
หลักการณ์คือจะจับภาพจาก X windows Frame เรียงกันไว้ แล้วเอามา convert เป็น video
อันดับแรกเลือก windows ที่จะจับภาพ โดยใช้คำสั่ง

xwininfo -frame

แล้วเอา mouse ไปเลือก windows จะได้ Output ออกมาแบบนี้

xwininfo: Window id: 0x3e00020 "root@dome-macbook: ~/capture"

  Absolute upper-left X:  227
  Absolute upper-left Y:  165
  Relative upper-left X:  227
  Relative upper-left Y:  165

จำค่า 0x3e00020 ไว้เพื่อใช้ในการจับภาพ
ทดสอบจับภาพ ด้วยคำสั่ง import

 import -frame -window 0x3e00020 test.tiff

ก็จะได้ไฟล์ test.tiff
ขั้นตอนต่อไป ก็เขียน shell script ชื่อ cap.sh มาเพื่อจับภาพให้ต่อเนื่อง

#!/bin/bash
i=0
while [ 1 ]
do
   x=$[i+10000];
   import -frame -window $1 "cap_${x/1/}.miff"
   i=$(( $i + 1 ))
   # sleep 2s
done
exit 0

เรียกใช้

 chmod +x cap.sh
 ./cap.sh 0x3e00020

จับภาพไปจนกระทั่งต้องการหยุดให้กด Ctrl+c
ก็จะได้ไฟล์ .miff มามากมาย ก็เอามา convert ให้กลายเป็น video ได้ โดย

convert -antialias  -delay 60 *.miff capture.m2v

ซึ่งต้องการไฟล์ mpeg2encode ในการ convert เป็น mpeg2
ใน Ubuntu 8.04 ดูเหมือนจะไม่ได้ให้มาด้วย อาจจะเป็นปัญหาเรื่อง สิทธิบัตร
สามารถไป Download มา compile ใช้เองได้จาก

ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/mpeg2vidcodec_v12.ta...

Comments