Thursday, May 15, 2014

Streaming Server RTMP dengan Nginx

Nginx ( dibaca engine x ) adalah sebuah aplikasi http server yang saat ini mulai banyak digunakan untuk pembuatan webserver, bahkan dengan keamanan yang tinggi telah banyak layanan webserver menggunakan Nginx sebagai aplikasi http server nya. Namun ada yang menarik dari nginx ini yaitu, bahwa nginx ini dapat dijadikan server media streaming RTMP flash . Ya Nginx dengan tambahan module rtmp-nginx akan berubah fungsi menjadi server streaming RTMP.


Untuk membuat server streaming RTMP dengan nginx ini sangat mudah terutama bagi pengguna ubuntu :

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

selanjutnya anda dapat mendownload source code nginx dan source code rtmp-nginx module

wget http://nginx.org/download/nginx-1.4.2.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

setelah anda download, extract kedua file tersebut
tar -zxvf nginx-1.4.2.tar.gz
unzip master.zip

selanjutnya masuk kedirektori :
cd nginx-1.4.2

selanjutnya anda tinggal compile dengan perintah
./configure --add-module=../nginx-rtmp-module-master
$ make
$ sudo make install

sudah selesai di compile dan install, edit file /usr/local/nginx/conf/nginx.conf
tambahkan text berikut

rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; } } }

bila sudah , jalankan aplikasi nginx :

sudo /usr/local/nginx/sbin/nginx
 
untuk memastikan apakah port 1935 pada nginx berfungsi , ketik
netstat -nltp

bila port 1935 tampil berarti sudah aktif Server Streaming RTMP dengan nginx . Selanjutnya kita membuat Live Streaming dengan menggunakan input film dengan codec h264/aac dengan menggunakan server streaming RTMP Nginx ini dengan menggunakan ffmpeg.

ffmpeg -i film.mpg -vcodec libx264 -s 426x240 -b:v 200k -acodec libfdk_aac -ar 22050 -ac 1 -b:a 16k -f flv rtmp://localhost/live/testing.mp4
Ok selanjutnya test live streaming tadi dengan aplikasi ffplay pada ffmpeg
ffplay rtmp://localhost/live/testing.mp4
kalau sudah jalan tinggal masukkan url rtmp tersebut di embeding Falsh Player pada web anda ...

4 comments:

  1. Bagaimana cara mengatasi "unknown encoder libfdk_aac"?
    Mohon bantuannya

    ReplyDelete
  2. maksudnya film.mpg itu apa gan ? apakah yang mau ditampilkan atau gmana ? #newbie

    ReplyDelete
  3. gabisa pak pas masukin perintah
    root@d2-K43E:/home/nginx-1.4.2# sudo /usr/local/nginx/sbin/nginx
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] still could not bind()

    ReplyDelete
  4. pas edit nginx.conf nya tambahinnya dimana kang andri?
    nuhun kang,,

    ReplyDelete