利用nginx的搭建直播流媒体平台

演示环境


搭建nginx-rtmp直播服务器-OBS录制推流-VLC视频流播放

  1. 首先编译安装nginx

    [[email protected] ~]# tar xvf nginx-1.8.1.tar.gz
    [[email protected] ~]# unzip nginx-rtmp-module-master.zip
    [[email protected] ~]# cd nginx-1.8.1
    [[email protected] ~]# yum -y install zlib zlib-devel openssl* pcre pcre-devel gd-devel #nginx的依赖包
    [[email protected] nginx-1.8.1]# ./configure --add-module=../nginx-rtmp-module-master
    [[email protected] nginx-1.8.1]# make -j 4 && make install
  2. 测试是否安装成功
    [[email protected] nginx-1.8.1]# cd /usr/local/nginx
    [[email protected] nginx ]# ./sbin/nginx #启动服务

    在浏览器中输入虚拟机的IP或者localhost出现如下则说明编译安装成功

  3. 直播服务的配置
    [[email protected](cyn) nginx ]# vim /usr/local/nginx/conf/nginx.conf#在配置文件最后加上这段rtmp的配置
    rtmp { #rtmp配置的块,这个地方就是直播的配置的根
        server { #服务器的实例
                    listen 1935;#监听并且接受的端口
                    application mytv { #应用/实例的三种类型(1)rtmp录播(vod),(2)rtmp直播(live),(3)hls直播(hls)
                            live on; #开启直播直播模式,一对多广播
                            hls on; #开启直播
                            hls_path /usr/local/nginx/html/hls;#录制视频文件的目录/路径
                            hls_fragment 2s;#后面接时间,用来设置每一个块的大小。默认是5秒。只能为整数
                    }
            }
    }

    下面是一些hls的配置,可根据自己的需求来配置

    hls_playlist_length:  设置播放列表的长度,单位是秒
    hls_sync:  音视频的同步时间
    hls_continuous:  on|off 设置连续模式,是从停止播放的点开始还是直接跳过
    hls_nested:  on|off 默认是off。打开后的作用是每条流自己有一个文件夹
    hls_base_url: 设置基准URL,对于m3u8中使用相对URL有效
    hls_cleanup:  on|off 默认是开着的,是否删除列表中已经没有的媒体块
    hls_fragment_naming: sequential(使用增长式的整数命名) | timestamp(使用媒体块的时间戳) | system(使用系统时间戳)命名方式
    hls_fragment_naming_granularity: 如果使用时间戳命名时时间戳的精度
    hls_fragment_slicing:  plain(媒体块达到需要的duration就换)|aligned(当到达的数据库块时几个duration) 
  4. 创建视频文件的目录/路径
    [[email protected] nginx]# mkdir /usr/local/nginx/html/hls
  5. 重新启动服务,关闭防火墙及selinux
    [[email protected] nginx]#./sbin/nginx -s stop
    [[email protected] nginx]#./sbin/nginx
    [[email protected] nginx]# iptables -F
    [[email protected] nginx]# setenforce 0
  6. 到这里服务器已经搭建完毕了,我们开始推流设置

    点击文件->设置->流,在流类型里选择自定义流媒体服务器,在URL中填入rtmp://172.18.252.106/mytv(IP加实例名称),然后在流名称中填入一个名字(任意),obs设置已经完成

    点击开始推流,在左下角的来源中可以选择你要直播的内容
  7. 接下来去vlc media studio中设置接受流媒体

    点击媒体->打开网络串流->网络,在URL中输入rtmp://172.18.252.106/mytv/test(服务器IP+应用名称+流名称),点击播放即可
  8. 至此一个obs推流-nginx-rtmp的hls直播-vlc串流的直播平台搭建完成,这个时候在浏览器中输入IP+stat

    会显示我们的应用名称(mytv),live streames (流媒体的个数),流名称(test)

原文地址:http://blog.51cto.com/13805636/2296486

时间: 2024-08-28 01:12:28

利用nginx的搭建直播流媒体平台的相关文章

搭建nginx服务器和直播流媒体服务器

1.nginx简单说明 ①  Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强. ②  Nginx作为Http服务器,有以下几项基本特征: b.1 处理静态文件,索引文件以及自动索引,打开文件描述符缓冲. b.2 无缓存的反向代理加速,简单的负载均衡和容错 b.3 模块化的结构,包括gzipping,byte ranges,chunked responses以及SSI-filte

linux下利用elk+redis 搭建日志分析平台教程

linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了,下面我们来看一篇在linux下利用elk+redis 搭建日志分析平台教程,希望例子对各位有帮助. 这个是最新的elk+redis搭建日志分析平台,今年时间是2015年9月11日. Elk分别为 elasticsearch,logstash, kibana 官网为:https://www.elasti

利用 Nginx + rtmp 搭建流媒体服务器

背景 nginx 在音视频服务也有比较强大的功能,下面给出配置步骤. 前提:根据 软件运行环境,确保搭建好了有关支持环境 参考: 步骤 1.下载第三方扩展模块nginx-rtmp-module wget https://github.com/arut/nginx-rtmp-module/archive/master.zip //下载模块 2.编译安装nginx nginx 添加模块都是需要重新配置编译的编译 bash ./configure ... --add-module=/root/modu

使用Nginx+ffmpeg搭建直播点播服务器

背景 最近做一个直播平台项目,调研了一些开源的或者商用的流媒体服务器,包括Live555,Red5,Wowza,ffmpeg,EasyDarwin,FMS等:经过对比考量,因为本次需求相对比较简单,流协议基于RTMP,因此最终决定选型Nginx+ffmpeg. 选型 Nginx + nginx-rtmp-module + ffmpeg Nginx本身是一个非常出色的HTTP服务器,ffmpeg也是目前最好用的音视频解决方案,而这两个框架通过一个nginx的模块nginx-rtmp-module组

nginx上搭建HLS流媒体服务器

http://blog.csdn.net/cjsafty/article/details/7922849 简介:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议. 是苹果公司QuickTime X和iPhone软件系统的一部分.它的工作原理是把整个流分成一个个小的基于HTTP 的文件来下载,每次只下载一些.当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速 率下载同样的资源,允许流媒体会话适应不同的数据速率.在开始一个

Nginx下搭建Nagios监控平台(转载)

Nagios依赖PHP环境和perl环境,由于Nginx不支持Perl的CGI,需先来搭建Perl环境,Nagios原理介绍略. 文章原出处:https://blog.linuxeye.com/312.html1.下载最新稳定源码包和Perl脚本 mkdir nagios-cacti cd nagios-cacti wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.74.tar.gz wget http://www.cpan.org/a

关于搭建直播系统平台的一点心得经验和建议

如今的直播发展如此迅猛,不管是短视频APP还是购物APP都开通了直播功能,下面根据我个人的从业经验讲一下,希望和大家一起学习和提高.就直播的整个业务逻辑来说,主要分为"采集.前处理.编码.传输.解码.渲染"这几个环节,下面分别说下:视频编码部分,肯定要采用硬编码,PC端的编码软件,当前"直播大师 Live Master"和"串流直播 iAVCast"都具有硬件加速编码功能,可以直接调用Intel 和Nvidia的硬件进行加速编码,不占用主机CPU

nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器

本文概要: nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择.本文介绍了一种简易方法快速搭建rtmp流媒体服务器,也叫rtsp转播,数据源不是读取文件,而是采用获取rtspNal流后使用ffmpeg转播.csdn固本培元:[email protected] 开发环境:centos6.4 (主流的linux服务器选择,30%以上的市场占有率) 需要这几个包. 版本号:nginx 1.7.3  openssl 1.0.2   rtmp-module(版本未知)

C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)的代码以及我所遇到的问题

[引言] 利用asp.net搭建微信公众平台的案例并不多,微信官方给的案例是用PHP的,网上能找到的代码很多也是存在着这样那样的问题或者缺少部分方法,无法使用,下面是我依照官方文档写的基于.net 搭建微信公众平台源代码.由于经验不足,内可能存在不严谨之处,欢迎交流. [分析] 实现的功能较为简单,主要分为验证与消息接收回复两部分,首先是验证: 这已经是验证好后的截图了,需要输入的是URL和你自己设定的Token码,URL为你上传服务器的地址例如:http://XXXXX.com/weixin/