需求背景 回顾EasyDSS的发展过程,基本上保持的是先局部后系统.先组件后平台的发展方式,一步一步夯实每一个细节功能点,从最基础.最兼容的音视频数据的拉流获取,到高效的.全兼容的数据推流,再到流媒体服务器对音视频数据的高性能分发,与全平台的音视频播放,这整个的一条音视频数据传输链路的形成,就足够满足各种千变万化的音视频应用的需求场景. 尤其是在安防领域,其主要特点是设备多.用户少.智能化要求高,我们需要接入多种网络环境下的多种不同协议的设备,例如摄像机IPC.网络硬盘录像机NVR.硬盘录像机D…
需求背景 回顾EasyDSS的发展过程,基本上保持的是先局部后系统.先组件后平台的发展方式,一步一步夯实每一个细节功能点,从最基础.最兼容的音视频数据的拉流获取,到高效的.全兼容的数据推流,再到流媒体服务器对音视频数据的高性能分发,与全平台的音视频播放,这一整条音视频数据传输链路的形成,足够满足各种千变万化的音视频应用的需求场景. 尤其是在安防领域,其主要特点是设备多.用户少.智能化要求高,我们需要接入多种网络环境下的多种不同协议的设备,例如摄像机IPC.网络硬盘录像机NVR.硬盘录像机DVR.…
背景分析 熟悉EasyNVR产品的朋友们都知道,EasyNVR不仅可以独成体系,而且还可以跟其他系列产品相配合,形成各种不同类型的解决方案,满足各种不同应用场景的实际需求.针对很多设备现场没有固定公网IP,但是又想实现公网.手机.微信直播,这种情况必须将现场局域网摄像头视频流推送到公网流媒体服务器上,客户端才能从公网流媒体服务器取到视频流进行直播,这里就涉及到EasyNVR+EasyDSS想结合的方案了. 该方案的主要目的:完成在公网一直进行内网摄像头的RTMP/HLS直播! 具体实现: [Ea…
近期遇到好多客户咨询关于实现微信直播.或者是将直播页面集成进入自己项目中. 该方案的主要目的:完成在公网一直进行内网摄像头的RTMP/HLS直播! 实现方案的具体实现: EasyNVR+EasyDSS实现简单套路的RTMP.微信直播.录像.回放方案 上述方案主要注重的是方案的运行.本篇将介绍一下如何实现对于业务的具体需求. 由于 业务需求的需要,我们接入的设备往往都是来自不同的现场,因此就需要对不同现场接入的设备来进行区分.不同于easynvr+easydss云平台.(easydss流媒体服务器…
需求背景 最近有很多用户咨询关于视频点播问题,主要需求集中在如何搭建属于自己的视频点播平台: 实现的功能可以大体归类为:对应自身拥有的视频文件,需要发布到一个网站,其他用户都可以实现点播观看. 针对于类似的视频点播功能,EasyDSS视频点播的功能完美地满足了用户的诉求. 关于视频点播,EasyDSS集成了对应的视频点播能力,本篇博文将介绍一下EasyDSS点播相关功能: EasyDSS视频点播常见的使用场景有: 视频网站.党政宣传.门户网站视频点播 在线教育.精品课堂 短视频点播 企业.集团视…
在前段时间,接触一个很喜欢钉钉并且已在内部场景广泛使用钉钉进行工厂内部管理的客户,如钉钉考勤.日常审批.钉钉投影.钉钉门禁等等方面,才体会到原来钉钉已经已经在企业上可以用的很广泛的,因此回过头来学习研究下钉钉的一些业务范围和其SDK的开发工作.钉钉官方的SDK提供了很多方面的封装,不过相对于Java,.NET版本的一直在变化当中,之前研究钉钉C#版本SDK的时候发现一些问题反映给钉钉开发人员,基本上得不到好的解决和回应,而在使用官方的SDK的时候,有些数据竟然无法正常获取(如角色的信息等),而且…
随着前端技术的不断发展,视频点播早已不再是IE6时代的浏览器嵌入式Windows Media Player.也不是后来的flash media player需要的rtmp点播流,现在能够唯一满足全终端.全平台.H5播放,这些条件的,可能只有HLS协议了(也就是大家熟悉的m3u8流),HLS虽然定义的是Live Streaming,但实际点播和直播的定义都包含了,HLS在直播方面可能会存在一些延时方面的痛点,但在视频点播功能上,HLS是视频点播系统最好的协议选择! 需求背景 最近有很多用户咨询关于…
背景概述 两个项目组原本都是各自负责两个产品线(产品A.产品B),由于公司业务的发展,目前需要将两个产品合并成一个大产品(功能整合,部分做取舍,最终产出产品C),前后端代码必然也需要整合,包括两个产品线的用户体系等.并且给出的时间节点很紧张. 目前两个产品线的区别点: 产品A 前端模块载体是微信小程序,没有H5.APP等需求,因此所采用的技术栈是原生写法,没有用到技术框架 服务端技术架构是单体架构,Spring Boot框架,管理后台框架采用的是Apache Shiro 前后端接口调用采用的是服…
 基于opencv网络摄像头在ubuntu下的视频获取 1  工具 原料 平台 :UBUNTU12.04 安装库  Opencv-2.3 2  安装编译运行步骤 安装编译opencv-2.3  参考http://blog.csdn.net/xiabodan/article/details/23547847 提前下载OPENCV源码包 官方:http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/ 我的:http://do…
尚硅谷<全套Java.Android.HTML5前端视频> (百万谷粉推荐:史上最牛.最适合自学的全套视频.资料及源码) [尚硅谷官网资料导航] 谷粒学院在线学习:http://www.gulixueyuan.com/ 免直播课:www.atguigu.com/online.shtml 全套免费视频教程:www.atguigu.com/download.shtml 开发工具.技术文档.jar包资料:www.atguigu.com/opensource.shtml 自学尚硅谷视频,拿1万+月薪?…
“分布式锁”是用来解决分布式应用中“并发冲突”的一种常用手段,实现方式一般有基于zookeeper及基于redis二种.具体到业务场景中,我们要考虑二种情况: 一.抢不到锁的请求,允许丢弃(即:忽略) 比如:一些不是很重要的场景,比如“监控数据持续上报”,某一篇文章的“已读/未读”标识位更新,对于同一个id,如果并发的请求同时到达,只要有一个请求处理成功,就算成功. 用活动图表示如下: 二.并发请求,不论哪一条都必须要处理的场景(即:不允许丢数据) 比如:一个订单,客户正在前台修改地址,管理员在…
2017-02-24 自从我写完这个话题的上半部分之后,就感觉头脑中出现了许多细小的声音,久久挥之不去.它们就像是在为了一些鸡毛蒜皮的小事而相互争吵个不停.的确,有关分布式的话题就是这样,琐碎异常,而且每个人说的话听起来似乎都有道理. 今天,我们就继续探讨这个话题的后半部分.本文中,我们将从antirez反驳Martin Kleppmann的观点开始讲起,然后会涉及到Hacker News上出现的一些讨论内容,接下来我们还会讨论到基于Zookeeper和Chubby的分布式锁是怎样的,并和Red…
写在前面 FFmpeg是一个开源且跨平台的音视频解决方案,集采集.转码.流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持非常非常丰富的编解码格式和容器封装格式,是做媒体相关开发工作必须要掌握和借鉴的一个项目.定制和编译ffmpeg是做流媒体开发迟早要面对的,linux平台上相对简单,windows平台就比较麻烦了.本文的目的就是详细介绍下如何基于ubuntu交叉编译环境,编译和定制ffmpeg.   一  概述 ffmpeg主要是基于linux开发,当…
文章来源:小青年原创发布时间:2016-06-15关键词:mui,环信 web im,html5+,im,页面传值,缓存转载需标注本文原始地址: http://zhaomenghuan.github.io/#!/blog/20160615 写在前面 感觉自从qq.微信这种APP用多了,现在都没啥人发短信了,现在什么APP都想加入IM的功能,曾经有段时间在折腾自己撸一个聊天的东西,也尝试过很多平台,今天这里给大家介绍一下从零开始自己做一个聊天的app功能.因为之前帮朋友做过一个基于环信的聊天功能,…
本文转自EasyDSS团队Marvin的博客:http://blog.csdn.net/marvin1311/article/details/73548929 最新版本的EasyDSS流媒体解决方案,加入了直播流管理,那我们一起来看看,是怎么做的? 首先,我们定义的直播流管理中的基本字段:[直播ID].[直播名称].[有效开始时间].[有效截止时间].[推流地址].[直播状态].[添加时间].[更新时间] 下面介绍下具体的操作流程及效果: 一:创建直播流 这里的有效开始时间和有效结束时间,都是选…
一.前言 特别不喜欢麻烦的一个人,最近碰到了微信开发.下载下来了一些其他人写的微信开发“框架”,但是被恶心到了,实现的太臃肿啦. 最不喜欢的就是把微信返回的xml消息在组装成实体类,所以会比较臃肿,现在都提倡轻量级,所以有什么办法可以避免大量实体类的存在呢. 当然,还有包装的比较繁杂,看完官方API后,再看"框架",让人感觉一头雾水,不够清晰.明了. 二.我的实现思路 我的微信SDK(不敢自称框架),最重要的实现2个目标: 1.轻量级,就是要摒弃实体类,尽量少的申明Entity,减少S…
EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作. 其中,点播功能主要包含:上传.转码.分发.直播功能,主要包含:直播.录像, 直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发输出:录像支持自定义保存时长.检索及下载.提供丰富的二次开发接口,基于JSON的封装及HTTP调用.提供播放鉴权.推流鉴权等安全保证.提供用户及相关权限管理配置. 本篇文章主要介绍,在正式的部署环境中,如何优化部署策略,方便后期的版本升级及数据维护. 一…
本文在windows下使用visual studio2013配置关联python(python-2.7.12.amd64.msi)的caffe项目,如果有耐心的人,当然可以自己去下载caffe项目自己进行编译,由于我比较懒,所以这里我利用微软自己移植的caffe进行部署,就不尝试编译官方的caffe(听说自己编译需要解决各种坑),微软移植的解决方案编译确实很方便,解决一些引用就ok了.   (一)Caffe微软官方GitHub 下载地址:https://github.com/Microsoft/…
基于Live555实现RtspServer及高清高码率视频传输优化 最近做了一些pc和嵌入式平台的RTSP服务器项目,大多数的要求是简单但是功能全面,并且性能还要强劲.综合考虑后,基本都是在基于live555的基础上进行开发,在进行Live555本身的优化以及程序内部视频数据传输的优化后,不仅实现了需求而且性能还超出预期,实现了10Mbps高码率的1080p以上高分辨率高清视频的流畅直播.这里将一些优化点分享一下: 为什么基于Live555开发 其实之前我就已经开发过一个RTSP Server程…
全套整合一个盘里:链接:https://pan.baidu.com/s/1nwnrWOp 密码:h4bw 如果分类里没有请下载下边那些小项教程链接 感谢尚硅谷提供的视频教程:http://www.atguigu.com/ [全套Java教程--打包下载地址]Java基础阶段一.20天横扫Java基础(课堂实录)https://pan.baidu.com/s/1jJpzHv4 二.尚硅谷Java基础实战——Bank项目http://pan.baidu.com/share/link?shareid=…
之前的EasyDSS作为rtmp流媒体服务器自从推出就备受用户好评,随着用户的需求的变更产品自身的发展是必须的: 为了更好的用户体验和和功能的完善,我们在EasyDSS的基础上增添了服务器硬件数据报表(CPU.内存.磁盘空间).网络流量数据的统计以及角色分配,直播间.点播文件.虚拟直播绑定权限等操作. 用户体验的再次升级 EasyDSS 商用流媒体服务器提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作,并且 EasyDSS 支持多种特性,完全能够满足企业视频信息化建设方面…
Android SDK包含了各种各样的定制工具,简介如下: Android模拟器(Android Emulator )它是在你的计算机上运行的一个虚拟移动设备.你可以使用模拟器来在一个实际的Android运行环境下设计,调试和测试你的应用程序. Android调试桥(Android Debug Bridge (adb) )Adb 工具可以让你在模拟器或设备上安装应用程序的.apk文件,并从命令行访问模拟器或设备.你也可以用它把Android模拟器或设备上的应用程序代码和一个标准的调试器连接在一起…
本文示例代码及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在基于geopandas的空间数据分析系列文章第8篇中,我们对geopandas开展空间计算的部分内容进行了介绍,涉及到缓冲区分析.矢量数据简化.仿射变换.叠加分析与空间融合等常见空间计算操作,而本文就将针对geopandas中剩余的其他常用空间计算操作进行介绍. 本文是基于geopandas的空间数据分析系列文章的第9篇,也是整个系列文章…
本文记录IOS平台下基于FFmpeg的视频解码器.该示例C语言的源代码来自于<最简单的基于FFMPEG+SDL的视频播放器>.相关的概念就不再重复记录了. 源代码 项目的目录结构如图所示. C代码位于ViewController.m文件中,内容如下所示.   /**   * 最简单的基于FFmpeg的视频解码器-IOS   * Simplest FFmpeg IOS Decoder   *   * 雷霄骅 Lei Xiaohua   * leixiaohua1020@126.com   * 中…
说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入口文件 这里chipcon_cstartup.s51是汇编的启动文件,ZMain.c相当于main文件,里面有main函数: int main( void ) { osal_int_disable( INTS_ALL );// Turn off interrupts 关中断 HAL_BOARD_IN…
如题:使用opencv打开摄像头或视频文件,实时显示原始视频,将视频每一帧依次做灰度转换.高斯滤波.canny边缘检测处理(原始视频和这3个中间步骤处理结果分别在一个窗口显示),最后将边缘检测结果保存为一个视频avi文件. 这里问题综合性比较大,这里进行分治. 该类问题可分为四个方面的处理: (1)打开 视频或者是摄像头,并播放视频 (2)对视频的每一帧做处理 (3)同窗体显示四个结果 (4)保存视频文件 以下分为这三个方面进行处理: (1)打开 视频或者摄像头,并播放视频 这个利用opencv…
前言 本文主要讲述,在WPF中,借助Vlc.DotNet调用VLC类库,实现视频播功能,下面我们先来做开发前的准备工作. 准备工作 首先,我们创建一个项目WpfVLC,然后,进入Neget搜索Vlc.DotNet,得到如下界面: 我们选择Vlc.DotNet.Wpf,点击安装(这里我已经安装了,所以图中显示为卸载). 然后,我们去VLC官网,下载VLC播放器. VLC官网:http://www.videolan.org/ 因为我的电脑是64位的,所以我下载64位的VLC版本,如下图: 下载完成后…
环境:CentOS 7+NDK 20.0.5594570+libiconv-1.14 下载 下载libiconv-1.14版本,地址: https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz 下载zbar,地址:https://github.com/ZBar/ZBar 编译libiconv-1.14 1.执行./configure 2.执行make 报错,提示 error: ‘gets’ undeclared here (not in…