EasyPusher移动端推送同我们平时用的RTSP直播推送流程一样,都是采用标准RTSP/RTP推送流程:ANNOUNCE->SETUP->PLAY->RTP/RTCP->TEARDOWN(或者直接直接断开推送连接),流程图如下: 我们贴一段EasyPusher 安卓与EasyDarwin流媒体服务器之间的交互报文: #C->S: #time: ms=475350259 date=Sat, 16 Apr 2016 01:09:58 GMT #server: ip=192.1…
本文转自Holo的博客:http://blog.csdn.net/u013758734/article/details/50834770 最近在研究EasyDarwin的Push库EasyPusher,EasyPusher可以推送H264视频到EasyDarwin服务器,终端可以通过rtsp协议访问该实时流,达到手机直播的功能,延迟基本在2秒以内. EasyDarwinQQ群:496258327 本文主要记录一下最近研究的关于Android手机如何获取实时画面,并将数据编码为H264的格式的视频…
EasyPusher直播推送在之前就已经稳定支持了Windows.Linux.ARM上的RTSP直播推送功能,配合EasyDarwin开源流媒体服务器,延时基本在1s以内,这个技术方案经过一年多时间,包括开源社区.企业用户的反复检验测试,已经具备很高的稳定性了: 我们在之前已经spydroid实现过一套Android直播推送与EasyDarwin结合的直播方案,后来一直都没有进行迭代优化,正好趁这个机会,EasyPusher已经支持了ARM平台,我们就通过NDK编译的方式,将EasyPusher…
本文转自:http://blog.csdn.net/jyt0551/article/details/58714595 EasyPusher是一款非常棒的推送客户端.稳定.高效.低延迟,音视频同步等都特别好.装在安卓上可作为一款单兵设备来用.说到单兵,在项目中通常都需要边传边录的功能,因此后来EasyPusher也加入了该特性.该文章将结合代码来阐述下这个功能是如何实现的. EasyPusher在设置里增加了相关选项来方便开启和关闭本地录像功能,如下图所示,在设置里勾选后就可以推送的同时进行录像了…
在不断进行EasyDarwin开源流媒体服务器的功能和性能完善的同时,我们也配套实现了目前在安防和移动互联网行业比较火热的移动端手机直播方案,主要就是我们的 EasyPusher直播推送项目 和 EasyPlayer播放器项目: 先大概对EasyPusher和EasyPlayer项目做一下介绍,EasyPusher是一个推送流媒体音/视频流给开源流媒体服务器EasyDarwin的标准RTSP/RTP协议推送库,全平台支持(包括Windows/Linux(32 & 64),ARM各平台,Andro…
在不断进行EasyDarwin开源流媒体server的功能和性能完好的同一时候,我们也配套实现了眼下在安防和移动互联网行业比較火热的移动端手机直播方案,主要就是我们的 EasyPusher直播推送项目 和 EasyPlayer播放器项目. 先大概对EasyPusher和EasyPlayer项目做一下介绍,EasyPusher是一个推送流媒体音/视频流给开源流媒体serverEasyDarwin的标准RTSP/RTP协议推送库.全平台支持(包括Windows/Linux(32 & 64),ARM各…
本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52963378 EasyRTMP Android版demo中,通过使用AudioRecord录音,然后将每一帧数据通过MediaCodec编码成LATM格式音频,然后就发送给服务器就OK了. AudioRecord的使用 public void startRecord() { try { init(); mAudioRecord.startRecord…
本文由EasyDarwin开源团队成员John提供:http://blog.csdn.net/jyt0551/article/details/52276062 EasyPusher Android是使用摄像头采集视频数据,并通过MediaCodec进行H264编码,之后打包成RTSP格式并上传的. 大家知道Android 的Camera是通过回调来获取YUV数据的,要想获取到回调数据,需要给Camera一个有效的Surface对象.通常我们用SurfaceView或者TextureView来提供…
本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52960750 问题简介 EasyRTMP是EasyDarwin团队开发的一套简单易用的RTMP推送SDK.本文想讲述下开发过程中遇到的一个问题.问题的现象是使用EasyRTMP推送音视频流到自己搭建的nginx-rtmp服务器,使用ffplay和vlc播放器都能够正常播放,但是使用网页flash播放时,总是会卡住,无法正常播放. 问题解决 开始时有些…
从安卓智能手机.平板,到可穿戴的Android Ware.眼镜.手表.再到Android汽车.智能家居.电视,甚至最近看新闻,日本出的几款机器人都是Android系统的,再把目光放回监控行业,传统监控中的移动终端设备,例如:单兵设备.手持设备.车载终端设备,包括家庭监控中用到的智能设备,都可以用Android系统替代了,不仅开发容易,而且易扩展,设备也更加智能了.... Google I/O大会之后,不难看出安卓在Google的推进以及本身的开放性作用下,已经快延生到生活的各个方面了,从安卓智能…
最新手机採集推送直播监控以及EasyDarwin开源流媒体平台的版本号及代码: EasyDarwin 开源流媒体云平台:https://github.com/easydarwin EasyClient 开源流媒体平台client:http://fir.im/EasyClient EasyCamera 安卓手机单兵监控端:http://fir.im/EasyCamera 恰逢2014 Google I/O大会,不难看出安卓在Google的推进以及本身的开放性作用下,已经快延生到生活的各个方面了,从…
最近EasyPusher针对UVC摄像头做了适配.我们结合了UVCCamera与EasyPusher,支持将UVC摄像头的视频推送到RTSP服务器上.在此特别感谢UVCCamera这个牛逼的项目! 来看看是怎么操作UVC摄像头的吧.我们实现了一个专门检测UVC摄像头的服务:UVCCameraService类,主要代码如下: 监听 mUSBMonitor = new USBMonitor(this, new USBMonitor.OnDeviceConnectListener() { @Overr…
博客一:转自:http://blog.csdn.net/u011039529/article/details/70832857 大家好,本人刚毕业程序猿一枚.受人所托,第一次写博客,如有错误之处敬请谅解.本文主要讲解:如何在C#中封装以及调用C++编写的函数,通过对EasyDarwin开源流媒体的EasyPusher为例讲解. 首先,我个人不喜欢复杂的调用,比如很多C#中Marshal类相关的操作.我更愿意把c++代码封装成对象,以对象void*到IntPtr的相互转换来实现. 当然,这种方法对…
问题描述 我们在开发直播过程中,会需要用到直播推送端,推送端将直播的音视频数据推送到流媒体服务器或者cdn,再由流媒体服务器/CDN进行视频的转发和分发,提供给客户端进行观看.由于直播推送端会存在于各种不同的网络环境下面:有线.无线.3G.4G.卫星信号等等,在这些网络条件下,如何做到能够做到灵活.低延时直播,我们这个时候就需要引入发送缓冲区和丢帧策略两种功能,保证推送的实时和数据的有效: 环形缓冲区(引用) 环形缓冲区(ring buffer),是一种数据结构用于表示一个固定尺寸.头尾相连的缓…
国内的Android设备,不能稳定的使用Google GCM(Google Cloud Messageing)消息推送服务. 1. 国内的Android设备,基本上从操作系统底层开始就去掉了Google 框架 2. Google服务器都在国外,最近的在香港,以及其他原因,造成国内手机和Google服务器连接不稳定 3. 某些企业客户也不希望使用公开的服务,最好是用自己的内网推送服务器了 建议呢?用IBM的MQTT 印象里,MQTT是IBM英国/印度实验室在10年前开发的嵌入式消息系统,早年支持W…
关于这个话题,已经不是什么新鲜事了.对于大多数中小型公司一般都是选择第三方的服务来实现.但是现在已经有很多提供推送服务的公司和产品,如何选择一个适合自己项目的服务呢?它们之间都有什么差别?在此为大家做了一个简单的调研,希望可以帮到大家. 简介: 手机推送服务是指服务器定向将信息实时送达手机的服务.推送服务,主要就是将最新资讯和最近的活动信息及时推送给用户,与用户保持互动,从而提高用户粘性,提升用户体验.例如,微信,新浪微博等APP的通知栏消息. 原理: 1)轮询(Pull)方式:应用程序应当阶段…
方案介绍 目前互联网直播的CDN和标准RTMP流媒体服务器通常只能接收RTMP格式的音视频推流.目前市场上有一些自带RTMP推流的摄像机和编码器,可以直接在其rtmp推流配置里面配置推送到RTMP流媒体服务器上.但是大部分的安防网络摄像机还是不带推流功能,尤其是海康.大华.宇视等通用性价比高的摄像机,是不支持的,所以,对于这种摄像机只能通过二次开发的方式,先获取摄像机实时视频流并封装成RTMP/FLV格式进行推送,再由RTMP流媒体服务器进行转发/分发. 获取摄像机实时视频流的方式可以调用摄像机…
项目介绍:cocos2dx跨平台游戏 项目需求:实现本地消息推送,需求①:定点推送:需求②:根据游戏内逻辑实现推送(比如玩家体力满时,需要计算后到点推送):需求③:清理后台程序或重启后依然能够实现本地推送. 功能实现:由于IOS有一套比较成熟的UILocalNotification推送机制,这里主要说明Android下本地推送的实现.另外大家感兴趣可以看下第三方的推送:个推.极光.腾讯信鸽.百度云推送等,第三方多是要接入服务端,否则只能自己在第三方申请的应用的后台手动推送,另外第三方也不保证能1…
要说学习极光推送,个人感觉官方文档就非常好啦,但是没法,人太懒啦,为了下次能够快速的将极光推送集成到项目中,故结合之前开发的项目和官方文档记录下简单的Android集成极光推送,在这之前,先上一张简单的思维导图吧,最近一直在研究思维导图,感觉帮助还挺大的. 先从官方文档中摘取出一些熟悉的名词,推送目标主要分为四种: 广播推送:向所有的注册用户发送一条广播消息 标签推送:根据属性对用户设置标签分组,向群组用户发送 别名推送:客户端绑定用户别名,向具体的单个用户推送 用户群体:根据JPush提供的多…
下面是最简单的Android的消息推送的实现方法 package com.example.shownotic; import java.util.Random; import android.support.v7.app.ActionBarActivity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import androi…
本文转自EasyDarwin团队kim的博客:http://blog.csdn.net/jinlong0603 EasyRTMP的推送缓冲区设计 EasyRTMP内部也同样采用的环形缓冲的设计方法,将音视频数据都同时存入缓冲区,再由发送者从缓冲区中获取数据进行发送,这样就形成了一个异步.生产者.消费者的过程,上层调用者只需要将采集.编码后的音视频Frame数据Push到SDK的缓冲区中,即可返回继续进行上层逻辑操作,SDK内部的发送线程则从缓冲区中不断获取音视频数据推送到流媒体服务器: Easy…
springboot+websocket+sockjs进行消息推送[基于STOMP协议] WebSocket是在HTML5基础上单个TCP连接上进行全双工通讯的协议,只要浏览器和服务器进行一次握手,就可以建立一条快速通道,两者就可以实现数据互传了.说白了,就是打破了传统的http协议的无状态传输(只能浏览器请求,服务端响应),websocket全双工通讯,就是浏览器和服务器进行一次握手,浏览器可以随时给服务器发送信息,服务器也可以随时主动发送信息给浏览器了.对webSocket原理有兴趣的客官,…
本文转自EasyDarwin开源团队成员John的博客:http://blog.csdn.net/jyt0551/article/details/52651194 由于Android 5.0提供了捕获当前屏幕画面的SDK,基于该SDK,EasyPusher实现了实时推送手机屏幕画面的功能.经测试,效果很不错,延迟也比较低,画面也比较流畅.该功能可运用到小型会议PPT演示.手游直播等行业. 具体来说,MediaProjection 类可以将当前屏幕画面采集到一个surface里面,而MediaCo…
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52938980 EasyRTMP介绍 EasyRTMP是EasyDarwin团队开发的一套支持Windows.Linux.arm.Android.iOS等各种平台的 高效RTMP推送库.接口调用非常简单,Gitbub上有相关Demo代码,地址:https://github.com/EasyDarwin/EasyRTMP. EasyRTMP De…
先简单介绍一下EasyPusher的功能,后面再对具体内部架构做介绍: EasyPusher:https://github.com/EasyDarwin/EasyPusher EasyPusher是什么? EasyPusher是一个推送流媒体音视频给开源流媒体服务器EasyDarwin的推送库,通过EasyPusher我们就可以避免接触到稍显复杂的RTSP/RTP推送流程,只需要调用EasyPusher的几个API接口,就能轻松.稳定地把流媒体音视频数据推送给EasyDarwin服务器进行转发和…
首先简单介绍一下Android消息推送的主要三种方式,如果你已经看过类似的文章,请直接忽略三种介绍.    1.使用SMS服务,即服务器端发送短信,然后手机客户端监听短信的广播,然后对数据进行一定的处理,达到消息推送的目的.好处就是省电,省流量,但是运 营商会很费钱.毕竟发送短信都是需要金钱支持的,并且会有环境的限制.平板.或者用户停机的情况下,就没有办法使用推送了.所以这种解决方案,仅仅是在某 些及其特殊的情况下(移动.联通.电信这种公司)才会使用.    2.使用轮询的方式来从网络中主动获取…
一.手机厂商平台 华为消息推送服务 华为推送(Push)是为开发者提供的消息推送平台,建立了从云端到手机端的消息推送通道,使应用可以将最新信息及时通知用户,从而构筑良好的用户关系,提升用户的感知和活跃度. 推送透传消息:以透传方式将自定义的内容发送给应用.开发者的应用自主解析自定义的内容,并触发相关动作.利用此功能开发者可实现IP呼叫.好友邀请等等功能,完全自由发挥. 推送通知栏消息:消息推送可自由编排的富媒体内容到手机展现,支持表格.图片.音频.连接地址等,类似Html5页面效果. 在线编辑内…
什么叫推送? 中文名称:推送 英文名称:push 定义:描述因特网内容提供者和因特网用户之间工作方式的术语.“推送”指因特网内容提供者定期向预订用户“提供”数据. 项目中有可能会用到推送.如果自己写一个的话,可是个耗时耗力的时,好在很多第三方公司都提供了推送服务,比如百度云.我们可以在自己的程序中使用它. 百度云推送 云推送(Push)是百度开放云向开发者提供的消息推送服务:通过利用云端与客户端之间建立稳定.可靠的长连接来为开发者提供向客户端应用推送实时消息服务. 百度云推送服务支持推送三种类型…
Android 安卓使用 GCM (Google Cloud Messaging) 接收推送,然后应用根据实际情况决定做什么反应,比如显示一个 Notification. 所以安卓下,推送 Push 和 消息 Notification 是独立的.当用户紧致消息通知权限的时候,用户无法收到 Notification,但 GCM 消息仍然可以收到. 安卓的 Notification 是可以直接自定义图标,声音等信息的.但是安卓在有 Notification 的时候不能给图标加 badge. iOS…
iOS 的推送iOS 在系统级别有一个推送服务程序使用 5223 端口.使用这个端口的协议源于 Jabber 后来发展为 XMPP ,被用于 Gtalk 等 IM 软件中.所以, iOS 的推送,可以不严谨的理解为:苹果服务器朝手机后台挂的一个 IM 服务程序发送的消息.然后,系统根据该 IM 消息识别告诉哪个 Apps 具体发生了什么事.然后,系统分别通知这些 Apps . 这个消息的内容是这样的:应该说,苹果这种方式在技术上没有什么创新.但是,整个架构是很了不起的. 因为:1 使用久经考验的…