Module untuk Video Streaming Server
Posted 5 September, 2009
on:
Pengantar
Assalamualaikum wrbb.
thumbs111.jpgYOUTUBE merupakan situs videoblogging / videosharing/videonews yang belakangan sangat terkenal. Di Indonesia sendiri sekarang sudah mulai berkembang content video news seperti dari kompas.tv, layartancap.com , detikvideo , SCTV news dan lainnya.
PHPMOTION adalah opensource videosharing yang mempunyai fitur hampir sama dengan yang dimiliku youtube.com sehingga dapat disebut juga sebagai YOUTUBE CLONE. Dan keunggulan lain CMS video blog ini tersedia sourcenya dan free dengan lisensi GPL. Untuk keperluan pembelajaran,maka bila kita ingin mempunyai situs serupa youtube, PHPMOTION adalah pilihan tepat.
PHPMOTION sendiri menggunakan PHP dan PERL sebagai scripting engine untuk fondasi systemnya dan backedn mysql server untuk data storage (bisa juga dengan server database lainnya) serta menggunakan beberapa tool untuk videoconvert dan videocapture seperti lame, ogg vorbis codec, mencoder, flvtool dan ffmpeg.
Pada sesi kali ini kita akan mereview dan belajar melakukan instalasi PHPMOTION pada server Linux Ubuntu Server 7.10. Dipilihnya ubuntu karena relativ lebih mudah untuk pemula sebab instalasi dasar menggunakan dasar otomatis apt-get yang akan menginstall dan mendownload dependencies secara otomatis. Ataupun bisa menggunakan distro linux yang lain misalnya redhat/Fedora dan mandriva dengan Yum ataupun Urpmi. Sebenernya PHPMOTION juga bisa diinstall di windows dan berjalan normal di platform tersebut. Tetapi baiklah pada bahasan ini kita fokus pada ubuntu linux yang opensource ! .
Tips & Note:
Mungkin pada saat anda mencoba tutorial ini ada yang kurang pas, bisa disesuaikan dan di tune lagi sesuai dengan konfigurasi system dan OS yang anda miliki. Dan bila ada salah istilah dan kata yang dipakai penulis adalah keterbatasan pengetahuan penulis yang belajar Otodidak sendiri.
Langkah instalasi
Dengan tanpa banyak basa basi marilah kita segera melakukan instalasinya, agar lebih semangat mungkin bisa sambil mendengarkan lagu mp3. Berikut adalah langkah-langkah untuk melakukan instalasi phpmotion pada ubuntu server
1. Langkah persiapan
Anda harus terlebih dahulu menginstall ubuntu linux pada komputer atau server anda dan harus terhubung ke internet dan memiliki IP Addres publik sendiri bila ingin bisa diakses dari luar (untuk pointing domain ataupun lewat NAT dan dinamic DNS). Atau bila anda menggunakan servis webhosting anda harus memilih paket privat webhosting dedicated atau VPS atau servis colocation (silahkan hubungi penulis utk hal ini) dengan servis ssh dan console sehingga kita bisa menginstall apapun di server tersebut dan melakukan pointing domain ke server kita. Tetapi untuk bahan eksperiment kita bisa menggunakan komputer lokal yang diakses secara LAN dan bahkan melalui virtual machine pun bisa. (Penulis sendiri menginstall php motion pada Ubuntu Linux 8.04 yang berjalan diatas VMWare 5 pada OS windows XP yang kemudian nantinya OS Image nya dapat didevelop dan dicopy ke mesin sebenarnya dengan mudah)
2. Download phpmotion
download pada website http://www.phpmotion.com http://www.phpmotion.com
(anda harus register dulu pada forum agar bisa melakukan download) , pilih yang versi untuk php5, kemudian download an taruh file di folder misalnya:
/home/imam/PHPMOTION_PHP5.zip
3. update apt source
update dulu apt-sourcenya untuk mendapatkan data software terbaru, pada console XTERM
sudo -iapt-get update
apt-get upgrade
4. install apache2 dan mysql5 dan php5 dan perl cgi
apt-get install apache2 php5 libapache2-mod-php5 mysql-server-5.0 php5-mysql lynx-cur libapache2-mod-speedycgi
Periksa konfigurasi php.ini
pico /etc/php5/apache2/php.ini
sesuikan isi php.ini dengan konfigurasi yand dibutuhkan di bawah ini:
open_basedir = (kosongkan)
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 1500
session.gc_maxlifetime = 14000
safe_mode = off
enable_dl = On
short_open_tag = on
extension_dir = “./”
# Start apache dan mysql server
/etc/init.d/apache2 start
/etc/init.d/mysql start
#test koneksi ke mysql dan lihat database yang sudah ada
mysql -u root -e “show databases”
seharusnya ada output nama database seperti “mysql dan test”
#test php dan apache
cd /var/www/
echo “” > info.php ; chmod 755 info.php
#test dan browsing ke localhost dengan lynk atau browser , apakah apache dan php sudah jalan.
atau browse : http://l192.168.116.3/info.php
seharusnya sudah ada output dari browser lynx yang menerangkan tentang php dan modul yang terinstall, periksa hasilnya
5. install sofware dan tool pendukung lain
apt-get install libjpeg-progs libjpeg62 libjpeg62-dev libsdl1.2-dev php5-dev build-essential unzip libalogg-dev#download tool tambahancd /usr/local/src
#extract source tool tersebut
tar zxvf lame-3.97.tar.gz
tar zxvf libogg-1.1.3.tar.gz
tar zxvf libvorbis-1.2.0.tar.gz
tar zxvf flvtool2-1.0.6.tgz
tar jxvf essential-20071007.tar.bz2
tar jxvf ffmpeg-php-0.5.0.tbz2
bzip2 -cd amrnb-7.0.0.2.tar.bz2 | tar xvf –
bzip2 -cd amrwb-7.0.0.3.tar.bz2 | tar xvf –
tar zxvf libtheora-1.0beta3.tar.gz
#buat folder untuk instalasi codec
mkdir /usr/local/lib/codecs/
#install subversion client
apt-get install subversion ruby libcurses-ruby
#download ffmpeg dan mplayer tool source
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
cd /usr/local/src/mplayer
svn update
#pindahkan codec yang sudah di download ke folder code
mv /usr/local/src/essential-20071007/* /usr/local/lib/codecs/
#chmod agar codec bisa di jalankan
chmod -R 755 /usr/local/lib/codecs/
#buat folder temp untuk codec
mkdir /usr/local/src/tmp
chmod 777 /usr/local/src/tmp
export TMPDIR=/usr/local/src/tmp
Install lame
#installasi lame tool untuk konversi suara mp3 dan bitrate cd /usr/local/src/lame-3.97
./configure
make && make install
Install libogg
cd /usr/local/src/libogg-1.1.3 ./configure && make && make install
Install libvorbis
cd /usr/local/src/libvorbis-1.2.0 ./configure && make && make install
Install flvtool2
cd /usr/local/src/flvtool2-1.0.6/ ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
Install mplayer & mencoder
cd /usr/local/src/mplayer ./configure –enable-jpeg
make && make install
Install AMR (for 3gp conversion)
cd /usr/local/src/amrnb-7.0.0.2 ./configure
make && make install
cd /usr/local/src/amrwb-7.0.0.3
./configure
make && make install
Install libtheora (for ogg video encoding)
cd /usr/local/src/libtheora-1.0beta3 ./configure
make && make install
Install ffmpeg
./configure –enable-libmp3lame –enable-libvorbis \ –disable-mmx –enable-shared –enable-libamr-nb \
–enable-libtheora –enable-nonfree make
make install
ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52
ln -s /usr/local/lib/libavformat.so.52 /usr/lib/libavformat.so.52
ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51
ln -s /usr/local/lib/libamrnb.so.2 /usr/lib/libamrnb.so.2
6. Instalasi PHPMOTION
Instalasi berikut adalah bila phpmotion akan diinstall pada subfolder
(contohnya http://www.yourdomain.com/motion/ )
#unzip phpmotion
cd /var/www
mkdir motion ; cd motion
unzip /home/imam/PHPMOTION_PHP5.zip
rm -rf PHPMOTION_PHP5
mv PHPMOTION_PHP5/PHPMOTION/ .
rm -rf mv PHPMOTION_PHP5
chmod -R 777 setup pictures classes temp logs addons uploads
chmod -R 755 cgi-bin
File berikut harus diedit:
pico /var/www/motion/cgi-bin/uu_default_config.pm
Pada Bagian :
config_file_name => ‘uu_default_config’,temp_dir => $ENV{‘DOCUMENT_ROOT’} . ‘/temp/’,
upload_dir => $ENV{‘DOCUMENT_ROOT’} . ‘/uploads/avi/’,
redirect_url => ‘/uploader_finished.php’,
path_to_upload => ‘/uploads/avi/’,
Ubah menjadi :
config_file_name => ‘uu_default_config’,temp_dir => $ENV{‘DOCUMENT_ROOT’} . ‘/motion/temp/’,
upload_dir => $ENV{‘DOCUMENT_ROOT’} . ‘/motion/uploads/avi/’,
redirect_url => ‘/motion/uploader_finished.php’,
path_to_upload => ‘/motion/uploads/avi/’,
#simpan hasil editan ( crtrl X )
pico /var/www/motion/uploader_conlib.php
Pada bagian:
$path_to_upload_script = ‘/cgi-bin/uu_upload.pl’; $path_to_ini_status_script = ‘/cgi-bin/uu_ini_status.pl’;
Ubah menjadi:
$path_to_upload_script = ‘/motion/cgi-bin/uu_upload.pl’; $path_to_ini_status_script = ‘/motion/cgi-bin/uu_ini_status.pl’;
#setup database untuk phpmotion
pada console xterm ketikkan
mysql -u root -prahasia -e “create database motion;grant all privileges on motion.* to motionuser@localhost identified by ‘motionpass’ “
buka browser anda dan browsing ke alamat local atau komputer anda:
Click tombol next >> 2 kali sampai muncul input konfigurasi database
Mysql Host = localhost
Database Name = motion
Database Username = motionuser
Database Password = rahasia
Click next >> lagi , kemudian pada server setting, isikan (misalnya)
sebagai berikut
Site name = Imam Video Tutorial
Site base url = http://192.168.116.3/motion
Date format = d-m-y
Path to ffmpeg = /usr/local/bin/ffmpeg
Path to flvtool2 = /usr/bin/flvtool2
Path to mencoder = /usr/local/bin/mencoder
System email address = iferianto@yahoo.com
from system name = Imam Video Tutorial Teams
( sampai step ini, Jangan tekan tombol update dulu ! )
Untuk lebih menyakinkan dan mengetahui path ffmpeg flvtool dan lainnnya ketik pada Xterm ketikan:
which ffmpeg ; which flvtool2 ; which mencoder
kemudian paste path yang benar dari tool2 tersebut di text box isian setting server diatas
>> click tombol [update information],
setelah muncul username : admin , password = admin
>> kemudian click tombol [Finish – Admin login]
pada step ini proses instalasi selesai anda bisa login sebagai user= admin dan password admin untuk melakukan manajemen situs. Untuk mengupload video anda harus melakukan registrasi sebagai user dan login dengan user tersebut. Kemudian pada bagian admin tinggal melakukan aproove atas video content yang diupload oleh user tersebut.
Proses selanjutnya untuk mengamankan site, maka anda hapus folder setup pada Xterm
rm -rf /var/www/motion/setup
>> ahirnya proses instalasi selesai
[ Selamat anda sekarang sudah mempunyai situs Youtube Clone milik anda sendiri ! ]
Untuk lebih jauh script ini dapat dikembangkan dan ditambahkan fitur2 lain dengan mudah bagi yang sudah mempelajari PHP. Semoga tutorial ini berguna dan bermanfaat bagi anda dan juga rekan developer yang lain. Kurang lebihnya mohon maaf bila ada sedikit kesalahan atau kekurangan instruksi atau kurang jelas.
Wassalamualaikum wrbb.
Bila ada pertanyaan dan bantuan support silahkan menghubungi:
Imam Ferianto
YM/Email : iferianto [et] yahoo [dot] com
Contact: http://www.bernas.co.id/redaksi.php
Referensi:
1. Install ffmpeg-php pada ubuntu, http://linux.justinhartman.com/FFmpeg,_FFmpeg-PHP,_Lame,_Libogg,_Libvorbis,_FLVtool2,_Mplayer,_Mencoder,_AMR_Installation
1. Install ffmpeg from source, http://www.ubuntudog.com/?article=18
1. Howto install phpmotion, http://wiki.phpmotion.com/doku.php?id=installation_instructions
Tambahan Tips & Triks :
# Bila Saat registrasi user image verification tidak muncul
maka anda harus mengedit file
/var/www/motion/image.php , ubah baris 75,
ganti :
imagettftext($source, $fontsize, 0, 0, 18, $forecolors, “Alpha Romanie G98.ttf”, substr($_SESSION[‘teassocaptcha’], $i, 1));
menjadi :
imagettftext($source, $fontsize, 0, 0, 18, $forecolors, “/var/www/motion/Alpha Romanie G98.ttf”, substr($_SESSION[‘teassocaptcha’], $i, 1));
Bila ada error imagerotate() not exists!, maka berarti ada bug pada php5 ubuntu dan perlu dicompile ulang. Langkah compile PHP5 adalah:
# Install build tools, debian helpers and fakeroot
apt-get install build-essential debhelper fakeroot
cd /usr/src
# Download PHP source
apt-get source php5
# Install all packages required to build PHP5
sudo apt-get build-dep php5
cd php5-5.2.3
# periksa file debian/rules
pico debian/rules
ubah: –with-gd=shared,/usr –enable-gd-native-ttf
jadi : –with-gd=shared –enable-gd-native-ttf
# build the php5-* packages
dpkg-buildpackage -rfakeroot
cd ..
# Install the new php5-gd package
ls *.deb
dpkg -i php5-gd_5.2.3-1ubuntu6.3_i386.deb
Tidak ada komentar:
Posting Komentar