May 23, 2012

Error Upload Video Pada PHPmotion

Disini saya akan bercerita tentang pengalaman tentang error upload video pada phpmotion. Diasumsikan bahwa phpmotion sudah berjalan dan terinstall pada sistem operasi. Oh ya, sistem operasi disini memakai Fedora 14 32 bit, jadi untuk yang belum berhasil menginstallnya, anda dapat melihatnya pada tulisan Installation Phpmotion Part-1 dan Part-2.

Error yang saya alami adalah tidak ada video yang muncul setelah indikator upload pada login user menyatakan bahwa upload telah selesai (Upload is now Complete!), langsung liat pada direktori upload di home direktori phpmotion, ternyata file ada dan memang sudah terupload secara benar. Saya intip log webserver dan melihat error yang ada, terlihat error 'Use of Uninitialized value in numeric eq (==) ../uu_upload.pl ' . Langsung googling tetapi tetap tidak menemukan solusinya, bahkan ada yang menyebutkkna bahwa itu hanya notice dari perl.

Akhirnya saya memutuskan untuk melihat hasil dari log phpmotion itu sendiri. Untuk pertama saya melihat hasil dari tester.php (ternyata ada file bawaan phpmotion untuk tes konfigurasi file).
Akses ke http://domain_phpmotionmu/siteadmin/tester.php , hasilnya :

phpmotion tester
Ternyata semua sudah benar, ingat jika ada peringatan dengan warna merah disini, anda harus segera memperbaikinya dan sesuaikan dengan keadaan server anda.
Lalu melihat isi dari log convertor phpmotion yang terletak di direktori  /rootdokumen/logs, yaitu convertor_log.txt.

Lihat isinya, dengan menggunakan vi editor

# vi /rootdokumen/logs/convertor_log.txt

Barulah terilhat kesalahan yang terjadi , error yang sedari tadi memang saya cari-cari.
Pesan error terlihat seperti dibawah ini.

error while loading shared libraries: libswscale.so.0: not such file or directory

Pesan itu menunjukkan bahwa libswscale.so.0 tidak ditemukan, tetapi pada dasarnya memang sudah terinstall, mungkin karena perbedaan direktori, okelah langsung buat Symbolik link, perintahnya :

# ln -sf /usr/local/libswscale.so.0.11.0  /usr/lib/libswscale.so.0

Kenapa harus seperti itu?, karena sistem membaca file yang ada di /usr/lib bukan yang di /usr/local/lib.

Satu selesai dan coba upload video lagi (ext .flv)  dan berhasil, video langsung muncul. kemudian saya coba upload lagi tetapi dengan file .mp4, ternyata error seperti tadi, file masuk tetapi video tidak muncul dan  masalahnya masih sama yaitu pada saat encode video di dalam sistem.

Phpmotion dalam encode video menggunakan 2 fasilitas yaitu mencoder (mplayer) dan ffmpeg, jadi ketika upload file .flv encode menggunakan ffmpeg bisa berhasil, tetapi ketika upload .mp4 encode mengunakan mencoder, error yang muncul di convertor_log.txt :

MEncoder SVN-r34833-4.5.1 (C) 2000-2012 MPlayer Team
MPlayer was compiled without libmp3lame support.
-lameopts is not an MEncoder option

Artinya Mplayer tidak dikonfigurasi dengan libmp3lame, padahal aslinya saya sudah mengcompile Mplayer untuk support libmp3lame (bisa anda dilihat dibagian installasi phpmotion)

Karena pusing dan waktu yang sudah terbuang cukup lama, akhirnya saya memutuskan untuk meng-encode .mp4 menggunakan ffmpeg, caranya, buka file convertor.php di root dokumen, seperti ini :

# vi convertor.php , lalu cari kode ini :
case 'wmv':

tambahkan tepat dibawahnya untuk file .mp4, jadi seperti ini
case 'mp4':

Simpan dan restart apache, lalu coba upload video .mp4 lagi.
Alhamdulillah ternyata berhasil, video muncul, dan saya coba untuk audio, wmv, flv, avi, semuanya bisa terupload dengan baik. Jadi untuk mencoder masih menjadi PR yang harus dipecahkan, mungkin nanti kalau sudah ditemukan akan diupdate ditulisan ini.

Semua hal diatas berjalan dengan error yang ada ditempat saya, mungkin bisa berbeda apa yang dialami oleh orang lain.dan untuk mencoder mp4, bila ada diantara pembca yang sudah mendapatkan solusinya, bisa berbagi disini.

Terima kasih dan Salam.

5 comments:

  1. kalau di linux ubuntu gimana caranya mas???

    ReplyDelete
    Replies
    1. Hi sobat ridho,

      jika sobat mengalami error seperti tulisan ini, coba cermati langkahnya dari awal sampai akhir untuk mendapatkan solusinya, pelan-pelan dan dalami maksudnya.

      Ubuntu dan fedora, keduanya merupakan OS Linux, perintahnya sama, hanya tempat file yang disebutkan diatas mungkin berbeda.

      rootdokumen = tempat dimana sobat meletakkan dokumen hasil ekstrak dari phpmotion, misalnya di /var/www/phpmotion.

      selamat mencoba

      Delete
  2. Kalo internal error ketika upload video gmna mas padahal saya udah chmod 755 cgi-bin nya mungkin ada saran atau jawaban?

    ReplyDelete
  3. Kalo internal error ketika upload video gmna mas padahal saya udah chmod 755 cgi-bin nya mungkin ada saran atau jawaban?

    ReplyDelete
    Replies
    1. waduh maaf kelamaan jawabnya,

      mungkin bisa di cek permision untuk direktori uploadnya sob.., siapa tau aja user yang menjalankan web servernya belum di kasih hak untuk menulis, coba chmod 777 untuk direktori uupload untuk tes.

      Delete