需求背景 应EasyPlayerPro某客户需求,在EasyPlayerPro启动时,自动播放指定的url源, 不需要每次都去手动填写, 且实现自动播放,不需要手动的单击播放按钮: 为响应该需求,特增加配置文件: EasyPlayerPro.xml, 实现以下功能: 1. 在启动过程中读取配置中的URL源, 以指定的协议主动连接源, 进行音视频播放; 2. 设置缓冲帧大小, 实现流畅和实时模式的调整; 3. 可隐藏工具栏,使播放器运行后,将工具栏进行隐藏, 最大化的利用窗口空间显示视频; 实现界…
背景描述 作为一个播放器,截图功能必不可少; 下面主要记录一下截图功能的实现: 实现流程 将解码后的帧进行格式转换(目标格式为RGB24); 采用独立的线程进行截图处理; 截图可保存为BMP或JPG两种格式; 代码实现 #define _WIDTHBYTES(c) ((c+31)/32*4) // c = width * bpp int Snapshot2File(RENDER_FORMAT renderFormat, SNAPSHOT_IMAGE_T *pSnapshot, char *pbu…
背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打开指定的音频输出设备; 获取指定音频输出设备的音频属性; 获取和设置音量; DWORD GetVolume(); int SetVolume(DWORD vol); int Init(DWORD ComponentType,int *min,int *max); int GetAudioOutput…
问题被反馈 今日一客户反馈说播放不了带用户名密码的流, 奇怪,这个问题不存在啊-,按照客户的说法, 是将url地址保存在配置文件中,然后再打开EasyPlayerPro运行: 问题复现 在EasyPlayerPro.xml中输入带用户名和密码(含有特殊字符&)的地址, 再运行EasyPlayerPro.exe; 果然,所有特殊字符&全都不见了,如下图: 问题分析与解决 找度娘,问tinyxml特殊字符: 从sourceforge.net下载tinyxml的源码; 使用vs2010打开tin…
需求 在安防行业应用中,除了在本地看到摄像机的视频和进行音频监听外,还有一个重要的功能,那就是对讲. EasyPlayerPro-win为了减轻二次开发者的工作量,将本地音频采集也进行了集成: 功能特点 支持获取本地所有音频输入设备列表; 可任意选择任一音频输入设备; 可设置采样率和采样精度及位率; 可设置编码格式(当前支持G711A,G711U,AAC); 实现流程 采用DirectSound8进行本地音频采集; 将采集到的音频数据写入编码队列; 在编码线程中获取源始音频数据,进行音频编码;…
问题来源 2017.12.18 今日有杭州某教育领域客户反馈EasyPlayerPro在播放一个rtmp源时,画面显示异常的问题.截图如下: 问题复现 一番思考, 将显示格式改为D3D显示, 正常, 截图如下: 问题调试 推测应该是分辨率的问题, D3D显示是固定的拷贝, 而GDI显示是由api DrawDibDraw实现, 在源端将分辨率固定为编码分辨率, 显示效果截图如下: 问题解决 的确,就是源端分辨率的问题, 仔细查看发现, 回调出来的分辨率是显示分辨率(width, height),而…
背景描述 在视频监控软件中,我们看到很多的软件都有电子放大功能, 按住鼠标左键不放,框选一个区域,再松开鼠标左键,即对选中的区域进行放大显示, 且可以重复该操作,逐步放大所需显示的区域, 有没有觉得,这个功能在视频监控软件中还是有他的用武地. 今天我们就来实现该功能: 实现流程 //设置电子放大起起始点 int SetElectronicZoomStartPoint(int channelId, float fXPercent, float fYPercent, unsigned char sh…
背景描述 参照国内视频监控行业监控软件,实现当前视频的即时回放功能,例如: 监控人员发现刚刚的某个视频点有可疑,就像录像回放一样,想倒回去看一下,但又不想切换到录像回放界面, 此处就体现即时回放的价值了,还可将回放片断保存为录像文件; 实现流程 在视频播放时, 将收到的帧数据写入待解码播放队列; 当用户切换到即时回放功能, 则停止解码当前的帧; 在解码线程中修改用者ID(涉及到缓冲队列的设计); 解码线程一直读取历史队列中的帧进行解码显示; 当读到队列的最后一帧时,再从头开始循环; 代码实现 /…
问题来源 2017.12.21 前天有杭州某教育领域客户反馈有部分视频源在全屏模式下显示黑屏: 问题复现 EasyPlayerPro由于没有实现单个窗口完全全屏,故没有暴露该问题,晚上加班,加上单个窗口完全全屏,即把控制区全部隐藏,仅将视频铺满整个屏幕: 改完,电脑罢工了,今天上午还蓝屏两次,ASUS, 伤透了我的心- 复现问题, 发现其实是1080P的视频在全屏状态下显示黑屏, 且显示器分辨率刚好是1080P. 并且是GDI显示模式; 又是GDI- 问题解决 GDI显示视频使用的是DrawDi…
EasyPlayer-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_RGB24_GDI GDI渲染方式…
转: struts2拦截器interceptor的配置方法及使用 (2015-11-09 10:22:28) 转载▼ 标签: it 365 分类: Struts2  NormalText Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15   <struts> <package name="struts2" extends="struts-default"> <interceptors> <i…
远程娃娃机 目前市面上娃娃机的方案有很多种.核心的技术流程就是实现远程直播加上对娃娃机手臂的远程操作.其中最主要的技术还是视频直播方案,需要低延时,视频秒开等流媒体技术. 最简单的直播方案 视频直播方案包括摄像头视频推送到流媒体服务器,播放器从流媒体服务器获取实时视频.流媒体协议又有使用RTSP的,也有使用RTMP方案的.但是由于各大流媒体服务CDN厂商都是RTMP协议,所有直播使用RTMP方案的会比较多.娃娃机内部的摄像头可以直接安装具有RTMP推流功能的摄像头.这样就实现了娃娃机的视频直接推…
EasyPlayerPro for Windows是基于ffmpeg进行开发的全功能播放器,开发过程中参考了很多开源的播放器,诸如vlc和ffplay等,其中最强大的莫过于vlc,但是鉴于vlc框架过于庞大而其中仍存在诸多问题而舍弃了,而其他的更倾向于演示demo,只能提供部分借鉴意义:故而,EasyPlayerPro 一贯秉承Easy系列小而精,接口简单功能强大的宗旨从新设计了一套框架,该套框架能适应多线程调用以及多个播放实例同时运行,和EasyPlayer一样Easy; 当然,在此也郑重的感…
下面我们来讲解一下关于EasyPlayerPro接口的调用,主要分为C++和C#两种语言,C++也可以基于VC和QT进行开发,C++以VC MFC框架为例进行讲解,C#以Winform框架为例进行讲解. VC开发EasyPlayerPro 首先建一个基于MFC Dialog的工程,取名叫EasyPlayerPro,关于界面逻辑的处理过程就不做过多赘述了,大家有兴趣的可以去看EasyPlayerPro项目代码:下面我们讲解一下EasyPlayerPro的调用流程: (1) 打开一个流或文件进行播放…
EasyPlayerPro简介 EasyPlayerPro是一款全功能的流媒体播放器,支持RTSP.RTMP.HTTP.HLS.UDP.RTP.File等多种流媒体协议播放.支持本地文件播放,支持本地抓拍.本地录像.播放旋转.多屏播放等多种功能特性,核心基于ffmpeg,稳定.高效.可靠,支持Windows.Android.iOS三个平台,EasyPlayerPro播放器可广泛应用于流媒体客户端.互联网直播.在线教育.IPTV.赛事直播.本地视频文件播放等项目中.目前在多家教育.安防.行业型公司…
EasyPlayerPro(windows)接口说明如下: EasyPlayerPro_Open 说明:打开一个媒体流或者媒体文件进行播放,同时返回一个 player 对象指针 参数说明: fileUrl - 文件路径(可以是网络流媒体的 URL) hWnd - Win32 的窗口句柄/其他平台渲染显示设备句柄 返回值: Easy_PlayerPro_Handle 指针类型,指向 easyplayerpro 对象句柄 声明如下: Easy_PlayerPro_Handle EasyPlayerP…
EasyPLyerPro(Windows)经过为期一个月的开发已经基本完成,虽然目前仍存在一些小问题,但是总体功能还是趋于比较稳定和强大的,下面对其功能和应用场景做简要介绍. 一.EasyPlayerPro功能介绍 Windows平台初始版本界面如下图所示: 如上截图EasyPlayerPro目前已支持EasyPlayerPro RTSP/RTMP/HLS/HTTP全功能流媒体播放器开发计划中罗列的绝大部分功能,诸如大部分流媒体和媒体文件的支持,单帧播放,快进和慢放,抓图,录像(支持分片)等功能…
目前已经有很多html5播放器可以使用,使用html5播放器可以轻松的在页面中插入媒体视频,从而使我们的web页面变得更加丰富多彩,所以今 天向大家推荐一款非常优秀的html5播放器MediaElement.js,它不仅能够添加我们常用的html5视频格式(mp4,m4v,mov), 而且还支持回退方式,即一些低版本的浏览器不支持 HTML5 播放可以采取flash的方式进行播放,从而达到支持绝大部分的浏览器. 备注:我们都知道进入 HTML5 时代以后W3C组织为web视频播放加入了一个非常友…
|   版权声明:本文为博主原创文章,未经博主允许不得转载. 因为使用第三方多媒体库或是第三方控件(Media Player)辅助播放,我们则必须要了解到Media Player控件的一些属性 和方法.下面我们介绍一些常用的方法和属性. 下面这两张图片是我们导入的控件的类库,我们使用的一些方法和属性全部包含在下面的文件当中. >>.CWMPPlayer4 CString GetUrl(); //取得指定位置 void SetUrl(LPCTSTR lpszNewValue); //设置文件的位…
概述 libEasyPlayer实现对RTSP直播流进行实时采集和解码显示,稳定,高效,低延时:解码可采用intel硬件解码和软件解码两种方式,能实时进行录像和快照抓图,OSD叠加等功能. API接口函数定义  int EasyPlayer_Init(); 函数说明: 播放器初始化,播放器使用之前调用: 参数说明:  void EasyPlayer_Release(); 函数说明: 播放器资源释放,播放器不再使用以后调用: 参数说明: int EasyPlayer_OpenStream(c…
在Linux 6 系统安装完成后,需要对网络进行一系列的配置,有些朋友喜欢使用桌面图形化工具的配置方式,这种配置方法虽说比较方便,但是在某些时候并不问题,总是会出现各种问题.特别是作为服务器用途的时候,会引起一些不必要的麻烦. 方法1.使用setup命令打开终端控制台使用setup命令,调出<文本模式设置工具>,选择<网络配置> ,选择<设备配置>,选择需要配置的网卡.即可对当前网卡进行配置.配置完成后保存. 方法2.修改网卡的配置文件 cd /etc/sysconfi…
转自:http://www.dozer.cc/2013/06/log4net-config-file-order/ 最近把项目中所有的日志都改成了 log4net ,同事也蠢蠢欲动,用起了 log4net. 但是一个大坑扑面而来… 现象是这样的,同事有两个项目: 控制台引用程序:在 assembly 里配置了 log4net 的配置文件地址. 业务逻辑层:引用了 log4net 并写日志了. 然后日志始终无法输出! 之前我一直天真地以为,解决方案中任何一个项目只要加上了 [assembly: l…
右击工具箱->选择项(I)... -> 显示"选择工具箱项" -> COM组件 -> Windows Media Player   wmp.dll 添加 [基本属性] URL:String; 指定媒体位置,本机或网络地址 uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible(不计大小写) playState:integer; 播放状态.这个属性改变时同时引发PlayStateChange事件与StateChan…
一.简介 Vitamio能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播. 使用Vitamio框架主要是它能够播放足够多的视频格式(称万能播放器),而android系统的播放器只能mp4,3gp,.m3u8这几种格式. 二.使用     1.下载地址(官网):https://www.vitamio.…
有些朋友觉得防盗链就是防止图片,其实有很多东西要进行防盗链了,下面我来介绍在nginx中实现防盗链配置方法有对图片防盗链与下载资源等. 防盗链配置 假设网站域名是 www.php100.com. 编辑nginx.conf,在 www.php100.com 区域添加如下内容: location ~* .(gif|png|jpg|bmp|swf|flv)$ { valid_referers none blocked www.php100.com php100.com; if ($invalid_re…
EasyPlayerPro主要基于ffmpeg进行开发,在EasyPlayerPro开发过程中,曾遇到一个相对比较棘手的问题,该问题一般在播放不是很标准的流或者网络情况较差,容易出现丢帧的情况特别容易出现: 基本表象在,播放一段时间程序会弹出错误或者崩溃,查代码逻辑根本无法查起,且不易重现(比如,我现在就想重现,也未能重现出来–!后面补上),不过在播放没有音频的rtsp流的时候比较容易出现,报错定位output.c源文件中,应该是字符串格式化输出的时候出错,经过排查,定位到ffmpeg的日志输出…
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内容用于商业用途,将保留追究其法律责任的权利.如果有问题,请以邮箱方式联系作者(793113046@qq.com). 1.背景概述 在实际生产环境下,对于在linux系统上安装rpm包,主要面临两个实际的问题1)安装rpm包过程中,不断涌现的依赖关系问题,导致需要按照提示或者查询资料,手工安装更多的包…
EasyPlayerPro-win基础版本的音频播放为单一通道播放,即同一时间仅允许一个通道播放声音,现应客户需求,在基础版本上实现独立的音频播放,即每个通道可同时播放视频和音频; 设计思路 将音频播放类DirectSoundPlayer移到每个播放通道中, 取消之前的音频通道关系判断; 音量控制类保持不变; DirectSoundPlayer 实现 打开音频播放设备 Open(WAVEFORMATEX *pWaveFormatEx); 调用开始播放: 将音频数据写入队列: 播放线程从队列中读取…
1.将第一个包解压放某个盘下面,比如在c:\memcached. 2.在终端(也即cmd命令界面)下输入 'c:\memcached\memcached.exe -d install' 安装. 3.再输入: 'c:\memcached\memcached.exe -d start' 启动.(需要注意的: 以后memcached将作为windows的一个服务每次开机时自动启动.这样服务器端已经安装完毕了). 4.下载php_memcache.dll 文件,把它放入php文件夹的ext目录中. 5.…
安装win64OpenSSL-1_1_0j后重新启动:以管理员权限启动powershell; 执行以下命令 set OPENSSL_CONF=c:\xampp\apache\conf\openssl.cnf openssl req -config c:\xampp\apache\conf\openssl.cnf -new -out c:\xampp\apache\conf\server.csr -keyout c:\xampp\apache\conf\server.pemopenssl rsa…