前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何快速构建一套稳定、高效、可靠的网页无插件监控、直播、点播解决方案

如何快速构建一套稳定、高效、可靠的网页无插件监控、直播、点播解决方案

原创
作者头像
Openskeye
发布2023-03-29 15:34:04
1.4K0
发布2023-03-29 15:34:04
举报
文章被收录于专栏:国标视频云平台

如何快速构建一套稳定、高效、可靠的网页无插件直播点播系统?

目前直播流媒体市场已经比较成熟,比较出名的流媒体直播点播服务器有:

代码语言:txt
复制
1. 开源流媒体服务SRS
2. 基于NGINX的RTMP直播点播开源流媒体服务器NGINX-RTMP-MODULE
3. SkeyeVSS RTSP/RTMP/FLV/WS-RTSP/HLS流媒体服务器

SRS开源流媒体服务

SRS 简介

SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,

包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、

转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。

SRS包含支大规模集群如CDN业务的关键特性,譬如RTMP

多级集群、源站集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群、Kafka对接。此外,SRS还提供丰富的应用接口,包括HTTP回调、

安全策略Security、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。

官方说明

SRS特点

代码语言:txt
复制
1、简单,足够稳定。
代码语言:txt
复制
2、高性能,高并发,SRS是单线程、事件/st-线程驱动。最大可支持6k客户端。官网性能介绍: 性能测试
代码语言:txt
复制
3、可以作为rtmp源服务器,也可作为节点对接CND,从其他rtmp服务器上推/拉流。
代码语言:txt
复制
4、支持Vhost 及defaultVhost配置。
代码语言:txt
复制
5、核心功能是分发RTMP,主要定位就是分发RTMP低延时流媒体,同时支持分发HLS流。
代码语言:txt
复制
6、服务Reload 机制,即在不中断服务时应用配置的修改。达到不中断服务调整码率,添加或调整频道。
代码语言:txt
复制
7、cache 一个GOP ,达到播放器能快速播放的效果。(gop_cache配置项)
代码语言:txt
复制
8、可监听多个端口,支持长时间推拉流。
代码语言:txt
复制
9、forward配置项,可在服务器间转发流。
代码语言:txt
复制
10、支持转码,可以对推送到SRS的RTMP流进行转码,然后输出到其他RTMP服务器。可对指定的流配置是否转码。内置了FFMPEG.同时会提供FFMPEG的部分功能:输出纯音频、加文字水印、剪切视频、添加图片LOGO等。
代码语言:txt
复制
11、支持http回调,提供了客户端连接接口、关闭连接接口、流发布、流停止、流播放、停止播放等接口,方便再封装的应用跟踪流信息。内置也有一个http服务器,可直接调用api接口。
代码语言:txt
复制
12、内置流带宽测试工具、完善的日志跟踪规则。
代码语言:txt
复制
13、脚本管理,提供init.d系统脚本,也可通过调用api 控制服务状态。
代码语言:txt
复制
14、采集端支持:设备、本地文件,RTSP摄像头、rtmp等。官方意思是,能拉任意的流,只要FFMPEG支持,不是h264/aac都没有关系,FFMPEG能转码。SRS的接入方式可以是“推流到SRS”和“SRS主动拉流”。
代码语言:txt
复制
15、支持将RTMP流录制成flv文件。FLV文件的命名规则是随机生成流名称,上层应用可通过http-callback 管理流信息。
代码语言:txt
复制
16、SRS日志很完善,支持打印到console和file,支持设置level,支持连接级别的日志,支持可追溯日志。

推荐大家使用SkeyeVSS综合安防视频云服务:

  • 1,复杂的安防系统简单化,一键安装一键部署,一键启动,SkeyeVSS部署简单,不管是windows还是linux系统,分分钟就可以完成部署;支持横向互联,纵向级联,流媒体集群化部署。
  • 2,SkeyeVSS配置简单,安装完成后,如果不考虑流媒体和接入服务集群,单台设备即可自动完成各服务组件的自动接入和配置,我们只需要关心设备接入和业务配置即可。
  • 3,功能齐全,支持多网域、多地域监控视频资源接入系统进行统一管理,SkeyeVSS涵盖了无插件直播、无插件回放、设备控制、报警管理、服务器集群等方方面面,其独有的ws-rtsp流媒体技术,可以无缝对接安防监控系统。
  • 4,稳定可靠,系统低耦合,采用分布式微服务架构,可灵活配置安防系统中的各个子系统服务,SkeyeVSS支持7*24小时运行,各服务组件运行时均有看门狗监控服务,保证各服务节点的稳定运行。
  • 5,高效的流媒体分发和超低延迟的直播技术,保障网页无插件直播的实时行和高可用性;兼容传统安防流媒体的同时,不需要安装插件等。
  • 6,低廉的价格,为了便于系统推广,6路以下的设备接入直接永久免费试用,几千块钱即可构建一套功能强大、稳定、高效、可靠的网页无插件直播点播系统。

基于NGINX的RTMP直播点播开源流媒体服务器

一、安装加载nginx-rtmp-module模块的nginx

1、到nginx.org 下载稳定版本的nginx

2、到 https://github.com/arut/nginx-rtmp-module 下载rtmp模块(git clone https://github.com/arut/nginx-rtmp-module.git)

解压nginx的tar包;nginx 和trmp模块在同一目录

nginx-1.12.2 nginx-1.12.2.tar.gz nginx-rtmp-module

3、到nginx解压目录配置编译参数

./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module.1.1.4 --with-http_ssl_module

4、make && make install 安装

如果已安装nginx可以在已有nginx上面增加模块:参考https://www.cnblogs.com/zhangmingda/p/12622590.html

二、配置nginx rtmp直播功能nginx.conf

代码语言:txt
复制
 server {
代码语言:txt
复制
    listen 8080;
代码语言:txt
复制
        #配置RTMP状态一览HTTP页面=========================================
代码语言:txt
复制
        location /stat {
代码语言:txt
复制
            rtmp_stat all;
代码语言:txt
复制
            rtmp_stat_stylesheet stat.xsl;
代码语言:txt
复制
        }
代码语言:txt
复制
        location /stat.xsl {
代码语言:txt
复制
            root /opt/rtmp/nginx-rtmp-module/;
代码语言:txt
复制
        }
代码语言:txt
复制
        #配置RTMP状态一览界面结束==========================
代码语言:txt
复制
     #HTTP协议访问直播流文件配置
代码语言:txt
复制
        location /hls {  #添加视频流存放地址。
代码语言:txt
复制
                types {
代码语言:txt
复制
                    application/vnd.apple.mpegurl m3u8;
代码语言:txt
复制
                    video/mp2t ts;
代码语言:txt
复制
                }
代码语言:txt
复制
                #访问权限开启,否则访问这个地址会报403
代码语言:txt
复制
                autoindex on;
代码语言:txt
复制
                alias /usr/share/nginx/html/hls;#视频流存放地址,与下面的hls_path相对应,这里root和alias的区别可自行百度
代码语言:txt
复制
                expires -1;
代码语言:txt
复制
                add_header Cache-Control no-cache;
代码语言:txt
复制
                #防止跨域问题
代码语言:txt
复制
                add_header 'Access-Control-Allow-Origin' '*';
代码语言:txt
复制
                add_header 'Access-Control-Allow-Credentials' 'true';
代码语言:txt
复制
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
代码语言:txt
复制
                add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';  
代码语言:txt
复制
            }
代码语言:txt
复制
    }
代码语言:txt
复制
}
代码语言:txt
复制
#点播/直播功能实现配置rtmp协议
代码语言:txt
复制
rtmp {
代码语言:txt
复制
    server {
代码语言:txt
复制
        listen 1935;
代码语言:txt
复制
        chunk_size 4000;
代码语言:txt
复制
        application vod {
代码语言:txt
复制
            play /usr/share/nginx/html/vod/flvs/;#点播媒体存放目录
代码语言:txt
复制
        }
代码语言:txt
复制
        application live {
代码语言:txt
复制
            live on;
代码语言:txt
复制
        }
代码语言:txt
复制
      #HLS直播配置
代码语言:txt
复制
        application hls {
代码语言:txt
复制
            live on;
代码语言:txt
复制
            hls on;
代码语言:txt
复制
            hls_path /usr/share/nginx/html/hls;#视频流存放地址
代码语言:txt
复制
            hls_fragment 5s;
代码语言:txt
复制
            hls_playlist_length 15s;
代码语言:txt
复制
            hls_continuous on; #连续模式。
代码语言:txt
复制
            hls_cleanup on;    #对多余的切片进行删除。
代码语言:txt
复制
            hls_nested on;     #嵌套模式。
代码语言:txt
复制
        }
代码语言:txt
复制
    }
代码语言:txt
复制
}

SkeyeVSS RTSP/RTMP/FLV/WS-RTSP/HLS流媒体服务器

SkeyeVSS综合安防视频云服务, 提供一站式私有化部署视频安防综合管理系统解决方案。SkeyeVSS秉持网络化、集成化、智能化的理念,采用先进的软硬件开发技术,解决了综合安防系统集中管理、多级联网、信息共享、互联互通、多业务融合等问题。

SkeyeVSS其独创的ws-rtsp流媒体直播技术,兼容传统安防流媒体的同时,不需要安装浏览器插件,解决互联网接入安防监控延迟高、起播慢等问题;支持全平台终端H5直播点播(PC、Web、Android、iOS)。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何快速构建一套稳定、高效、可靠的网页无插件直播点播系统?
  • SRS开源流媒体服务
    • SRS 简介
      • 官方说明
      • 基于NGINX的RTMP直播点播开源流媒体服务器
      • SkeyeVSS RTSP/RTMP/FLV/WS-RTSP/HLS流媒体服务器
      相关产品与服务
      云直播
      云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档