摘要: 前言随着Android系统的不断更新和发展,现在越来越多的硬件产品选择用安卓系统作为运行环境,电视机,机顶盒、门禁、行车记录仪、车载系统、单兵设备等等,Android系统底层还是Linux,但对上层的开发和维护就变得容易很多,比如以往需要在硬件上开发一个图形界面,流程就会非常复杂,... 阅读全文
posted @ 2016-06-10 22:00 Babosa 阅读(1459) 评论(0) 推荐(0) 编辑
摘要: 前言早在2013年我就设计了一套架构非常简单的分布式流媒体服务器平台《基于Darwin实现的分布式流媒体直播服务器系统》,当时的考虑如今看来有诸多的细节点没有考虑到:1、CMS是单点部署,无法扩展设备注册节点服务器;2、EasyDarwin流媒体服务器虽然可以分布式部... 阅读全文
posted @ 2016-06-03 19:29 Babosa 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 前言早在2013年我就设计了一套架构非常简单的分布式流媒体服务器平台《基于Darwin实现的分布式流媒体直播服务器系统》,当时的考虑如今看来有诸多的细节点没有考虑到:1、CMS是单点部署,无法扩展设备注册节点服务器;2、EasyDarwin流媒体服务器虽然可以分布式部署,但负载信息... 阅读全文
posted @ 2016-06-03 19:28 Babosa 阅读(1746) 评论(0) 推荐(0) 编辑
摘要: —本文由EasyDarwin开源团队成员Fantasy贡献前言最近在linux上跑EasyDarwin发现一个很奇怪的问题,当有RTSPSession连接上来的时候,发现进程的虚拟内存映射一下就多了64M,如下图: 备注:anon标识堆内存过程把通过在代码里面加system(“p... 阅读全文
posted @ 2016-05-28 11:24 Babosa 阅读(212) 评论(0) 推荐(0) 编辑
摘要: —本文由EasyDarwin开源团队成员Fantasy贡献前言最近在linux上跑EasyDarwin发现一个很奇怪的问题,当有RTSPSession连接上来的时候,发现进程的虚拟内存映射一下就多了64M,如下图: 备注:anon标识堆内存过程把通过在代码里面加sy... 阅读全文
posted @ 2016-05-28 11:24 Babosa 阅读(154) 评论(0) 推荐(0) 编辑
摘要: EasyDarwin开源社区出视频教程了,经过几个深夜的努力,终于将第一次课程的5个课时的视频教程录好《EasyDarwin开源流媒体服务器:编译、配置、部署》,EasyDarwin后面会继续在CSDN学院提供更多、更前沿的流媒体音视频技术,希望能够对大家有所帮助,EasyDarw... 阅读全文
posted @ 2016-05-27 18:27 Babosa 阅读(184) 评论(0) 推荐(0) 编辑
摘要: EasyDarwin开源社区出视频教程了,经过几个深夜的努力,终于将第一次课程的5个课时的视频教程录好《EasyDarwin开源流媒体服务器:编译、配置、部署》,EasyDarwin后面会继续在CSDN学院提供更多、更前沿的流媒体音视频技术,希望能够对大家有所帮助,E... 阅读全文
posted @ 2016-05-27 18:27 Babosa 阅读(632) 评论(0) 推荐(0) 编辑
摘要: —本文由EasyDarwin开源团队成员贡献一、问题描述Easydarwin中大量使用gettimeofday来获取系统时间,对系统性能造成了一定的影响。我们来做个测试: While(1){ Gettimeofday(&tv,NULL);}每秒执行次数为约300... 阅读全文
posted @ 2016-05-19 22:32 Babosa 阅读(191) 评论(0) 推荐(0) 编辑
摘要: —本文由EasyDarwin开源团队成员贡献一、问题描述Easydarwin中大量使用gettimeofday来获取系统时间,对系统性能造成了一定的影响。我们来做个测试: While(1){ Gettimeofday(&tv,NULL);}每秒执行次数为约3000w次;二、我... 阅读全文
posted @ 2016-05-19 22:31 Babosa 阅读(371) 评论(0) 推荐(0) 编辑
摘要: EasyPusher手机直播实现功能最近很多EasyDarwin爱好者提出了手机移动端直播的功能需求,尤其是如何做出像映客这样能够快速出画面播放的效果,经过一段时间的移动端和服务端的优化,EasyPusher直播推送+EasyDarwin流媒体服务器+EasyPlay... 阅读全文
posted @ 2016-05-19 00:47 Babosa 阅读(205) 评论(0) 推荐(0) 编辑
摘要: EasyPusher手机直播实现功能最近很多EasyDarwin爱好者提出了手机移动端直播的功能需求,尤其是如何做出像映客这样能够快速出画面播放的效果,经过一段时间的移动端和服务端的优化,EasyPusher直播推送+EasyDarwin流媒体服务器+EasyPlayer客户端播放... 阅读全文
posted @ 2016-05-19 00:46 Babosa 阅读(393) 评论(0) 推荐(1) 编辑
摘要: 原文转自:http://blog.csdn.net/ss00_2012/article/details/51441753 我们使用EasyDarwin的推流转发来进行媒体直播的时候,有时会有这样一个需求,当推流端推送的媒体没有客户端观看时,就希望推流端不再... 阅读全文
posted @ 2016-05-18 11:47 Babosa 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 原文转自:http://blog.csdn.net/ss00_2012/article/details/51441753 我们使用EasyDarwin的推流转发来进行媒体直播的时候,有时会有这样一个需求,当推流端推送的媒体没有客户端观看时,就希望推流端不再推送,也就是实现按... 阅读全文
posted @ 2016-05-18 11:46 Babosa 阅读(753) 评论(0) 推荐(0) 编辑
摘要: ffmpeg强制使用TCP方式处理rtsp流,参考网上资料,得知可以使用如下命令:“ffmpeg -rtsp_transport tcp -i rtsp://admin.......”可以是使用抓包工具进行验证一下是否强制使用了TCP方式。 阅读全文
posted @ 2016-05-04 16:08 Babosa 阅读(201) 评论(0) 推荐(0) 编辑
摘要: ffmpeg强制使用TCP方式处理rtsp流,参考网上资料,得知可以使用如下命令: “ffmpeg -rtsp_transport tcp -i rtsp://admin.......” 可以是使用抓包工具进行验证一下是否强制使用了TCP方式。 阅读全文
posted @ 2016-05-04 16:07 Babosa 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 在一个大工程中有很多的源文件和头文件,如何快速统计总行数? ------解决方案-------------------- b*[^:b#/]+.*$ ^b*[^:b#/]+.*$ ctrl + shift + F 查找选项选 正则表达式 阅读全文
posted @ 2016-05-01 15:12 Babosa 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 在一个大工程中有很多的源文件和头文件,如何快速统计总行数?------解决方案--------------------b*[^:b#/]+.*$^b*[^:b#/]+.*$ctrl + shift + F 查找选项选 正则表达式 阅读全文
posted @ 2016-05-01 15:12 Babosa 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 前言在我们前面一篇《EasyDarwin手机直播是如何实现的快速显示视频的方法》中,我们描述到了EasyDarwin流媒体服务器端是如何对视频H.264进行缓冲,再以最快的方式将最新的视频关键帧推送给客户端,以做到快速显示视频的效果,当时,我们遗留了一个音频缓冲发送滞后的问题:ht... 阅读全文
posted @ 2016-04-30 16:27 Babosa 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 前言在我们前面一篇《EasyDarwin手机直播是如何实现的快速显示视频的方法》中,我们描述到了EasyDarwin流媒体服务器端是如何对视频H.264进行缓冲,再以最快的方式将最新的视频关键帧推送给客户端,以做到快速显示视频的效果,当时,我们遗留了一个音频缓冲发送滞... 阅读全文
posted @ 2016-04-30 16:27 Babosa 阅读(143) 评论(0) 推荐(0) 编辑
摘要: EasyRTSPClient是EasyDarwin开源流媒体团队开发、提供的一套非常稳定、易用、支持重连的RTSPClient工具,接口调用非常简单,再也不用像调用live555那样处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY的复杂流程,担心内存释放的问... 阅读全文
posted @ 2016-04-28 00:51 Babosa 阅读(542) 评论(0) 推荐(0) 编辑
摘要: EasyRTSPClient是EasyDarwin开源流媒体团队开发、提供的一套非常稳定、易用、支持重连的RTSPClient工具,接口调用非常简单,再也不用像调用live555那样处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY的复杂流程,担... 阅读全文
posted @ 2016-04-28 00:51 Babosa 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 前言经常有人提到最近比较火的映客直播、花椒直播这种,是如何做到在打开手机直播中的某一个主播房间后,立即就能显示出主播视频,非常非常快,而且延时也比较小,是怎么做到的?其实,这并不是什么高深的技术,就是最基本的关键帧索引/推送,在用户打开直播,请求直播流的时候,服务器将... 阅读全文
posted @ 2016-04-26 00:21 Babosa 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 前言经常有人提到最近比较火的映客直播、花椒直播这种,是如何做到在打开手机直播中的某一个主播房间后,立即就能显示出主播视频,非常非常快,而且延时也比较小,是怎么做到的?其实,这并不是什么高深的技术,就是最基本的关键帧索引/推送,在用户打开直播,请求直播流的时候,服务器将缓存中最新的关... 阅读全文
posted @ 2016-04-26 00:20 Babosa 阅读(327) 评论(0) 推荐(0) 编辑
摘要: —本篇由团队成员Fantasy供稿!RTP包头格式码流总体结构 h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL)。H.264 的编码视频序列包括一系列的NAL 单元,每个NAL 单元包含一个RBSP。一个原始的H.264 NALU 单元常由 [StartCode]... 阅读全文
posted @ 2016-04-25 23:05 Babosa 阅读(1437) 评论(0) 推荐(0) 编辑
摘要: —本篇由团队成员Fantasy供稿!RTP包头格式码流总体结构 h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL)。H.264 的编码视频序列包括一系列的NAL 单元,每个NAL 单元包含一个RBSP。一个原始的H.264 NALU 单元常由 [Sta... 阅读全文
posted @ 2016-04-25 23:05 Babosa 阅读(210) 评论(0) 推荐(0) 编辑
摘要: EasyPusher移动端推送同我们平时用的RTSP直播推送流程一样,都是采用标准RTSP/RTP推送流程:ANNOUNCE->SETUP->PLAY->RTP/RTCP->TEARDOWN(或者直接直接断开推送连接),流程图如下: 我们贴一段EasyPusher 安卓与EasyD... 阅读全文
posted @ 2016-04-16 09:12 Babosa 阅读(985) 评论(0) 推荐(0) 编辑
摘要: EasyPusher移动端推送同我们平时用的RTSP直播推送流程一样,都是采用标准RTSP/RTP推送流程:ANNOUNCE->SETUP->PLAY->RTP/RTCP->TEARDOWN(或者直接直接断开推送连接),流程图如下: 我们贴一段EasyPusher 安... 阅读全文
posted @ 2016-04-16 09:12 Babosa 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 最近有不少人在EasyDarwin的交流群里面问关于花椒、映客手机直播技术的问题,还有RTSP、RTMP协议选择的问题,这里个人谈一下自己的愚见。 1、不管是RTSP/RTP、RTMP、HTTP,亦或是私有协议,都是可以进行流媒体传输的流媒体协议,而且效果都能做到差不... 阅读全文
posted @ 2016-04-15 20:04 Babosa 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 最近有不少人在EasyDarwin的交流群里面问关于花椒、映客手机直播技术的问题,还有RTSP、RTMP协议选择的问题,这里个人谈一下自己的愚见。 1、不管是RTSP/RTP、RTMP、HTTP,亦或是私有协议,都是可以进行流媒体传输的流媒体协议,而且效果都能做到差不多的程度,这里... 阅读全文
posted @ 2016-04-15 20:03 Babosa 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 本文转自Holo的博客:http://blog.csdn.net/u013758734/article/details/50834770最近在研究EasyDarwin的Push库EasyPusher,EasyPusher可以推送H264视频到EasyDarwin服务器,终端可以通过... 阅读全文
posted @ 2016-04-14 19:22 Babosa 阅读(1012) 评论(0) 推荐(0) 编辑
摘要: 本文转自Holo的博客:http://blog.csdn.net/u013758734/article/details/50834770最近在研究EasyDarwin的Push库EasyPusher,EasyPusher可以推送H264视频到EasyDarwin服务器... 阅读全文
posted @ 2016-04-14 19:22 Babosa 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://blog.csdn.net/holo_easydarwin/article/details/51147379 最初在做EasyPusher手机直播的时候遇到过一个问题:手机竖屏推送直播画面到EasyDarwin然后通过播放器播放视频画面就会逆时针旋转90度,如图: ... 阅读全文
posted @ 2016-04-14 16:02 Babosa 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://blog.csdn.net/holo_easydarwin/article/details/51147379最初在做EasyPusher手机直播的时候遇到过一个问题:手机竖屏推送直播画面到EasyDarwin然后通过播放器播放视频画面就会逆时针... 阅读全文
posted @ 2016-04-14 16:02 Babosa 阅读(186) 评论(0) 推荐(0) 编辑
摘要: —本篇由团队成员Fantasy供稿!原始版本在Darwin Streaming Server版本中,推送端DoAnnounce的时候后服务器会根据easydarwin.xml中配置的movies_folder目录生成一个sdp文件,存放推送流的sdp文件信息,在拉取客... 阅读全文
posted @ 2016-04-10 19:19 Babosa 阅读(155) 评论(0) 推荐(0) 编辑
摘要: —本篇由团队成员Fantasy供稿!原始版本在Darwin Streaming Server版本中,推送端DoAnnounce的时候后服务器会根据easydarwin.xml中配置的movies_folder目录生成一个sdp文件,存放推送流的sdp文件信息,在拉取客户端,Darw... 阅读全文
posted @ 2016-04-10 19:18 Babosa 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 近期EasyDarwin开源流媒体团队EasyVideoRecorder小组同学Carl在支持一款短视频应用上线时,遇到一个问题:我们在IOS上合成“图片+音乐”成为视频之后,在PC、IOS上都能非常流畅地进行网络流的播放,但是一到安卓手机上播放一段时间,视频就会卡主... 阅读全文
posted @ 2016-04-10 11:51 Babosa 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 近期EasyDarwin开源流媒体团队EasyVideoRecorder小组同学Carl在支持一款短视频应用上线时,遇到一个问题:我们在IOS上合成“图片+音乐”成为视频之后,在PC、IOS上都能非常流畅地进行网络流的播放,但是一到安卓手机上播放一段时间,视频就会卡主,而用的流式播... 阅读全文
posted @ 2016-04-10 11:50 Babosa 阅读(463) 评论(0) 推荐(0) 编辑
摘要: —本篇由团队成员Fantasy供稿!功能背景随着社会进步,人们对产品体验要求越来越高。EasyDarwin也不例外。为了能满足用户对链接服 后看到画面时间(也就是我们经常看到的起播时间)短的要求,我们特地实现了关键帧缓存推送的功能。技术知识介绍H264帧有多重模式,主流的有IPPP... 阅读全文
posted @ 2016-04-09 17:40 Babosa 阅读(233) 评论(0) 推荐(0) 编辑
摘要: —本篇由团队成员Fantasy供稿!功能背景随着社会进步,人们对产品体验要求越来越高。EasyDarwin也不例外。为了能满足用户对链接服 后看到画面时间(也就是我们经常看到的起播时间)短的要求,我们特地实现了关键帧缓存推送的功能。技术知识介绍H264帧有多重模式,主... 阅读全文
posted @ 2016-04-09 17:40 Babosa 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 在不断进行EasyDarwin开源流媒体服务器的功能和性能完善的同时,我们也配套实现了目前在安防和移动互联网行业比较火热的移动端手机直播方案,主要就是我们的 EasyPusher直播推送项目 和 EasyPlayer播放器项目;先大概对EasyPusher和EasyPlayer项目... 阅读全文
posted @ 2016-04-08 14:44 Babosa 阅读(311) 评论(0) 推荐(0) 编辑