nginx搭建mp4、flv流媒体服务器
来源:互联网 发布:美团外卖数据分析 编辑:程序博客网 时间:2024/05/23 14:25
nginx搭建mp4、flv流媒体服务器
因为是编译安装,所以需要系统中装有gcc相关的包。
需要用到的源码包有nginx-1.0.4.tar.gz(http://nginx.org/download/nginx-1.0.4.tar.gz)、pcre-8.12.tar.gz(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz)、nginx_mod_h264_streaming-2.2.7.tar.gz(http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2)。其中pcre-8.12是与perl兼容的正则表达式库模块,nginx-1.0.4是应用服务器主程序,nginx_mod_h264_streaming-2.2.7是MP4流媒体支持模块。
安装步骤如下:
1:解压缩各个压缩包
tar zxvf nginx-1.0.4.tar.gz
tar zxvf nginx_mod_h264_streaming-2.2.7.tar.gz
tar zxvf pcre-8.12.tar.gz
2:cd pcre-8.12
./configure
make
make install
3:cd nginx_mod_h264_streaming-2.2.7
根据实际情况修改Makefile文件中的NGINX项的值。NGINX=$(HOME)/nginx-1.0.4/ 版本的修改,查看$home $pwd路径对不对,不对修改之
4:cd nginx-1.0.4
./configure --sbin-path=/usr/local/sbin --without-http-cache --with-http_stub_status_module --with-http_gzip_static_module --with-pcre=/u02/software/nginx/pcre-8.12 --add-module=/u02/software/nginx/nginx_mod_h264_streaming-2.2.7
我安装时候的./configure --prefix=/home/zq/local/nginx --add-module=../nginx_mod_h264_streaming-2.2.7 --sbin-path=/home/zq/local/nginx/sbin --with-debug
之后make,
会报错【ngx_http_streaming_module.c:158: 错误:‘ngx_http_request_t’ 没有名为 ‘zero_in_uri’ 的成员】之类的错误。这需要修改nginx_mod_h264_streaming-2.2.7的源代码:修改ngx_http_streaming_module.c,注释掉
if (r->zero_in_uri)
{
return NGX_DECLINED;
}
这一段。
之后make clean,之后重新configure,重新make,之后make install。
之后执行命令nginx,启动nginx服务器。访问http://ip:80出现Welcome to nginx! 时证明nginx安装成功。
Nginx安装完成之后安装路径在/usr/local/nginx。打开/usr/local/nginx/conf,修改nginx.conf配置文件,添加MP4支持。在server配置中添加如下配置即可
location ~ \.mp4$ {
mp4;
}
测试的话如下:
基本上已经设置完毕,但是此时我们测试的时候还需要一个支持拖拽播放的flash播放器,开源的JW Player就可以实现这样的功能,我将编译的播放器上传上来,供大家下载:
下载链接:http://blogimg.chinaunix.net/blog/upfile2/100607142612.rar
下载播放器后,上传到上面设置的/usr/local/nginx/html/flv_file/目录下,闭关把flv视频文件也放到该目录下!
5)、启动nginx后测试:
http://192.168.1.105/player.swf?type=http&file=test1.mp4
说明: #我的ip是192.168.1.105
#player.swf是我的JW Player播放器
#http是表示居于http分发方式
#test1.mp4是我的flv视频文件
Java在线视频上传和播放
目前绝大多数视频网站使用的格式是flv。格式可以任意位置播放,并且压缩效果也不错。
java的视频处理:
1. 上传视频。
2. 将上传的视频转换为flv格式,需要在后台开启进程进行处理。
视频转换工具:ffmpeg,mencoder
ffmpeg目前支持的格式:avi, mov, flv, asf, mp3, mp4等,如果遇到rm,wmv9, rmvb等格式,需要使用mencoder工具转换为avi格式后,再用ffmpeg转换成flv格式。因为ffmpeg转换速度比mencoder快,所以尽量使用ffmpeg。
3. 在页面嵌入flv播放器。
注:
1. 上传视频后,即时转换视频会影响系统性能。可以在视频上传时,不进行转换处理,只将视频的路径等信息存入数据库。在后台开启一个计划任务(或者使用独立的服务器专门用于转换视频),从数据库中取出未转换列表,依次进行转换,并更新数据库相关信息。
2. 视频转换完成后,要删除原视频文件,就需要判断视频是否已完成转换。而直接调用Process类的waitFor()会使当前进程阻塞,解决办法参考:http://www.iteye.com/topic/777。
Java在线视频上传和播放
... by rootman ... 5 月 20 天前 ... 106 次点击目前绝大多数视频网站使用的格式是flv。格式可以任意位置播放,并且压缩效果也不错。
java的视频处理:
1. 上传视频。
2. 将上传的视频转换为flv格式,需要在后台开启进程进行处理。
视频转换工具:ffmpeg,mencoder
ffmpeg目前支持的格式:avi, mov, flv, asf, mp3, mp4等,如果遇到rm,wmv9, rmvb等格式,需要使用mencoder工具转换为avi格式后,再用ffmpeg转换成flv格式。因为ffmpeg转换速度比mencoder快,所以尽量使用ffmpeg。
3. 在页面嵌入flv播放器。
注:
1. 上传视频后,即时转换视频会影响系统性能。可以在视频上传时,不进行转换处理,只将视频的路径等信息存入数据库。在后台开启一个计划任务(或者使用独立的服务器专门用于转换视频),从数据库中取出未转换列表,依次进行转换,并更新数据库相关信息。
2. 视频转换完成后,要删除原视频文件,就需要判断视频是否已完成转换。而直接调用Process类的waitFor()会使当前进程阻塞,解决办法参考:http://www.iteye.com/topic/777。
- nginx搭建mp4、flv流媒体服务器
- nginx搭建mp4、flv流媒体服务器
- nginx搭建mp4、flv流媒体服务器
- nginx搭建flv、mp4流媒体服务器
- nginx搭建mp4、flv流媒体服务器
- nginx搭建flv、mp4流媒体服务器
- nginx搭建mp4、flv流媒体服务器
- nginx搭建flv、mp4流媒体服务器
- nginx搭建flv、mp4流媒体服务器
- nginx搭建flv、mp4流媒体服务器 nginx升级
- ubuntu14.04 下基于Nginx搭建mp4/flv流媒体服务器
- nginx搭建flv流媒体服务器
- nginx搭建flv流媒体服务器
- nginx搭建flv流媒体服务器
- ubuntu12.04 虚拟机 编译安装nginx 1.3.6 搭建支持flv mp4 流媒体服务器
- 用nginx搭建基于rtmp或者http的flv、mp4流媒体服务器
- 用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器
- [置顶][终极精简版][图解]Nginx搭建flv mp4流媒体服务器
- ubuntu安装R语言编译器
- shell脚本test命令没用好,写了好几天的代码全被删了
- 写给准备参加秋招的学弟学妹们~一定要来看哦~
- 走出完全区
- Hadoop的5个守护进程
- nginx搭建mp4、flv流媒体服务器
- 面试复习重点 算法 数据结构 【山科大牛陈磊整理】
- 蚊子132 教你如何用CFile读取二进制文件
- ubuntu安装mysql
- CDLinux破解WPA/WPA2无线网络密码
- SQL 存储过程
- 《Java并发编程实战》第三章 对象的共享 读书笔记
- Lucene中string docvalues使用utf-16的优化
- 九大排序算法再总结