Sebulan kemarin saya dapat kerjaan buat fungsi thumbnail dari file pdf, flv, dan swf yang telah diupload. Awalnya, saya ragu apa bisa PHP digunakan untuk buat thumbnail. Kemudian saya cari-cari informasi dengan google, ternyata ada juga, Alhamdulillah. Setelah dipelajari sumber-sumber yang ada, untuk membuat thumbnail tersebut memang tidak bisa dipisahkan dari sistem operasi yang dipakai server. Kemudian saya konfirmasi tentang server yang dipakai dan ternyata linux. Tidak kaget sebenarnya, tapi cukup menambah kerjaan juga karena harus menginstal linux di laptopku. Sebenarnya sempat terpikir untuk langsung uji coba pakai server yang online, tapi karena membutuhkan tambahan aplikasi sepertinya lebih bebas bila memakai komputer sendiri.
Akhirnya saya pilih instal Ubuntu karena saya sendiri lebih familier dengan linux ini dibandingkan dengan yang lain. Saya pakai Ubuntu 10.04 LTS yang baru saja launching bulan April lalu. Untuk kebutuhan servernya saya instal Apache, MySQL, dan PHP. Jadilah server lokal berbasis LAMP (Linux, Apache, MySql & PHP).
Nah, sekarang untuk membuat thumbail dari file-file yang disebutkan sebelumnya saya memerlukan aplikasi-aplikasi tambahan yaitu
- ghostscript
- imagemagick
- ffmpeg
- swfdec-genom
Aplikasi ghostcript digunakan untuk membaca file pdf yang kemudian saya gunakan untuk membuat thumbnail dengan memakai aplikasi imagemagick. Perintah untuk proses ini adalah sebagai berikut:
convert -geometry <HEIGHT>x<WIDTH> -quality 100 < INPUT >[HALAMAN] < OUTPUT >
convert -geometry 100×100 -quality 100 buku.pdf[0] buku.jpg
Sedangkan untuk file flv, saya menggunakan aplikasi ffmpeg untuk mengambil frame video pada waktu tertentu kemudian disimpan menjadi file image (jpg).
ffmpeg -itsoffset -4 -i < INPUT > -vcodec mjpeg -vframes 1 -an -f rawvideo -s < HEIGHT >x< WIDTH > < OUTPUT >
ffmpeg -itsoffset -4 -i video.flv -vcodec mjpeg -vframes 1 -an -f rawvideo -s 100×100 video.jpg
Dan yang terakhir, yaitu membuat thumbnail dari file swf. Dari hasil searching saya di google, saya menemukan bahwa dari file swf kita dapat membuat file jpg dengan script PHP melalui data yang dikirimkan lewat metode GET maupun POST. Tapi setelah diamati yang diperlukan dalam permasalahan yang dihadapi adalah bagaimana membaca frame dalam file swf yang kemudian saya bisa gunakan untuk membuat file image. Hampir putus asa juga saya, karena dari forum-forum yang ada yang membahas masalah ini tidak menyebutkan solusi yang konkrit.
Kemudian saya coba cari aplikasi swf yang ada di linux. Saya buka Synaptic Package Manager dan mencari kata swf, saya coba amati penjelasan tentang aplikasinya, dan akhirnya saya menemukan swfdec-gnome. Dari penjelasannya, saya membaca bahwa aplikasi ini di dalamnya terdapat swfdec-thumbnailer yang dapat membuat screenshots dari file swf. Dari sana saya coba instal aplikasi tersebut, dan kemudian saya cari cara penggunaannya.
swfdec-thumbnailer [ OPTION ...] < INPUT > < OUTPUT >
swfdec-thumbnailer -s 100 animasi.swf animasi.png
Nah, untuk penggunaan perintah-perintah diatas pada script PHP, saya menggunakan fungsi exec
<?php exec($command); ?>
Dari proses convert dan ffmpeg file yang dihasilkan berformat jpg, sedangkan untuk swfdec-thumbnailer menghasilkan image berformat png. Kesimpulannya bahwa untuk membuat file thumbnail tidak bisa hanya dengan library yang ada pada PHP saja tetapi memerlukan aplikasi lain sebagai pendukung.
Recent Comments