RTMP直播系统

一、序言

核心:服务端(nginx-rtmp-module) + 推流端(OBS) + 接受端(jwplayer)

二、服务端

1. 下载nginx-rtmp-module模块

地址:https://github.com/arut/nginx-rtmp-module

2. 编译安装nginx

cd ./nginx-1.10.0/./configure --add-module=/path/to/nginx-rtmp-module --with-http_ssl_module
make
make install

注:根据实际情况修改两处代码路径

3. 配置nginx

3.1 加入节点

rtmp {
    server {
        listen 1935;

        application mytv {
            live on;
        }
    }
}

注:mytv是应用名称

3.2 RTMP监听状态(可选)

http {

    server {

        listen      8080;

        # This URL provides RTMP statistics in XML
        location /stat {
            rtmp_stat all;

            # Use this stylesheet to view XML as web page
            # in browser
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            # XML stylesheet to view RTMP stats.
            # Copy stat.xsl wherever you want
            # and put the full directory path here
            root /data/wwwroot/rtmp/;
        }

    }
}

把nginx-rtmp-module文件夹中的stat.xsl复制到/data/wwwroot/rtmp/文件夹中

监控地址:http://localhost:8080/stat

三、推流端

1. 下载OBS

地址:https://obsproject.com/download

2. 配置OBS

推流地址:rtmp://192.168.240.128/mytv/  #记得修改IP,下同

其他配置参考:http://www.douyu.com/cms/zhibo/201311/13/250.shtml

3. 开始推流

此时可以监听到【publishing】状态的进程

注:记得开放1935端口

四、接受端

1. 下载jwplayer

地址:https://dashboard.jwplayer.com/#/players/downloads  #需要注册登录

2. html示例

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div id="my_video"></div>

</body>
</html>

<script src="./jwplayer/jwplayer.js"></script>
<script>
    jwplayer.key = "yourkey";
    jwplayer(‘my_video‘).setup({
        file: ‘rtmp://192.168.240.128/mytv/‘,
    });
</script>

注:记得修改key

五、验证推流

1. rtmp配置参考

地址:https://github.com/arut/nginx-rtmp-module/wiki/Directives#on_publish

rtmp {
    server {
        listen 1935;

        on_publish http://localhost/rtmp/auth.php;

        application mytv {
            live on;
        }
    }
}

注:记得重启nginx

2. auth.php

<?php
if ($_POST[‘key‘] == ‘root‘) {
    header(‘HTTP/1.1 200 OK‘);
    header(‘Status: 200 OK‘);
} else {
    header(‘HTTP/1.1 403 Forbidden‘);
    header(‘Status: 403 Forbidden‘);
}

返回2xx RTMP通过,返回3xx RTMP重定向,其他均为失败。

请根据你的业务逻辑修改验证流程。

3.OBS配置

流秘钥:?key=root  #不是推流地址

时间: 2024-08-27 07:04:06

RTMP直播系统的相关文章

洋铭 NVS-25 网络编码器推送RTMP直播流至流媒体系统进行网络直播

"三网融合"已成趋势. 网络电视直播在广电业大力鼓起,各广电媒体.新闻媒体都逐渐开始树立自个的网络电视直播体系.那么如何搭建网络电视台呢? 今天给大家介绍通过洋铭 NVS-25 网络编码器采集电视信号推送标准的RTMP流到流媒体服务器直播系统进行网络分发. 1.  确认电视设备输出接口 ü  HDMI或SDI输出 ü  网络直播流输出 2.  确认洋铭 NVS-25 网络编码器输出形式 NVS-25 为 Datavideo 设计的小尺寸网络直播编码器 , Plug&Play产品

如何推送RTMP直播流至流媒体系统进行网络直播

"三网融合"已成趋势. 网络电视直播在广电业大力鼓起,各广电媒体.新闻媒体都逐渐开始树立自个的网络电视直播体系.那么如何搭建网络电视台呢? 今天给大家介绍通过洋铭 NVS-25 网络编码器采集电视信号推送标准的RTMP流到流媒体服务器直播系统进行网络分发. 1. 确认电视设备输出接口 ü HDMI或SDI输出 ü 网络直播流输出 2. 确认洋铭 NVS-25 网络编码器输出形式 NVS-25 为 Datavideo 设计的小尺寸网络直播编码器 , Plug&Play产品概念使操

如何快速搭建一个完整的移动直播系统?

移动直播行业的火热会在很长一段时间内持续,通过和各行业的整合,从而成为具有无限可能性的行业.主要因为以下三个原因: 第一,移动直播的UGC生产模式比PC端的直播更明显,人人都有设备,随时随地开播,完全顺应了互联网时代的开放性原则,能刺激更多人去创造和传播优质内容. 第二,网络带宽和速度在逐渐提高,网络成本在逐渐下降,为移动直播提供一个极佳的发展环境.文字.声音.视频.游戏等都会在移动直播中呈现,创造出更加丰富的用户体验.直播可以以SDK的形式接入到自己的应用中,比如,教育领域中的课后辅导完全可以

用手机APP观看热门剧《楚乔传》的P2P流媒体直播系统解决方案

近期热播的大剧<楚乔传>,网友们对最新剧情讨论得热火朝天:楚乔传>什么时候结局? 最新剧情预告呢?楚乔燕洵是否分手?蒙枫喜欢宇文玥吗?掀起了一股观看风潮. 随着这部励志大剧热播,一些关于手机观看<楚乔传>的APP的搜索关键词迅速铺开来: 1  有可以直接在手机上看直播<楚乔传>的APP吗? 2  爱奇艺热门剧播放后台是用的P2P流媒体直播/点播系统吗? 3  热播剧手机直播所需的P2P流媒体平台如何搭建? 4  如何开发共享直播系统的终端观看APP? 5  哪个手

转: 基于nginx的hls直播系统

转自:http://blog.csdn.net/cjsafty/article/details/9108587 看点: 1. 详细解解答了 nginx rtmp配置过程. 前写了一篇基于nginx的hls点播系统,本质上是把一个媒体文件做成m3u8索引,对应的文件都是提前做好放在服务器上的. nginx充当的是个Http 服务器的角色,之所以说是基于nginx的,是因为它可以设置限速. 本文主要是描述一个直播系统,核心在于m3u8和里面对于的ts链接都是实时的,可以刷新.类似于cntv里面的直播

搭建简单的直播系统

一.环境: Ubuntu :Nginx-rtmp-module Windows:Adobe Flash Media Live Encoder 二. 1.安装git:sudo apt-get install git 2.查看所有服务:service --status-all 查询nginx进程:ps -ef|grep nginx 重启nginx:service nginx -s reload 运行nginx:etc/init.d/nginx 停止nginx:kill -QUIT 主进程号 检查配置

云豹方维直播源码,手机直播系统搭建经验分享!

手机直播程序直播系统搭建经验浅谈方法!前端推流1.推流可以采用命令: ffmpeg -i input -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/cgstream0input 可以是实时流,也可以是文件,如果是文件 需要加上-re.运用中需要将127.0.0.1 换成rtmp所在机器的ip地址.用命令推流时间戳信息不能任意修改,想要达到一个满意的结果还是要用代码实现.主要方法代码如下:1.打开视频流,filename可以文件名称也

直播系统怎么开发——直播平台源码

正当兴隆的直播行业如火如荼的发展,得益于手机的便利,手机直播APP也得以快速的推广.等手机直播APP用的多了,自然而然有人问了,直播软件怎么开发? 其实回答这个问题,还是得回到基础的东西--直播平台源码.正是得益于直播平台源码的运用,直播系统开发才会如此迅速的发展,在短时间内把手机直播APP推广的如此成功. 直播平台源码的成功运用,有以下几点: 1.RTMP是实时消息传输协议的首字母缩写.该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种.RTMP

v聊富聊1对1软件开发,鱼羊儿一对一高端直播系统搭建!

废话不多说直接上干货:我们将从环境部署开始,这包括两方面的环境部署即服务端和客户端.在部署服务端环境其实包含很多东西的,最常用的web服务nginx,MySQL.Nosql,api开发最多的三种选择:java环境,需要jdk,tomcat/jbos   php环境,需要安装php,odplua环境,需要安装lua.luajit v聊富聊1对1软件开发,一对一高端直播系统搭建!现在直播软件大部分都是一对多的软件,如今一对一软件开始兴起,带动了一对一软件系统的研发.走心又高素质的交友v聊软件系统非常