ubuntu搭建推流服务器Nginx+rtmp
来源:互联网 发布:江苏省困难职工数据库 编辑:程序博客网 时间:2024/06/04 17:46
前言
最近这两年直播平台及其流行,然而我呢?
也要玩玩推流服务器~~~
实现服务器推流/PC客户端观看/浏览器客户端查看
简介
对于Nginx的优点呢就不多说了,两句话:
1)并发量高
2)可负载均衡
重点谈谈rtmp吧!
RTMP全称是Real Time Messaging Protocol(实时消息传输协议),rmtp是一种通讯协议。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。现在更流行于直播平台服务器的推流处理!
install搭建
建立源码编译的目录
$ mkdir nginx-src$ cd nginx-src
下载源码仓库
#nginx源码$ git clone https://github.com/nginx/nginx.git#nginx的rtmp模块源码$ git clone https://github.com/arut/nginx-rtmp-module.git#nginx的依赖pcre源码$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz$ tar -xzvf pcre-8.39.tar.gz$ cd nginx$ git checkout release-1.9.9
准备编译安装
#将configure的命令封装成脚本$ vim cfg.sh
# cfg.sh文件的内容auto/configure --prefix=/usr/local/nginx \ --with-pcre=../pcre-8.39 \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_flv_module \ --with-http_mp4_module \ --add-module=../nginx-rtmp-module/
$ chmod a+x cfg.sh$ ./cfg.sh$ make $ make install
启动nginx服务器
/usr/local/nginx/sbin/nginx
配置nginx
在nginx的配置文件nginx.conf最后添加如下信息# RMTP的服务器配置信息rtmp { server { listen 2016; #推流的监听端口 publish_time_fix on; # 推流其一 application live { live on; #stream on live allow allow publish all; # control access privilege allow play all; # control access privilege } #推流其二 application hls_alic { live on; hls on; hls_path /home/alic/www/hls; hls_fragment 5s; } }}
重新加载nginx的配置
$ /usr/local/nginx/sbin/nginx -s reload
简单的测试demo
安装ffmpag
$ add-apt-repository ppa:kirillshkrogalev/ffmpeg-next$ apt-get update$ apt-get install ffmpeg
使用ffmpeg向服务器推送一个视频
ffmpeg -re -i /home/alic/Desktop/demo/film.mp4 -c copy -f flv rtmp://localhost:2016/live/filmor# 推荐 可用于浏览器播放ffmpeg -re -i /home/alic/Desktop/demo/film.mp4 -c copy -f flv rtmp://localhost:2016/hls_alic/film
视频播放器获取视频流
对于浏览器呢,html的整理代码如下
<html><head> <link rel="stylesheet" href="http://vjs.zencdn.net/5.10/video-js.css"></head> <video id=example-video width=960 height=540 class="video-js vjs-default-skin" controls> <source src="film.m3u8" type="application/x-mpegURL"> </video> <script src="http://vjs.zencdn.net/5.10/video.js"></script> <script src="https://npmcdn.com/videojs-contrib-hls@^3.0.0/dist/videojs-contrib-hls.js"></script> <script> var player = videojs('example-video'); player.play(); </script></html>
注意,在hls_path的路径添加一个站点来访问即可!
推流还是用ffmpeg的命令来, 推流一段时间后, 你会发现在"/home/alic/www/hls"目录里, 有很多ts文件,
还有一个后缀".m3u8"文件上面配置中的 server:8081 块, 就是为了能在外部能访问这些ts文件和m3u8文件。
搭建推流服务器Nginx+rtmp就成功了!
即将总结ffmpeg推流的命令~~~
作者:AlicFeng
链接:http://www.jianshu.com/p/f0bf83ca3ea3
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
阅读全文
0 0
- ubuntu搭建推流服务器Nginx+rtmp
- ffmpeg rtmp推流 nginx搭建的rtmp服务器
- 搭建nginx rtmp直播服务器,ffmpeg模拟推流
- 搭建nginx rtmp直播服务器,ffmpeg模拟推流
- Nginx搭建rtmp流媒体服务器(Ubuntu 14.10)
- Nginx搭建rtmp流媒体服务器(Ubuntu 14.10)
- Ubuntu 14搭建Nginx-RTMP流媒体服务器
- NGINX-RTMP直播服务器搭建-OBS录制推流-VLC视频流播放
- nginx搭建rtmp服务器
- nginx搭建rtmp服务器
- nginx搭建rtmp服务器
- Ubuntu 安装nginx 来搭建推流服务器
- nginx配合rtmp模块搭建流服务器
- nginx-rtmp视频流服务器搭建
- nginx配合rtmp模块搭建流服务器
- nginx+rtmp直播流服务器搭建
- Nginx搭建RTMP推拉流服务器
- mac OSX 创建nginx + rtmp本地推流服务器
- 关于android图标美工设计尺寸与处理方法
- 杂乱
- React Native Build Tools版本错误解决方案
- 素数判定
- JS函数参数的理解
- ubuntu搭建推流服务器Nginx+rtmp
- 笔记:新手的Spark指南
- 09. Servlet Cookie 处理
- DDL DML DCL 的对比解析
- i.MX6q Android6.0 移植
- Unity编辑器扩展-ConsoleWindow中的双击日志定位
- Android获取屏幕大小
- php-fpm
- PAT B1037. 在霍格沃茨找零钱