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