Skip to content

ลองทำ video on demand ด้วย Nginx + RTMP module

Last updated on April 9, 2016

สาเหตุของการเล่นครั้งนี้คือผมซื้อ smart phone ใหม่ (เกิดมาเพิ่งมีกับเขาเครื่องแรกนี่แหละ) ก็ตามประสามนุษย์ก้มหน้าทั่วไปแหละครับ เวลาเข้าส้วมก็เอาไปจิ้มๆ ดูนั่นดูนี่ เลยอยากได้ Video On Demand ไว้ใช้ ค้นข้อมูลก็พบว่า Nginx มันทำได้แต่ต้องติดตั้ง RTMP module ด้วย

ระบบ module ของ Nginx ยังไม่สะดวกเท่า Apache เพราะงั้นเลยต้อง compile จาก source code แทน

cd /usr/local/src
wget -c http://nginx.org/download/nginx-1.5.4.tar.gz
tar xvfz nginx-1.5.4.tar.gz
git clone https://github.com/arut/nginx-rtmp-module.git

ถ้าไม่ได้ติดตัั้ง git จะดาวน์โหล source ของ rtmp module เป็น .zip มาก็ได้ คอมไพล์และติดตั้ง

cd nginx-1.5.4
./configure --add-module=/usr/local/src/nginx-rtmp-module --with-http_ssl_module
make
sudo make install

ถ้าเราต้องการ VOD แบบง่ายๆ ก็แค่ config ให้ไป index รายชื่อไฟล์จากไดเรกทอรี่ที่เก็บไฟล์ก็ได้แล้ว สมมุติผมรัน localhost ไว้ที่ port 9999

server {
    	listen 9999;
	    root /home/user/Videos;

    	location / {
    		    autoindex on;
    	}
}

restart Nginx เสร็จก็จะได้ VOD over HTTP ใช้แล้ว และถ้าขี้เกียจ browse เลือกไฟล์เองก็ generate playlist เอาแบบง่ายก็ใช้คำสั่งข้างล่างนี้ครับ

find /home/user/Videos | egrep "\.(avi|wmv|mp4)" > playlist.m3u

เวลาเปิดก็สั่งเปิดด้วยโปรแกรม media player พวก VLC งี้ก็ได้ ก็จะได้ playlist จิ้มเลือกเรื่องที่อยากดูได้เลย

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.