nginx 流媒体服务器 FFmpeg 截图

预备:

yum install -y automake autoconf libtool gcc gcc-c++

1.安装php

yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel php-fpm

2.安装 nginx

yum –y install nginx nginx-devel

3.安装FFmpeg

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

安装 Install ffmpeg 等模块
yum -y install ffmpeg ffmpeg-devel

4.安装 php ffmpeg 扩展

wget http://garr.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.6.0.tbz2

tar jxvf ffmpeg-php-0.6.0.tbz2 
cd ffmpeg-php-0.6.0

phpize

./configure

make

make install

切换到 php.d

生成 ffmpeg.ini文件 内容:extension=ffmpeg.so

5.安装yamdi

yadmi的作用是为flv文件添加关键帧,才能实现拖动播放

#下载yadmi

wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download

#安装yadmi

tar xzvf yamdi-1.4.tar.gz

cd yamdi-1.4

make && make install

使用方法:yamdi -i input.flv -o out.flv

6.配置nginx

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.1.145;

root    /var/www/html/flv/;

limit_rate_after 5m;    ####在flv视频文件下载了5M以后开始限速

limit_rate 512k;         ####速度限制为512K

index   index.html;

charset utf-8;

location ~ \.flv {

     flv;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

  root   html;

}

}

}

 

7.重启php-fpm  nginx 测试

下载开源的JW Player,上传 测试 12.flv视频

8.生成时间截图:

ffmpeg -i 12.flv -y -f mjpeg -ss 3 -vframes 1 -t 0.2 -s 320x240 test.jpg

image

9.浏览器访问测试

image

 

http://192.168.1.145/player.swf?type=http&file=12.flv&image=test.jpg

type:协议类型

file:视频源文件

image:视频截图文件