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 nginx nginx;
worker_processes 30;
error_log /usr/local/nginx/logs/error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
events {
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" ' '"$gzip_ratio"';
keepalive_timeout 60;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
access_log off;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 1 32k;
postpone_output 1460;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server {
listen 80;
server_name 192.168.159.75;
root /usr/local/nginx/html/flv/;
index index.html;
charset utf-8;
#
在
flv
视频文件下载了
10M
以后开始限速。
limit_rate_after 10m;
#
速度限制为
512K
limit_rate 512k;
location ~ \.flv {
flv;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
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