基于EasyPusher sdk库工程(即library module)实现一个推送客户端非常简单便捷,因为sdk端已经将各种烦人的状态维护\错误检查\权限判定\UI同步等功能都实现了,开发者仅仅只需要实现若干接口即可. 让我们看看如何实现一个Pusher吧! 首先我们介绍一下Pusher sdk的封装用到了哪些技术. Android Architecture Components Android architecture components是Google 官方出的一个Android APP的…
行业背景 直播技术飞速发展让各个行业的用户体验呈现多样化和个性化,不同业务场景下创新实践满足大众对于音视频互动体验和参与的高标准要求.历经2020年初的巨变之后,以视频.游戏.电商.教育为主的互联网经济迎来飞速发展,"直播+"已成为一种趋势,广泛融入到人们的工作和生活中.在搭建直播系统时,大家会经常听到两个高频词:RTMP(Real Time Messaging Protocol)和OBS(Open Broadcaster Software). RTMP协议是由Adobe公司提出的一种…
前言 前一段时间,我们为EasyDarwin实现了客户端快速显示画面/听到同步声音的缓存关键帧检索方案,具体的实现方法分别在<EasyDarwin手机直播是如何实现的快速显示视频的方法>和<EasyDarwin手机直播转发快速显示问题之音频处理过程>两篇博客中可以了解到具体的实现原理,实现的方法代码也可以在EasyDarwin的ReflectorStream类中找到: 问题需求 经过了一段时间的测试和项目检验,按照上述描述的流程,能够很好地实现快速显示功能,但转发过程中,还会出现随…
在上周落幕帷幕的多媒体领域技术盛会——LiveVideoStackCon音视频技术大会上,阿里云的高级技术专家李刚进行了<下一代低延时的直播CDN>技术分享.主讲人李刚,多年关注在CDN这个领域,早期主要研究和cache服务器缓存以及流媒体相关的技术, 专注CDN文件分发.图片与大文件下载等业务.从2015年开始负责全面构建阿里云CDN直播系统,对流式长连接的分发有很深刻的理解.今天主要分享内容是阿里云自研低延时直播系统在构建时,遇到的一些技术难点与实践. 分享从当下直播技术回顾.低延时直播技…
背景需求 对于摄像机直播,客户反馈的最多就是实现web直播.摆脱插件,可以自定义集成等问题, 对于熟悉EasyNVR已经完美的解决了这些问题.然而对于web播放也存在一些问题,通常我们web播放RTMP流使用的是flash,在这个过程中就会出现一个问题,随着web一直播放直播时间的增加,视频直播的延时也会累积起来,延时也就越大. 问题分析 通过自我调研和客户反馈得出在ckplayer.videojs.aliplayer等播放器都会有类似问题,出现该问题的原因在于我们播放rtmp视频流的时候启用了…
本文根据4月21日OSC源创会·武汉站的现场分享为蓝本,重新整理.以下是演讲内容: 近几年,随着直播.短视频等视频领域对带宽要求的提升以及CDN行业竞争的加剧,很多CDN公司开始往P2P-CDN方向发展.P2P-CDN在降低成本和加速视频业务方面一直是非常优秀的解决方案. 今天就以HLS协议做一个切入点,讲解一下又拍云的P2P-CDN项目——PrismCDN. 直播P2P-CDN通常用于传输FLV协议的视频,又拍云为什么研发支持HLS传输协议的P2P-CDN呢?因为有客户使用了Web播放器,他们…
前言描述 随着大屏时代和高清时代的到来,人们已经不再满足于VGA.CIF这种小分辨率了,取而代之的是720P.1080P.4K级的视频传输,虽然我们国家的基础带宽一直在上升,但普遍情况下,传输高清视频还是带宽流量不够用,而且存在一个流量费用偏高的情况,然而目前市面上的大部分互联网直播视频协议都是基于H.264压缩方式,不得不说现在在安防领域,H.265的时代到来了,互联网上H.265不断从编码端,还是传输.解码播放端,都还没跟上,我们需要从多个方面,将H.265的特性支持于RTSP.RTMP.H…
背景描述 EasyNVR的使用者应该都是清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可以满足无插件的全平台直播. 经由EasyNVR处理会获取到RTMP.HLS视频流,这就完美解决了插件直播的问题,只要终端设备之H5,就可以完美的播放EasyNVR分发出的视频流. RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.RTMP是一种设计用…
弱网优化的场景 网络直播行业经过一年多的快速发展,衍生出了各种各样的玩法.最早的网络直播是主播坐在 PC 前,安装好专业的直播设备(如摄像头和麦克风),然后才能开始直播.后来随着手机性能的提升和直播技术的进步,主播只需要有手机和有网络就可以直播.直播发展到现在,单一的室内聊天互动直播已经无法满足观众的需求.主播们开始走向户外,在更多的场景下直播.在可以预见的未来,这种直播形式会快速发展.直播的内容会更优质,直播的形式也会从单纯的娱乐转向体验.直播想延伸到户外需要克服很多困难,而最主要的困难就是应…
技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解    http://www.52im.net/thread-1309-1-1.html   本文来自腾讯资深研发工程师罗成的技术分享,主要介绍 QUIC 协议产生的背景和核心特性等. 1.写在前面 如果你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度.特别是弱网络的时候能够提升 20% 以上的访问速度. 如果你的 App,在频繁切换 4G 和 WIFI 网络的情况下,不会断线,不需要重连,用户无任何感知.如果…
现象 最近团队在做EasyDSS RTMP流媒体服务器开发的过程中,遇到了一个关于延时累积的问题,先大概描述一下过程: 在EasyRTMP Android进行长时间的RTMP推流压力测试,在EasyDSS的web客户端中进行Flash播放,起初进行播放的开始阶段,延时是极小的,大概在0.4s左右,但随着播放过程的延长,我们会观察到一个现象,一旦客户端出现一次缓冲或者停顿,网页播放的时延就会增加,而且是不会恢复的,最终越来越长越来越长! 判断与结论 于是我们就一直在怀疑到底是EasyRTMP推流端…
前端时间,公司要调研直播相关的内容,特地花时间进行了一番调研. 本篇将记录其中的推流篇-本地推理播放测试. 关于Nginx: 配置Nginx以支持HLS.RTMP的推流与拉流,iOS系统使用LFLiveKit推流,OS X系统使用FFmpeg推流,拉流端可以使用Safari浏览器或者VLC播放器. 下面的例子会就本地视频推流和手机录屏推流分别列举. Mac搭建nginx+rtmp服务器 打开终端, 查看是否已经安装了Homebrew, 直接终端输入命令 man brew 如果Mac已经安装了ho…
ios直播推流每秒能达到30帧,比安卓要强,视频采用软编码的话手机会发烫,得采用码编码,播放视频采用opengl渲染. ffmpeg初始化代码如下: int init_Code(int width, int height, const char *out_path) { av_log_set_callback(custom_log); //avcodec_register_all(); av_register_all(); avformat_network_init(); avformat_al…
EasyPlayer RTSP Windows专用播放器 EasyPlayer RTSP Windows 播放器是由EasyDarwin团队开发和维护的一个完善的RTSP流媒体播放器项目,视频编码支持H.264,H.265,MPEG4,MJPEG,音频支持G711A,G711U,G726,AAC,支持RTSP over TCP/UDP协议,支持软/硬解码,是一套极佳的安防流媒体平台播放组件!EasyPlayer Windows版本经过了很多年的发展和迭代,在很多商业项目中使用,已经非常稳定.完整…
背景描述 EasyNVR的使用者应该都是清楚的知道,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理后可以满足无插件的全平台直播.处理后会获取到RTMP.HLS视频流,这就完美解决了插件直播的问题,只要终端设备支持H5,就可以完美的播放EasyNVR分发出的视频流. RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.RTMP是一种设计用来进行实时数据通…
目录 1.docker安装OSSRS流媒体直播服务器 2.基于APICloud的acLive直播推流模块实现RTMP直播推流 3.直播流管理 1.docker安装OSSRS流媒体直播服务器 1.OSSRS简介 在外界开发中, 如果要实现直播功能.常用的方式有: 1. 通过第三方接口来实现. 可以申请阿里云,腾讯云,网易云,七牛云的直播接口,根据文档,下载集成SDK到项目中,在第三方用户平台上, 创建直播流[就是一个管道].有了直播流以后, 在客户端中集成一个推流[就是基于rtmp协议把视频摄像头…
本篇介绍一下直播技术中推流与引流的简单实现. 1.流媒体服务器测试 首先利用快直播 app (其他支持 RTMP 推流与引流的 app 亦可)和 ffplay.exe 对流媒体服务器进行测试. 快直播 app 下载地址: https://apkpure.biz/cn.nodemedia.qlive/快直播 快直播的推流界面和引流界面: Windows 下利用 ffplay 进行引流,命令行执行: ffplay rtmp://192.168.0.0/live/test # ip 地址换成流媒体服务…
之前做过开源videocore的推流改进:1)加入了美颜滤镜; 2) 加入了librtmp替换原来过于简单的rtmpclient: 后来听朋友说,在videocore上面进行opengl修改,加入新的滤镜比较麻烦,IOS的滤镜最好的要算GPUImage了. 自己就决定将多滤镜开源GPUImage来实现rtmp的直播推流: 实现的方案: 1,GPUImageMovieWriter进行rgba视频数据的输出. 通过重写GPUImageMovieWriter,实现一个代理协议pixelBufferde…
NDK开发Android端RTMP直播推流程序 经过一番折腾,成功把RTMP直播推流代码,通过NDK交叉编译的方式,移植到了Android下,从而实现了Android端采集摄像头和麦克缝数据,然后进行h264视频编码和aac音频编码,并发送到RTMP服务器,从而实现Android摄像头直播.程序名为NdkRtmpEncoder,在这里把整个过程,和大体框架介绍一下,算是给需要的人引路. 开发思路 首先,为什么要用NDK来做,因为自己之前就已经实现过RTMP推流.RTMP播放.RTSP转码等等各种…
最近在学x264的编码,经过大量的测试,编码1080P的视频,编码10000帧数据. 在设置为低延时编码的时候: 编码线程0,一帧耗时:7.000000 ms.编码线程0,一帧耗时:8.000000 ms.编码线程0,一帧耗时:7.000000 ms.编码线程0,一帧耗时:8.000000 ms.编码线程0,一帧耗时:8.000000 ms.编码线程0,一帧耗时:7.000000 ms.编码线程0,一帧耗时:7.000000 ms.编码线程0,一帧耗时:7.000000 ms.编码线程0,一帧耗…
2016年是移动直播爆发年,不到半年的时间内无数移动直播App掀起了全民直播的热潮.然而个人觉得直播的门槛相对较高,从推流端到服务端器到播放端,无不需要专业的技术来支撑,仅仅推流端就有不少需要学习的知识.目前大部分直播采用的都是RTMP协议,我这里写一个简单的Demo,帮助大家更好的理解直播推流的过程,主要包括:音视频采集, 音视频编码, 数据打包, RTMP协议等相关的知识等.项目结构分的很清楚,各个模块也用协议进行了分离,方便大家学习不同的模块. 先阐述下推流的整体流程: 建立tcp连接 建…
OBS Open Broadcaster Software | OBS (obsproject.com) Windows直播推流教程 Windows下OBS直播推流非常简单,本教程将会介绍,具体步骤如下. 下载安装OBS 进入 OBS官网 下载Windows安装程序 双击安装 B站直播推流 本教程介绍B站直播推流,其他平台操作类似. 前期准备 打开OBS 在 来源 点击 + 选择需要添加的视频源 本例选择 显示器采集 添加完成后如图所示 在 混音器中可调节是否录制 麦克风/桌面音频 以及其他选项…
原文链接: http://blog.csdn.net/nupt123456789/article/details/8213486 基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 单位:南京邮电大学 通信与信息工程学院 信号与信息处理 6班 学号:1012010638 邮箱:zhb931706659@126.com --------------------------------------------------------------------------------…
小米的机器不同手机型号一般小米论坛都提供两个不同的系统,即分别是稳定版和开发版,稳定版没有提供root权限管理,开发版中就支持了root权限,很多情况下我们需要使用的一些功能强大的APP,都需要在root权限下工作,就比如我们工作室在使用的营销引流APP引号精灵,就是需要有root权限才能进行正常运行,但很多时候,我们新买到的手机一般默认安装的是小米系统的稳定版,这个时候,我们需要将红米手机3S 3X卡刷入开发版系统,以获得相应的root权限. 这里我们讲解一下将红米手机3S 3X的稳定版系统刷…
MySQL是世界上最流行的开源关系数据库,带货直播源码使用MySQL,可实现分钟级别的数据库部署和弹性扩展,不仅经济实惠,而且稳定可靠,易于运维.云数据库 MySQL 提供备份恢复.监控.容灾.快速扩容.数据传输等全套解决方案,简化了带货直播源码数据库运维工作,能更加专注于带货直播源码的业务发展. 带货直播源码 一.易于使用的托管部署 带货直播源码需要的存储业务,只需在MySQL管理控制台中单击几下,即可在几分钟内启动并连接到一个可以立即投入生产的 MySQL 数据库.云数据库 MySQL 数据…
EasyPusher作为一款RTSP推送利器, 配合EasyDarwin开源流媒体服务器,在发布伊始,很快获得了广大人民群众的一致好评. 但是也有一些用户反映: EasyPusher在我的华为手机上会闪崩! 一开始我是表示怀疑的: 不可能,你给我截个图看看! 结果用户拍了一段小视频,尼玛,还真闪退,尴尬. 经过后来拿到日志,发现有这样一些打印信息: [OMX.IMG.TOPAZ.Encoder] failed to set input port definition parameters. 看来…
在我们测试EasyRTMP Android安卓手机推流的过程中发现有些设备预览时,明显偏暗!在稍微暗点的环境中几乎很难看清东西-额,这是怎么回事呢?又是安卓设备的兼容性问题,头疼! !!!好吧,停止抱怨,撸起袖子开始干. 对,我们想到了.把摄像头的scene设置成了一个比较亮的模式对吧?下面是摄像头可能支持的模式,这么多我逐一试试: SCENE_MODE_AUTO SCENE_MODE_ACTION SCENE_MODE_PORTRAIT SCENE_MODE_LANDSCAPE SCENE_M…
本文转自EasyDarwin开源团队成员John的博客:http://blog.csdn.net/jyt0551/article/details/52651194 由于Android 5.0提供了捕获当前屏幕画面的SDK,基于该SDK,EasyPusher实现了实时推送手机屏幕画面的功能.经测试,效果很不错,延迟也比较低,画面也比较流畅.该功能可运用到小型会议PPT演示.手游直播等行业. 具体来说,MediaProjection 类可以将当前屏幕画面采集到一个surface里面,而MediaCo…
接着前面记录的3种方式实现桌面推流直播: 1.Windows 11实现录屏直播,搭建Nginx的rtmp服务 的方式需要依赖与Flash插件,使用场景有限 2.Windows 11实现直播,VLC超简单实现捕获.串流.播放 的方式需要依赖于播放器,也可以通过转换协议实现需求 3.Windows11实现录屏直播,H5页面直播 HLS ,不依赖Flash 的方式,在远程桌面最小化时会断开连接.且打开远程桌面无法重连,上同 现在用OBS来实现捕获桌面或者指定窗口,并实现推流.支持Windows.Mac…
EasyPusher主要有三部分组件组成:采集,编码,叠加,上传.在这个基础上同时支持本地存储\后台预览的功能.主要业务模块与相关类之间的关系如图所示: Created with Raphaël 2.1.0StreamActivityStreamActivity摄像头线程摄像头线程BackgroundCameraServiceBackgroundCameraService编码线程编码线程PusherPusherMuxerMuxer音频线程音频线程音频编码线程音频编码线程TxtOverlayTxt…