nginx 中的 Flv Stream 模块能实现 flv 流媒体的功能 , 而且支持 flv 视频进度条拖拽,以下搭建过程使用的 Debian 5.0.7 。


1、使用如下命令安装编译Nginx 所需软件包。


srv75:~# apt-get -y install zlibc libpcre++-dev bzip2 autoconf automake g++ gcc make libssl-dev


2、使用如下命令下载并编译安装Nginx。


srv75:~# useradd nginx -s /usr/sbin/nologin
 
srv75:~# cd /usr/src
 
srv75:src# wget http://nginx.org/download/nginx-1.0.0.tar.gz
 
srv75:src# tar -xvzf nginx-1.0.0.tar.gz
 
srv75:src# cd nginx-1.0.0
 
srv75:nginx-1.0.0# ./configure --with-http_ssl_module --with-pcre=/usr/local/pcre/ 
 
--with-zlib=/usr/local/zlib/ --user=nginx --group=nginx \
 
--prefix=/usr/local/nginx --with-http_flv_module
 
srv75:nginx-1.0.0# make && make install


3、使用如下命令安装yamdi。yadmi的作用是为flv文件添加关键帧,才能实现拖动播放。


srv75:~# apt-get -y install yamdi


4、修改/usr/local/nginx/conf/nginx.conf文件如下内容。


user
 
worker_processes 30;
 
error_log
 
pid
 
events {
 
use epoll;
 
worker_connections
 
}
 
http {
 
include
 
default_type
 
log_format main
 
'"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" ' '"$gzip_ratio"';
 
keepalive_timeout
 
server_names_hash_bucket_size
 
client_header_buffer_size
 
large_client_header_buffers
 
access_log off;
 
 
 
gzip on;
 
gzip_min_length
 
gzip_buffers
 
gzip_types
 
 
 
output_buffers
 
postpone_output
 
client_header_timeout
 
client_body_timeout
 
send_timeout
 
sendfile
 
tcp_nopush
 
tcp_nodelay
 
 
 
server {
 
listen
 
server_name
 
root
 
index
 
charset utf-8;
 
 
 
#在flv视频文件下载了 
 10M以后开始限速。 

 
limit_rate_after 10m;
 
#速度限制为512K
 
limit_rate 512k;
 
 
 
location ~ \.flv {
 
flv;
 
}
 
error_page
 
location = /50x.html {
 
root
 
}
 
}
 
 
 
}


5、启动Nginx后配置完成后即可,将flv的文件通过如下命令添加关键帧后,放到/usr/local/nginx/html/flv/目录后,只将一个支持拖拽播放的flash播放器(比如JW Player)放到/usr/local/nginx/html/flv/目录就可以播放http://192.168.159.75/output.flv文件了。


srv75:flv# yamdi -i input.flv -o output.flv