1/14/2009

Membuat screencast berkualitas tinggi dengan ffmpeg

Akhirnya saya menemukan salah satu cara untuk membuat screencast berkualitas tinggi, yaitu dengan bantuan ffmpeg. Intinya adalah kita menyuruh si ffmpeg tuk merekam langsung sesi X11 yang ada, nanti si ffmpeg akan langsung meng-encode si video ke file dalam format dan pengaturan yang menurut saya cukup bagus. Entah apa itu :D

ffmpeg bawaan Ubuntu 8.04 ternyata tidak dapat menangkap layar sehingga kita perlu melakukan kompilasi sendiri. Tutorial kompilasi dapat dibaca di http://gnufied.org/2008/07/14/screencasting-from-linuxubuntu/

Setelah itu kita cukup menjalankan ffmpeg tuk menangkap citra di layar dan merekamnya.

$ ffmpeg -f oss -i /dev/dsp -f x11grab -s 1024x768 -r ntsc \
     -sameq -i :0.0 foo.avi

Opsi2 lain tentu bisa diatur sendiri. Contoh di atas saya ambil dari situs yg saya sebut sebelumnya.

Jika ingin menangkap sebagian layar, atur posisi dan ukuran dengan cara berikut.

$ ffmpeg ... -s LEBARxTINGGI -i :0.0+KIRI,ATAS ...

Jadi andai bagian yang ingin ditangkap adalah area dengan lebar 400x300 yang berada di posisi 100,200, maka ffmpeg dijalankan seperti berikut.

$ ffmpeg -f oss -i /dev/dsp -f x11grab -s 400x300 -r ntsc \
     -sameq -i :0.0+100,200 foo.avi

okeh.. masalah selanjutnya adalah bagaimana cara mengkonversi formatnya menjadi format yang lebih bersahabat dengan web (flv? h264?) dan tetap mempertahankan kualitas.. perburuan masih berlanjut =D

4 komentar:

sugengfiles mengatakan...

Sudah saya compile dari svn, tapi kenapa ketika jalankan ada pesan kesalahan
symbol lookup error: /usr/lib/libavcodec.so.52: undefined symbol: av_gcd

Ubuntu Intrepid, folder install di /opt/ffmpeg, ffmped dari medibuntu sudah di uninstall

terima kasih

iang mengatakan...

@sugengfiles: wah saya gak familiar dg masalah2 kaya gtu.. gugling?

sugengfiles mengatakan...

googling sudah menjadi pilihan pertama saya.. tapi semua cara yang dapet dari google belum berhasil semua...

sugengfiles mengatakan...

sudah ketemu caranya, hapus file libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavcodec.a, libavdevice.a, libavfilter.a, libavformat.a di /usr/lib trus sudo ldconfig -v, ffmpeg bisa jalan lagi

Poskan Komentar