背景需求:

许多客户有这样的需求:微信公众号做为平台来对摄像机进行直播;可以让用户随时随地打开公共号就可以观看;保证画面的流畅性;保证视频的并发访问量等。

问题分析:

虽然需求看似很简单,其实真正实现起来还是有相当多的阻碍。

首先:如何让摄像机的输出的视频流可以在微信的公众平台实现播放,摄像机输出的视频流播放往往需求插件是无法实现在微信公众号中进行直播;

其次:自己部署视频服务来进行流分发,对自身的服务器硬件和网络带宽都是有要求的,虽然硬件是可以解决的,但是对于一般普通的个人或者是私人企业单独投入一套完整的设备只是为了完成公众号直播,这个代价有点大;

再次:也是让普通用户最头痛的一点就是如何使内网的摄像机完成这些需求;如何在普通家庭网络这种情况下成功让外网访问到我们的视频流。

解决方案:

EasyNVR可以完成流的分发、转发出满足微信直播的视频流;也可以做到,拉取视频流转推出去,但是拉取视频流的限制在于服务端需要拉取到摄像机的视频流,在内网我们可以通过分配摄像机固定ip,配置出rtsp地址来进行拉流然后完成分发推流等一系列功能,对于公网,在普通家庭网络的情况下没有固定的外网ip,通过rtsp拉取摄像头的视频就显得不是很方便了。对于摄像头数量比较少的情况下,再在公网部署流媒体服务器就是显得相对比较笨重了;针对EasyNVR拥有推流CDN的功能,配合cdn可以完美解决这一尴尬问题;

以腾讯云为例进行方案介绍:

1.内网部署EasyNVR,并完成摄像机配置;

1.1成功访问EasyNVR

1.2通过RTSP地址将摄像机接入EasyNVR

1.3视频广场成功展示接入设备对应信息

2.开通CDN服务,并接入(以腾讯云为例);

2.1 登陆腾讯云,开通腾讯云直播服务;

腾讯云登陆

直播LVB

2.2进入【视频直播】控制台

2.1.1. 选择直播码接入

左边菜单选择【直播码接入】,点击【确认接入】

2.1.2. 选择推流生成器

点击【推流生成器】获得直播推流地址,下面会具体列出【推流地址】,播放地址等

可以根据自定义的ID,生成一批推流地址,然后配置到EasyNVR通道CDN地址中

2.1.3. 通过EasyNVR成功接入CDN

3.通过CDN返回播放地址接入微信公众号;

注意由于腾讯云放回的m3u8地址是一个直播的视频流地址,直接播放会在微信页面有一个【继续访问】的页面提示;

解决方案: 写一个视频播放静态页面,通过有域名来访问就可以避免微信的认证提醒;

(播放页面主要内容为HLS流媒体播放器,具体实现方式参考EasyNVR自身DEMO)

将此地址放至微信公众号可以直接进行访问进行直播;


关于EasyNVR

EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;

详细说明:http://www.easynvr.com

点击链接加入群【EasyNVR解决方案】:383501345

Copyright © EasyDarwin Team 2012-2018

EasyNVR结合阿里云/腾讯云CDN实现微信/小程序直播的方案的更多相关文章

  1. 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践

    1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...

  2. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  3. ***腾讯云直播(含微信小程序直播)研究资料汇总-原创

    这段时间抽空研究了下直播技术,综合比较了下腾讯云直播的技术和文档方面最齐全,现把一些技术资料和文档归集如下: 1.微信小程序移动直播入门导读 https://cloud.tencent.com/doc ...

  4. 微信小程序对接显示阿里云数据库数据

    现实需求 在项目中需求,有时候现场设备发生故障,需要远程的人员知道.除了邮件方式,以微信小程序的方式也很好.今天进行尝试,并制作了一个demo版本. 1.微信小程序申请制作前端 1.1lists文件( ...

  5. 微信小程序腾讯云php后台解决方案

    微信小程序腾讯云php后台解决方案 微信小程序前段需要添加必要的文件以配合后端 (1)wafer2-client-sdk sdk提供了几种接口包括登陆,获取用户openid,图片上传等 (2)conf ...

  6. 基于小程序云Serverless开发微信小程序

    本文主要以使用小程序云Serverless服务开发一个记事本微信小程序为例介绍如何使用小程序云Serverless开发微信小程序.记事本小程序的开发涉及到云函数调用.云数据库存储.图片存储等功能,较好 ...

  7. 微信小程序wx.getLocation()获取经纬度及JavaScript SDK调用腾讯地图API获取某一类地址

    简介 腾讯位置服务为微信小程序提供了基础的标点能力.线和圆的绘制接口等地图组件和位置展示.地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品. 在此基础上,腾讯位置服务 ...

  8. 阿里云和腾讯云免费SSL证书 专题

    阿里云部署SSL证书 http://www.cnblogs.com/sslwork/p/5984167.html 查找中间证书 为了确保兼容到所有浏览器,我们必须在阿里云上部署中间证书,如果不部署证书 ...

  9. 利用阿里云腾讯云正版KMS服务器端口转发

    注意:以下内容仅供实验,请勿用于任何非法用途我们知道,阿里云和腾讯云在内网部署了KMS服务器,而且是正版的,那么,有没有办法使用公网的计算机直接或间接连接到这些KMS服务器呢,受代理服务器和跳板机配置 ...

随机推荐

  1. functor

    I thought it would be easy and convenient to define a small functor and perform a customized sort on ...

  2. ODS与EDW的区别

    http://blog.csdn.net/bitcarmanlee/article/details/51013474 根据自己的理解与实际项目经验,说说ODS与EDW的异同.如果有不对的地方,欢迎大家 ...

  3. 【Hadoop】Hadoop MR 自定义分组 Partition机制

    1.概念 2.Hadoop默认分组机制--所有的Key分到一个组,一个Reduce任务处理 3.代码示例 FlowBean package com.ares.hadoop.mr.flowgroup; ...

  4. [Other] An Overview of Arrays and Memory

    One integer takes 32bit in memory, 1 byte = 8bits, therefore one integer takes 4 bytes. Now let's as ...

  5. linux获取后台进程的控制台数据

    linux提供了一个daemon函数,使得进程能够脱离控制台执行,实现了后台执行的效果.可是进程后台执行后,原本在终端控制台输出的数据就看不到了. 那么,如何才干找回这些数据? 这里.文章主题就环绕着 ...

  6. Oracle 数据库监听配置

    一.监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求.既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的 ...

  7. Jeewx 捷微管家操作配置文档(开源版本号)

    1.1.1.  公众帐号管理 (1)捷微是第三方微信公众帐号管理平台,使用本平台前,请自行注冊申请微信公众帐号,操作流程请參照百度经验[怎样注冊微信公众帐号]: http://jingyan.baid ...

  8. odoo分析会计

    odoo财务会计凭证录入时,支持 在凭证行 输入 分析账户和 分析标签 如果凭证行设置了 分析账户或者分析标签, 则在会计凭证过账的时候, 在分析会计功能建立 分析会计分录 其中, 如果设置了分析账户 ...

  9. STL学习笔记(变序性算法)

    变序性算法改变元素的次序,但不改变元素值. 这些算法不能用于关联式容器,因为在关联式容器中,元素有一定的次序,不能随意变动. 逆转元素次序 void reverse(BidirectionalIter ...

  10. EasyUI datagrid 过滤事件段

    //dateTimeRange过滤扩展 $.extend($.fn.datagrid.defaults.filters, { dateRange: { /*onInit: function(targe ...