设为首页 收藏本站
查看: 634|回复: 0

[经验分享] nginx搭建mp4、flv流媒体服务器

[复制链接]

尚未签到

发表于 2016-12-26 11:09:53 | 显示全部楼层 |阅读模式
  from: http://hi.baidu.com/injava/blog/item/40636f3169762f0eebc4afb8.html
nginx搭建mp4、flv流媒体服务器
2011-05-17  13:43
  一、FLV视频发布方式简介
  FLV视频有两总发布方式
  1、HTTP方式
  这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTMP/RTMP流媒体方式强大,很多视频网站都是用HTTP方式实现的,如:YouTube,土豆,酷6等
  2、RTMP/RTMP流媒体方式
  这种方式不用下载FLV视频文件到本地,可以实时的播放flv文件,可以任意拖拽播放进度条,但是比较消耗服务器的资源,
  
  
  二、使用nginx来搭建flv流媒体服务器
  1、使用nginx来搭建flv流媒体服务器简介
  nginx中的Flv Stream模块能实现flv流媒体的功能,而且支持flv视频进度条拖拽,另外nignx还可以作为方向代理服务器代理后端基于Flash Media Server或者Red5的RTMP/RTMP流媒体服务器
  
  2、下面我们就来搭建一个完整的nginx流媒体服务器
  1)、Nginx服务器的安装
  #安装zlib
  tar xzvf zlib-1.2.3.tar.gz
  cd zlib-1.2.3
  ./configure
  make && make install
  #安装pcre
  tar zxvf pcre-7.9.tar.gz
  cd pcre-7.9
  ./configure --prefix=/usr/local/pcre
  make && make install
   #添加mp4支持模块
   wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz
   tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz

  #安装nginx
  groupaddwww
  useradd-gwwwwww
  tar xzvf nginx-0.8.34.tar.gz
  cd nginx-0.8.34
  ./configure--add-module=../nginx_mod_h264_streaming-2.2.7 --with-http_ssl_module --with-pcre=/root/zhang/nginx/pcre-7.9 --with-zlib=/root/zhang/nginx/zlib-1.2.3--user=www --group=www --prefix=/usr/local/nginx --with-http_flv_module--with-http_stub_status_module
  make && make install
  2)、安装yamdi
  yadmi的作用是为flv文件添加关键帧,才能实现拖动播放
         #下载yadmi
         wgethttp://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
    给input.flv文件添加关键帧,输出为out.flv文件
  3)、配置nginx
  vi /usr/local/nginx/conf/nginx.conf添加以下内容(根据自身情况修改):
  userwww www;
  worker_processes 30;
  error_log/usr/local/nginx/logs/error.logcrit;
  pid/usr/local/nginx/logs/nginx.pid;
  
  events {
  use epoll;
  worker_connections65535;
  }
  http {
  includemime.types;
  default_typeapplication/octet-stream;
  log_format main'$remote_addr - $remote_user [$time_local] '
  '"$request" $status $bytes_sent '
  '"$http_referer" "$http_user_agent" '
  '"$gzip_ratio"';
  keepalive_timeout60;
  server_names_hash_bucket_size128;
  client_header_buffer_size32k;
  
  large_client_header_buffers4 32k;
  
  access_log off;
  gzip on;
  gzip_min_length1100;
  gzip_buffers4 8k;
  gzip_typestext/plain;
  
  output_buffers1 32k;
  postpone_output1460;
  
  client_header_timeout3m;
  client_body_timeout3m;
  send_timeout3m;
  
  sendfileon;
  tcp_nopushon;
  tcp_nodelayon;
  
  ######################################################################
  
  server {
  listen80;
  server_name192.168.1.105;
  root/usr/local/nginx/html/flv_file/;
  limit_rate_after 5m; ####在flv视频文件下载了5M以后开始限速
limit_rate 512k; ####速度限制为512K
  indexindex.html;
  charset utf-8;
  location ~ \.flv {
  flv;
  }
  location ~ \.mp4$ {
mp4;
}
  error_page500 502 503 504/50x.html;
  location = /50x.html {
  roothtml;
  }
  
  }
  }
  
  4)、基本上已经设置完毕,但是此时我们测试的时候还需要一个支持拖拽播放的flash播放器,开源的JW Player就可以实现这样的功能,我将编译的播放器上传上来,供大家下载:
  下载链接:http://blogimg.iyunv.com/blog/upfile2/100607142612.rar
  下载播放器后,上传到上面设置的/usr/local/nginx/html/flv_file/目录下,闭关把flv视频文件也放到该目录下!
  
  5)、启动nginx后测试:
  http://192.168.1.105/player.swf?type=http&file=test1.flv
   说明:#我的ip是192.168.1.105
  #player.swf是我的JW Player播放器
  #http是表示居于http分发方式
  #test1.flv是我的flv视频文件

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-319646-1-1.html 上篇帖子: 自建CDN技术选型: squid varnish nginx 下篇帖子: Windows下使用Tomcat+Nginx构建HTTP服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表