您的位置:首页 > 运维架构 > Nginx

搭建视频点播服务器 nginx/ flv /jw flv player

2014-01-23 12:06 429 查看
最近需要独立完成一个视频点播系统,作为当前A系统的一个大模块,一开始没什么头绪,因为之前没有接触过这方面的东西,后来经过不断的查找资料,总算慢慢找到一些线索,至少能提出并实践一个简易版的视频点播服务系统,思路如下:

目前我们这有3台服务器:一台是应用服务器,安装jdk和tomcat环境,提供A系统应用服务的,另一台是数据库服务器,安装oracle;第三台是视频服务器,用来存放视频文件(flv文件)的。

1、确定视频格式,如今视频格式极多,主流的也不少,avi,rmvb,swf,flv,wmv等等,不过做视频点播,从技术上出发,当然是选流媒体flv,如果选rmvb什么的,在网页里嵌套本地real player播放器来播放,这种方式,肯定行不通,既慢又卡,服务器也受不了,除非使用p2p技术,当然那就复杂了,成本高了。让管理员自己去转换格式然后再上传吧,这样会省下不少麻烦,同时也减少服务器压力。

2、选一个网页流媒体播放器,这里推荐一个比较好的受欢迎的:jw-flv-player,目前已是5.3版了,官网:http://www.longtailvideo.com/players/jw-flv-player/

注意下载的时候,如果不想播放器上有那个分享的功能,不要勾选“Include Viral, a video sharing plugin”,反正我是比较讨厌那个。页面播放有多种写法,可参照其官方文档:

我用的是:

Js代码


<script type="text/javascript" src="jwplayer.js"></script>

[align=center]Loading the player ...[/align]

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "player.swf",

file: "flv文件路径",

image: "preview.jpg",//播放前的预览图片

autostart: true,//自动播放

streamer: "start",//可提供进度条拖拽

height: 400,

width: 500

});

</script>

3、考虑到并发访问,安装一个web服务器,搜索发现了一个好东西:nginx---一款俄罗斯一家大公司开发的一个高性能的 HTTP 和 反向代理 服务器,国内几个重要的视频分享网站也部署了Nginx,如六房间、酷6等。Nginx技术在国内日趋火热,越来越多的网站开始看中Nginx了。

Nginx在linux下的安装:

官方源代码下载

目前这里可以下载:http://nginx.org/en/download.html

nginx在unix系统下比较高效,也是官方推荐模式:

首先安装依赖模块

3.1.

gzip模块需要zlib库,该模块在http://www.zlib.net/网站下载。

3.2.

rewrite模块需要pcre库,该模块在http://www.pcre.org/网站下载。

3.3.

ssl功能需要openssl库该模块在http://www.openssl.org/网站下载。

官方源代码下载

http://sysoev.ru/nginx/download.html网站上可以下载nginx源代码。

3.4.

一般情况下:Nginx使用 Unix下常用的

Java代码


./configure --with-http_flv_module && make && make install

过程来编译安装。如有错误,可分开执行,在执行./configure的时候需要多带些参数:

Java代码


./configure --with-http_stub_status_module --with-http_ssl_module

--with-openssl=/usr/local/openssl-1.0.0 --with-http_gzip_static_module,然后再make install

如果是windows下安装:

只需解压您下载的.zip到D盘的根目录,并将目录名改为nginx,修改conf目录下的nginx.conf文件,修改端口为8090(或其他)。执行下列操作

Java代码


1、cd nginx

2、start nginx

这样,nginx就启动了。打开浏览器,输入http://127.0.0.1:8090/ 就可以看到nginx的欢迎页面了,其实该页面位于D:\nginx\html目录,即web页面文件所在位置.

相关命令为:

Java代码


start nginx 开启

nginx -s stop 快速关闭

nginx -s quit 完全关闭

nginx -s reload 修改过配置文件,快速关闭旧的,开启新服务

nginx -s reopen 重新打开日志文件

tasklist /fi "imagename eq nginx.exe" 查看相关进程

打开配置文件D:\nginx\conf\nginx.conf,在server里面加入:

Java代码


location ~* \.flv {

flv;

#限速的

#limit_rate 10k;

}

作为特别处理flv文件的。

worker_processes数量一般设为1就行了,也有朋友推荐设为cpu块数或它的两倍,比如我的服务器是4cpu的,我设为了8,在windows系统下,如果仅仅worker_processes设为大于1的时候,nginx不能正常工作了,需要在event里加入

Java代码


accept_mutex off;

就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: