Linux Inspirations

Module untuk Video Streaming Server

Posted on: 5 September, 2009

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.

lynx http://localhost/info.php

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

wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2

wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz

wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz

wget http://superb-west.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.0.tbz2

wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz

wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz

wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2

wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2

wget http://downloads.xiph.org/releases/theora/libtheora-1.0beta3.tar.gz

#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:

misal: http://127.0.0.1/motion/setup/

atau: http://192.168.116.3/motion/setup/

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

Blogs : http://iferianto.blogdetik.com , http://iferianto.multiply.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

Source : http://iferianto.blogdetik.com/tag/ubuntu/

Ditulis oleh :  Imam Ferianto

1 Response to "Module untuk Video Streaming Server"

tolong lampirin gambarnya bro

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

ABout Me!


WordPress ini sengaja saya buat untuk menulis apa yang telah saya lakukan agar saya selalu ingat, tulisan yang saya buat kebanyakan dalam bentuk tutorials configurasi linux dari hasil uji coba saya dan sebahagian di kutip dari beberapa website lain yang saya anggap perlu untuk saya tulis disini. Mudah-mudahan tutorial yang saya buat ini berguna buat pencinta linux yang lain. Salam Sejahtera.

Blog Stats

  • 120,467 hits

Linux Inspiration

%d blogger menyukai ini: