自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 SkeyeRTMP Pusher推送RTMP扩展支持HEVC(H265)

不久前刚实现SkeyeRTMPPusher扩展支持h265推送,当时在网上也查找了很多资料,发现都不尽详细,而官方也没有更新对HEVC(H265,后文统称HEVC)tag的支持,反正是走了不少弯路,当然,在广大网友以及ffmpeg代码的帮助下我最终实现了通过SkeyeRTMPPusher推送HEVC视频帧数据到SkeyeSMS,这里我将把实现过程详细的记录下来,供广大网友参考。 首先, RTMP头部信息封装并没有定义HEVC,我们采用CDN联盟的HEVC扩展标准,将HEVC的VideoTagHeader定

2022-05-13 17:01:20 262

原创 【解决方案】SkeyeVSS视频云打造智慧景区视频监控系统促进智慧旅游产业发展

与传统景区的管理模式不同,智慧景区高度依赖智慧化手段,借用视频监控系统实现传统旅游管理方式向现代管理方式转变,提高景区的综合管理和运营能力,提升旅游服务品质,从而保障游客的人身安全和财产安全,提升景区的经济效益和社会效益。智慧景区视频监控系统功能需求表现在以下几个方面:建设智慧化监控系统,实现实时远程查看景区客流情况,全视角监控景区各主要出入口客流情况,应提高应对各种突发事故的及时性。 实时对进出景区游客数据进行统计分析,为景区旅游管理的决策和预防突出事件提供基础信息。 建设智慧化广...

2022-05-13 15:49:16 2092

原创 SkeyePlayer RTSP Windows播放器抓图代码重构

EasyPlayer RTSP Windows端(下文简称:EasyPlayer)播放器之前抓图代码主要通过OpenCV来实现,且数据格式转换的效率过于低下;故而在当时的代码中采用线程机制来解决抓图导致视频播放时卡顿的问题;而最新版的EasyPlayer为了精简代码也为了提高抓图效率,我们采用ffmpeg进行抓图,为了保证视频播放的流畅性,线程机制我们仍然保留。采用ffmpeg进行抓图代码如下//

2019-10-07 20:39:35 387

原创 node.js实现国标GB28181设备接入sip服务器解决方案SkeyeVSS国标视频云平台

GB28181接入服务器是EasyDSS云平台提供的接入GB28181设备/平台的信令交互服务器,GB28181将 SIP定位为联网系统的主要信令基础协议,并利用 SIP协议的有关扩展,实现了对非会话业务的兼顾,例如,对报警业务、历史视音频回放、下载等的支持。目前有GB28181-2011和 GB28181-2016两个版本。 GB28181接入服务器对接入系统的GB28181设备的管

2019-09-12 14:31:41 5477 3

原创 GB28181流媒体服务安装部署和国标平台接入实现国标GB28181设备的网页H5直播和录像回放

准备环境 准备一台windows 2008 R2(或者win7)及以上的64位windows操作系统,最低配置要求: * CPU: 双核; * 内存:4GB; * 存储:128GB * 网口:千兆网口;解压 EasyGB28181Cloud 文件夹下的所有压缩包,解压到当前文件夹即可,如下图所示: 软件服务配置Redis配置Red...

2019-09-12 14:30:44 11247

原创 golang实现国标GB28181流媒体点播预览服务方案的框架流程

背景28181协议全称为GB/T28181《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是由公安部科技信息化局提出,由全国安全防范报警系统标准化技术委员会(SAC/TC100)归口,公安部一所等多家单位共同起草的一部国家标准(以下简称28181)。28181协议在全国平安城市、交通、道路等监控中广泛采用,若想做统一的大监控平台,则支持28181协议接入是必不可少的。如今很多客户...

2019-09-12 14:27:27 7608 2

原创 SkeyeRTSPLive高效转码之SkeyeVideoEncoder高效硬件编码解决方案(附源码)

在之前的《EasyRTSPLive高效转码之EasyVideoDecoder高效解码》系列文章中我们已经将视频解码成了原始图像数据(YUV/RGB),然后根据不同的转码需求进行编码。如视频分辨率缩放,调整码率,多码率输出等;为了解决转码过程中编码高分辨率高质量或者高压缩率(如H265)耗时的问题,我们采用Nvidia硬件驱动编码器进行编码,以追求最高效率的转码和最低的推送延迟。EasyVideo...

2019-07-14 17:51:55 1467

原创 SkeyeRTSPLive高效转码之SkeyeVideoDecoder采用Nvidia独立显卡高效硬件解码解决方案(附源码)

在我之前写的一篇文章《EasyRTSPLive传统视频监控互联网+实现利器解决方案》中提到RTSP转RTMP的转流过程,简化流程就是通过EasyRTSPClient拉RTSP流,获取音视频编码数据,然后再通过EasyRTMP推出去,流程非常简单;然后再实际开发过程中,我们发现其实这个过程并没有想象中那么简单;首先,RTSP协议支持多种音视频编码格式,如音频支持AAC,G711,G726,等,视频支...

2019-07-14 17:00:43 2087 1

原创 SkeyeRTSPLive高效转码之SkeyeVideoDecoder采用Intel集成显卡高效硬件解码解决方案(附源码)

在我之前写的一篇文章《SkeyeRTSPLive传统视频监控互联网+实现利器解决方案》中提到RTSP转RTMP的转流过程,简化流程就是通过SkeyeRTSPClient拉RTSP流,获取音视频编码数据,然后再通过SkeyeRTMPPusher推出去,流程非常简单;然后再实际开发过程中,我们发现其实这个过程并没有想象中那么简单;首先,RTSP协议支持多种音视频编码格式,如音频支持AAC,G711,G726,等,视频支持H264,H625,MJPEG, MPEG等等各种格式,而SkeyeRTMP推流只支持H26

2019-07-14 15:36:29 1233

原创 SkeyeRTSPLive高效转码之SkeyeVideoDecoder高效软解码解决方案(附源码)

在我之前写的一篇文章《SkeyeRTSPLive传统视频监控互联网+实现利器解决方案》中提到RTSP转RTMP的转流过程,简化流程就是通过SkeyeRTSPClient拉RTSP流,获取音视频编码数据,然后再通过SkeyeRTMP推出去,流程非常简单;然后再实际开发过程中,我们发现其实这个过程并没有想象中那么简单;首先,RTSP协议支持多种音视频编码格式,如音频支持AAC,G711,G726,等,视频支持H264,H625,MJPEG, MPEG等等各种格式,而SkeyeRTMPPusher推流只支持H26

2019-07-14 12:54:38 915

原创 SkeyeRTSPLive传统视频监控互联网+实现利器解决方案

随着互联网的发展,传统安防行业已不再满足于仅仅通过一台PC机器,或者一台NVR接入摄像机源进行录像和监控的基本要求,人们迫切的需要利用目前相当便利的网络环境,以便能实现随时随地的观看到适应各种网络环境和各种终端设备的低延时的音视频视频监控,录像取证和应急处理,而不再受到时间和地域的限制。同样,对于互联网服务,PC电脑也不再是唯一选择,智能手机、平板电脑、特定的移动终端等都是可选择的用户终端硬件方式;因此,我们需要一款能将安防协议,电视广播协议以及其他各种格式的流媒体协议接入到互联网上来,通过一种统一格式的协

2019-07-14 12:03:47 1969 1

原创 SkeyePlayer渲染引擎D3DRender电子放大功能实现解决方案(附源码)

SkeyePlayer依靠D3DRender强大的渲染能力我们可以实现很多视频编辑功能,比如电子放大功能,本文将深入D3DRender渲染引擎库代码,重点讲述其如何采用surface离屏表面技术来实现渲染视频图像呈现,以实现在surface上做电子放大缩略图显示等功能。1. D3DRender初始化D3D创建设备首先,我们需要创建一个D3D9设备用于操作系统软硬件资源来为我们的视频渲染服务,这个代码很简单,按照Direct3D教程即可实现,如下代码所示: pD3D = Direct3DCreate9(

2019-05-13 23:21:46 794 1

原创 SkeyePlayer渲染引擎D3DRender实现视频图像高效率渲染解决方案(附源码)

SkeyePlayer播放器以其低延时播放RTSP、RTMP等流而闻名,而低延时播放除了低延时的拉流库以及高编解码效率外,视频图像的高速渲染也尤为重要;本篇以及系列文章主要讲解SkeyePlayer播放器的渲染引擎D3DRender,该渲染引擎支持基于GDI和D3D两种渲染方式,GDI方式也是我们熟知的windows图像绘制接口,普遍应用于win32以及MFC界面编程,以及图形元素的绘制;但是由于使用纯软的windows系统api接口进行绘制,其效率通常比较低,而D3D可以启用硬件加速,所以,通常其效率会

2019-05-13 18:45:46 1364

原创 SkeyeRTMPClient关于RTMP协议TCP传输数据粘包问题解决方案(附源码)

不久之前我们对EasyRTMPClient库扩展支持了HEVC(H.265),在后续的长期性能测试中,我们发现拉多路流时,会出现拉流播放一直都播不出来的问题,甚至有一定概率出现崩溃,经过长期的测试和排查,我们发现这是由于音视频数据发送比较频繁的时候出现的tcp粘包的问题,下面将详细讲述粘包问题的解决过程。1. EasyRTMPClient流接收流程EasyRTMPClient底层采用rtmp协...

2019-05-13 18:31:01 414

原创 SkeyeRTMPClient扩展支持HEVC(H.265)解决方案之兼容H264和H265帧数据解析详解

在之前两篇关于EasyRTMPClient扩展支持HEVC(H.265)解决方案的文章中,我们已经完成了对H265的支持,本文主要阐述将H26和H265支持兼容起来,实现不同视频编码格式的自适应兼容适配。1. 根据CodecId判断数据编码类型根据视频编码ID判断视频编码类型,如果视频编码ID==FlvCodeId_Hevc(12),则判断视频编码格式为H265,反之则为H264(因为目前我们...

2019-04-25 23:15:11 1813

原创 SkeyeRTMPClient扩展支持HEVC(H.265)解决方案之HEVCDecoderConfigurationRecord结构详解

在上一篇 EasyRTMPClient拉取RTMP流扩展支持HEVC(H.265)解决方案 中关于HEVCDecoderConfigurationRecord结构解析的讲解存在一些表述上不清楚的地方,本文为之续篇,重点对HEVC格式的MetaData结构的解析进行讲解。在EasyRTMP扩展支持H265的解决方案讲述时。我们对Metadata结构进行过详解,大家可以回顾一下这篇文章RTMP推送扩...

2019-04-25 19:14:44 2482

原创 SkeyeRTMPClient拉取RTMP流扩展支持HEVC(H.265)解决方案

不久前我们已经在RTMP推送端扩展支持了HEVC(H.265 后文统称H265)编码格式,但是,由于RTMP官方指定的协议格式已经不再更新,官方的播放器的Flash播放器并不支持H265格式的编码数据进行解码播放;现在,我们需要在播放器端解析RTMP流时对H265编码格式进行扩展支持。首先,我们可以通过扩展ffmpeg,让其支持拉H265封装的RTMP流进行解码播放,我们可以通过金山云对FFme...

2019-04-25 17:57:55 1430 1

原创 RTMPLive流媒体直播软件应用解决方案

上一篇我们讲到了RTMPLive多流媒体协议转无插件直播协议(RTMP)解决方案,现在我们可以通过RTMPLive将网络摄像机IPC的流,以及网络电视流,或者点播服务器的回放流,甚至本地文件转发成RTMP流,进行互联网直播以及网页无插件观看,本篇将重点讲述RTMPLive软件的实际场景应用。首先,从Giuhub下载RTMPLive v2.0 64位版本,然后打开软件主界面如下图所示:如上图所...

2019-04-25 16:51:50 4259

原创 RTMPLive多流媒体协议转无插件直播协议(RTMP)解决方案

随着互联网以及科技水平的发展,对于互联网服务,PC不再是唯一选择,智能手机、平板电脑、特定的移动终端等都是可选择的用户终端硬件方式,因此,我们需要一款能将安防协议,电视广播协议以及其他各种格式的流媒体协议接入到互联网上来,通过一种统一格式的协议进行多平台多终端直播。RTMPLive流媒体直播软件(以下简称“RTMPLive”)将RTSP/RTP/RTMP/HTTP/UDP等协议的音视频数据进行拉...

2019-04-25 15:27:59 1499

原创 RTMP推送扩展支持HEVC(H265)之Metadata结构填写详解

鉴于广大码友对上一篇文章RTMP推送扩展支持HEVC(H265)的Metadata数据结构还存在不清楚的地方,这里对RTMP推送Metadata的结构进行详解。首先, 我们先讲解下 H.264/AVC metadata 语法,方便大家理解,这相关的文章大家在网上很容易找到,如果大家比较熟悉可以跳过;参考:《ISO/IEC 14496-15 NAL unit structured video》A...

2019-04-07 23:04:00 3353 1

原创 RTMP推送扩展支持HEVC(H265)

不久前刚实现EasyRTMP扩展支持h265推送,当时在网上也查找了很多资料,发现都不尽详细,而官方也没有更新对HEVC(H265,后文统称HEVC)tag的支持,反正是走了不少弯路,当然,在广大网友以及ffmpeg代码的帮助下我最终实现了通过EasyRTMP推送HEVC视频帧数据到EasyDSS,这里我将把实现过程详细的记录下来,供广大网友参考。 首先, RTMP头部信息封装并没有定义HEVC...

2019-04-07 22:20:13 2952

原创 SkeyeLive库功能介绍和接口说明与调用

SkeyeLive是SkeyeDarwin开源流媒体团队开发的一个集采集,编码,推流和流媒体RTSP服务于一身的通用库,目前支持Windows,Android平台,通过SkeyeLive我们就可以避免接触到稍显复杂的音视频源采集,编码和流媒体推送以及RTSP/RTP/RTCP服务流程,只需要调用SkeyeLive的几个API接口,就能轻松、稳定地把流媒体音视频数据推送给SkeyeDSS服务器以及发布RTSP服务,RTSP服务支持组播和单播两种模式,可用于同屏直播,延时在300ms以内。libSkeyeLi

2017-12-29 17:50:35 2493

原创 SkeyePlayer RTSP Windows播放器OSD字幕叠加接口方法和使用效果全解析

SkeyePlayer RTSP Windows播放器新增OSD字幕叠加接口方法,这个接口和码率信息显示接口方法类似,都是调用FFRender库的接口实现的多OSD叠加,下面讲解下该方法的调用和注意事项;OSD叠加方法声明如下:LIB_SkeyePLAYER_API int SkeyePlayer_ShowOSD(int channelId, int show, Skeye_PALYER_OSD osd);其中,channelId: 播放器通道ID,标识当前的播放器实例;show:标识是否显示OS

2017-12-13 17:31:40 1932

原创 SkeyePlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别

SkeyePlayer RTSP windows播放器支持D3D和GDI两种渲染方式,其中D3D支持格式如下: DISPLAY_FORMAT_YV12 DISPLAY_FORMAT_YUY2 DISPLAY_FORMAT_UYVY DISPLAY_FORMAT_A8R8G8B8 DISPLAY_FORMAT_X8R8G8B8 DISPLAY_FORMAT_RGB565 DISPLAY_FORMAT_RGB555 GDI支持格式如下: DISPLAY_FORMAT_RGB

2017-12-10 20:09:33 1435

原创 SkeyePlayer插件使用说明文档

鉴于大家对于SkeyePlayer插件的使用还不太熟悉,特此写一篇插件的使用文档,供大家参考;SkeyePlayer插件有两种,一种是基于IE的ActiveX控件,一种是基于FireFox(也支持多浏览器)的npAPI插件;两种插件均包含源码,由于FireBreath框架生成代码比较多,npAPI插件只包含关键代码,后续会提供专门讲解FireBreath生成SkeyePlayer npAPI插件的文档,下面我们开始讲解两种插件如何使用。ActiveX OCX控件ActiveX控件使用MFC Acti

2017-11-27 18:08:39 6468 1

原创 SkeyePlayer RTSP播放器库API接口说明

概述 libEasyPlayer实现对RTSP直播流进行实时采集和解码显示,稳定,高效,低延时;解码可采用intel硬件解码和软件解码两种方式,能实时进行录像和快照抓图,OSD叠加等功能。API接口函数定义  int EasyPlayer_Init(); 函数说明: 播放器初始化,播放器使用之前调用; 参数说明: void EasyPlayer_Release(); 函数说明: 播

2017-11-27 16:19:49 2374

原创 SkeyeExPlayer(Windows)开发系列之解决ffmpeg接口调用卡住的问题

在SkeyeExPlayer的开发过程中,经测试发现ffmpeg的读取网络流以及网络数据的接口都有较大概率出现阻塞的问题,ffmpeg也提供了设置阻塞回调或者设置超时等方式来跳出阻塞而不会导致接口永久卡住;而在某些时候,比如,网络断开时间过长的时候,这个时候阻塞回调将不在有用而且阻塞的接口也不再返回数据,出现"永久性"假死的情况,针对这些问题,本文将对其处理方式进行一一讲解。1.播放器结束时接口导致线程卡住针对该问题,我们通常可以在ffmpeg的阻塞回调函数中设置退出标志来解决,如下代码所示: //播

2017-10-05 14:23:03 1745

原创 SkeyeExPlayer(Windows)开发系列之快放慢放的实现

在讲解SkeyeExPlayer快放慢放之前,我们首先要讲解下SkeyeExPlayer的音视频同步机制,我们采用视频同步音频的方式进行时间戳同步,无音频情况下视频自同步;视频自同步的情况比较简单这里就不做描述,下面我们着重讲解下音视频同步存在时的快放慢放并如何保持音视频同步。1.音视频同步原理首先,音频解码后获取到的PCM原始数据使用waveout直接进行播放,并记录当前播放时间戳,音频在任何时候都是正常播放,不做同步操作;然后,视频时间戳来同步音频时间戳: DWORD

2017-10-05 13:54:21 677

原创 SkeyeExPlayer(Windows)开发系列之解决分片录像时间戳不正常的问题

本篇文章基于上一篇SkeyeExPlayer(Windows)开发系列之采用ffmpeg进行录像进行补充,测试发现录像的切片除了第一个时间戳是正常的,其他的初始时间戳均不正常而且是之前切片的时间长度的总和;更有甚者很长一段时间的录像都是黑屏无法播放的,为了解决这个问题,我们需要将时间戳进行修正。经过分析,初始时间戳是ffmpeg读取网络流自带的时间戳,在过程中读取流进行录像,那么势必初始的时间戳需要进行减掉,执行过程如下:首先,申请几个变量用以记录每次开始录像时的开始音视频时间戳,以及音视频是否进行重

2017-10-04 21:08:00 589

原创 SkeyeExPlayer(Windows)开发系列之采用ffmpeg进行录像

这篇和ffmpeg进行截图类似,不过省略掉编码的过程,从网络上或者文件读取的数据为编码后的数据,直接进行写文件即可,本文以写MP4文件为例进行讲解。1.创建线程执行开启录像 player->record_duration = duration*60; player->record_piece_id = 0; player->record_time = 0.0f; memset(player->record_path, 0, sizeof(MAX_PATH_LENGTH));

2017-10-04 20:20:15 574

原创 SkeyeExPlayer(Windows)开发系列之采用ffmpeg进行截图

下面我们讲解下SkeyeExPlayer的截图功能,截图原理就是将YUV/RGB原始数据压缩成jpg或者png等格式(当然bmp格式是不需要压缩的),然后存储成文件的过程;我们以jpg格式为例进行讲解;一般情况下可以使用libjpeg库进行jpeg格式压缩,在不使用libjpeg的情况下,可以使用ffmpeg(内部也集成了libjpeg库)提供的接口进行压缩并写文件,这个方式也普遍适用于写MP4或者其他文件,下面我们讲解下ffmpeg进行截图的流程。1.数据源转换 // init ffmpeg

2017-10-04 17:37:46 450

原创 SkeyeExPlayer (Windows)开发之框架讲解

SkeyeExPlayer for Windows是基于ffmpeg进行开发的全功能播放器,开发过程中参考了很多开源的播放器,诸如vlc和ffplay等,其中最强大的莫过于vlc,但是鉴于vlc框架过于庞大而其中仍存在诸多问题而舍弃了,而其他的更倾向于演示demo,只能提供部分借鉴意义;故而,SkeyeExPlayer 一贯秉承Skeye系列小而精,接口简单功能强大的宗旨从新设计了一套框架,该套框架能适应多线程调用以及多个播放实例同时运行,和SkeyePlayer一样Skeye; 当然,在此也郑重的感谢各

2017-09-10 19:11:49 1092

原创 SkeyeExPlayer(Windows)开发之跨语言调用

下面我们来讲解一下关于SkeyeExPlayer接口的调用,主要分为C++和C#两种语言,C++也可以基于VC和QT进行开发,C++以VC MFC框架为例进行讲解,C#以Winform框架为例进行讲解。VC开发SkeyeExPlayer首先建一个基于MFC Dialog的工程,取名叫SkeyeExPlayer,关于界面逻辑的处理过程就不做过多赘述了,大家有兴趣的可以去看SkeyeExPlayer项目代码;下面我们讲解一下SkeyeExPlayer的调用流程:(1) 打开一个流或文件进行播放通过S

2017-09-10 17:36:27 852

原创 SkeyeExPlayer(Windows)开发之接口说明

SkeyeExPlayer(windows)接口说明如下:SkeyeExPlayer_Open说明:打开一个媒体流或者媒体文件进行播放,同时返回一个 player 对象指针参数说明:fileUrl - 文件路径(可以是网络流媒体的 URL)hWnd - Win32 的窗口句柄/其他平台渲染显示设备句柄 返回值: Easy_PlayerPro_Handle 指针类型,指向 SkeyeExPlayer 对象句柄声明如下:SkeyeExPlayer_Handle SkeyeE

2017-09-10 16:09:07 1405

原创 SkeyeExPlayer(Windows)开发之ffmpeg log输出报错

SkeyeExPlayer主要基于ffmpeg进行开发,在SkeyeExPlayer开发过程中,曾遇到一个相对比较棘手的问题,该问题一般在播放不是很标准的流或者网络情况较差,容易出现丢帧的情况特别容易出现;基本表象在,播放一段时间程序会弹出错误或者崩溃,查代码逻辑根本无法查起,且不易重现(比如,我现在就想重现,也未能重现出来–!后面补上),不过在播放没有音频的rtsp流的时候比较容易出现,报错定位output.c源文件中,应该是字符串格式化输出的时候出错,经过排查,定位到ffmpeg的日志输出,为了便于查

2017-09-10 15:46:50 423

原创 SkeyeExPlayer(Windows)功能介绍及应用场景

SkeyeExPlayer(Windows)经过为期一个月的开发已经基本完成,虽然目前仍存在一些小问题,但是总体功能还是趋于比较稳定和强大的,下面对其功能和应用场景做简要介绍。一 SkeyeExPlayer功能介绍Windows平台初始版本界面如下图所示:如上截图SkeyeExPlayer目前已支持 SkeyeExPlayer RTSP/RTMP/HLS/HTTP全功能流媒体播放器开发计划中罗列的绝大部分功能,诸如大部分流媒体和媒体文件的支持,单帧播放,快进和慢放,抓图,录像(支持分片)等功能;

2017-09-10 15:11:14 1688

原创 SkeyeExPlayer RTSP/RTMP/HLS/HTTP全功能流媒体播放器开发计划

目前OpenSKEYE团队准备推出一款全平台的面向多种流和媒体的全能播放器SkeyeExPlayer,下面列出SkeyeExPlayer(for Windows)的开发计划;SkeyeExPlayer开发将满足以下需求:.支持rtsp/ rtmp/ hls/ http协议,支持大部分媒体文件的播放. 视频按比例显示,扩展显示(充满整个窗口区域),全屏显示.视频osd叠加功能,加载台标,字幕,画中画缩放,美化渲染,特效等. 支持视频截图保存.网络直播流支持本地视频录像保存.支持音量调整

2017-08-10 15:01:22 1015

原创 SkeyeRMS录像服务器如何实现精确查找: HLS+M3U8录像回放

SkeyeRMS作为面向云端的录播服务器,目前正处于开发阶段,以往的SkeyeRMS查找通常只能精确到M3U8列表,而不能实现精确到时间点的查询,为了能实现精确到点的查询,我将M3U8列表从新遍历一遍,重新生成一个精确到在关键位置开始和结束的切片文件(ts)的M3U8列表,然后返回,我们先不讨论这个方法效率如何,但是确实可以将精确度提高到切片文件单位级。精确查找流程如下:遍历本地(数据库)指定录像存储路径,找出在指定开始时间和结束时间范围内的M3U8列表,注意:这里找到的M3U8列表的区间是要小于开

2017-08-10 14:42:48 1832

原创 SkeyePlayer rtsp播放器源码解析之64位编译方案

SkeyePlayer支持多路拉流播放,而拉流解码的过程需要占用系统资源,而我们都知道32位程序最多只能利用4G的内存,而现在动则8G,16G的内存空间是完全不能被利用的;所以,为了充分利用内存资源,我们准备将SkeyePlayer改成64位版本。新建64位编译平台所有依赖库编译成64位1> gpac库编译64位官网下载gpac源码,通过cmake生成对应的VS版本,然后编译64位平台即可;2> libSkeyeAACEncoder库编译64位3> ffmpeg编译6

2017-08-10 14:21:57 2261 6

原创 SkeyePlayer RTSP播放器源码解析系列之效率优化方案

测试发现,通过EasyPlayer拉取网络摄像机的流, 其音频可能是G711,G726等,而写MP4或者转推RTMP等都不支持这些音频格式,那么我们就需要将其音频转码成AAC,可以使用libEasyAACEncoder库进行转码,然后写MP4或者推送;然而,在实际应用中,我们发现转码过程其实还是比较耗时的,它甚至会导致解码线程来不及从而使直播延时增大,所以,我们采用队列缓存+线程的方式来优化录像和抓

2017-08-10 11:39:27 1448

6704编程指南

6704编程与校正指南,方便快捷查找板块调用关系。

2012-11-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除