问题来源 2017.12.21 前天有杭州某教育领域客户反馈有部分视频源在全屏模式下显示黑屏: 问题复现 EasyPlayerPro由于没有实现单个窗口完全全屏,故没有暴露该问题,晚上加班,加上单个窗口完全全屏,即把控制区全部隐藏,仅将视频铺满整个屏幕: 改完,电脑罢工了,今天上午还蓝屏两次,ASUS, 伤透了我的心- 复现问题, 发现其实是1080P的视频在全屏状态下显示黑屏, 且显示器分辨率刚好是1080P. 并且是GDI显示模式; 又是GDI- 问题解决 GDI显示视频使用的是DrawDi…
问题来源 2017.12.18 今日有杭州某教育领域客户反馈EasyPlayerPro在播放一个rtmp源时,画面显示异常的问题.截图如下: 问题复现 一番思考, 将显示格式改为D3D显示, 正常, 截图如下: 问题调试 推测应该是分辨率的问题, D3D显示是固定的拷贝, 而GDI显示是由api DrawDibDraw实现, 在源端将分辨率固定为编码分辨率, 显示效果截图如下: 问题解决 的确,就是源端分辨率的问题, 仔细查看发现, 回调出来的分辨率是显示分辨率(width, height),而…
需求背景 应EasyPlayerPro某客户需求,在EasyPlayerPro启动时,自动播放指定的url源, 不需要每次都去手动填写, 且实现自动播放,不需要手动的单击播放按钮: 为响应该需求,特增加配置文件: EasyPlayerPro.xml, 实现以下功能: 1. 在启动过程中读取配置中的URL源, 以指定的协议主动连接源, 进行音视频播放; 2. 设置缓冲帧大小, 实现流畅和实时模式的调整; 3. 可隐藏工具栏,使播放器运行后,将工具栏进行隐藏, 最大化的利用窗口空间显示视频; 实现界…
问题被反馈 今日一客户反馈说播放不了带用户名密码的流, 奇怪,这个问题不存在啊-,按照客户的说法, 是将url地址保存在配置文件中,然后再打开EasyPlayerPro运行: 问题复现 在EasyPlayerPro.xml中输入带用户名和密码(含有特殊字符&)的地址, 再运行EasyPlayerPro.exe; 果然,所有特殊字符&全都不见了,如下图: 问题分析与解决 找度娘,问tinyxml特殊字符: 从sourceforge.net下载tinyxml的源码; 使用vs2010打开tin…
背景描述 在视频监控软件中,我们看到很多的软件都有电子放大功能, 按住鼠标左键不放,框选一个区域,再松开鼠标左键,即对选中的区域进行放大显示, 且可以重复该操作,逐步放大所需显示的区域, 有没有觉得,这个功能在视频监控软件中还是有他的用武地. 今天我们就来实现该功能: 实现流程 //设置电子放大起起始点 int SetElectronicZoomStartPoint(int channelId, float fXPercent, float fYPercent, unsigned char sh…
背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打开指定的音频输出设备; 获取指定音频输出设备的音频属性; 获取和设置音量; DWORD GetVolume(); int SetVolume(DWORD vol); int Init(DWORD ComponentType,int *min,int *max); int GetAudioOutput…
需求 在安防行业应用中,除了在本地看到摄像机的视频和进行音频监听外,还有一个重要的功能,那就是对讲. EasyPlayerPro-win为了减轻二次开发者的工作量,将本地音频采集也进行了集成: 功能特点 支持获取本地所有音频输入设备列表; 可任意选择任一音频输入设备; 可设置采样率和采样精度及位率; 可设置编码格式(当前支持G711A,G711U,AAC); 实现流程 采用DirectSound8进行本地音频采集; 将采集到的音频数据写入编码队列; 在编码线程中获取源始音频数据,进行音频编码;…
背景描述 作为一个播放器,截图功能必不可少; 下面主要记录一下截图功能的实现: 实现流程 将解码后的帧进行格式转换(目标格式为RGB24); 采用独立的线程进行截图处理; 截图可保存为BMP或JPG两种格式; 代码实现 #define _WIDTHBYTES(c) ((c+31)/32*4) // c = width * bpp int Snapshot2File(RENDER_FORMAT renderFormat, SNAPSHOT_IMAGE_T *pSnapshot, char *pbu…
背景描述 参照国内视频监控行业监控软件,实现当前视频的即时回放功能,例如: 监控人员发现刚刚的某个视频点有可疑,就像录像回放一样,想倒回去看一下,但又不想切换到录像回放界面, 此处就体现即时回放的价值了,还可将回放片断保存为录像文件; 实现流程 在视频播放时, 将收到的帧数据写入待解码播放队列; 当用户切换到即时回放功能, 则停止解码当前的帧; 在解码线程中修改用者ID(涉及到缓冲队列的设计); 解码线程一直读取历史队列中的帧进行解码显示; 当读到队列的最后一帧时,再从头开始循环; 代码实现 /…
按键盘上的三个键,Ctrl+Shift+Esc来启动任务管理器: 在任务管理器界面的左上角,有一个“文件”按钮,点击它会出现下拉的“新建任务(运行)...”按钮 鼠标点了“新建任务(运行)...”会弹出一个创建新任务的程序对话框,在对话框里输入下方英文 explorer 按回车,即可重新呼出平时我们看到的windows界面.…
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渲染方式…
概述 libEasyPlayer实现对RTSP直播流进行实时采集和解码显示,稳定,高效,低延时:解码可采用intel硬件解码和软件解码两种方式,能实时进行录像和快照抓图,OSD叠加等功能. API接口函数定义  int EasyPlayer_Init(); 函数说明: 播放器初始化,播放器使用之前调用: 参数说明:  void EasyPlayer_Release(); 函数说明: 播放器资源释放,播放器不再使用以后调用: 参数说明: int EasyPlayer_OpenStream(c…
远程娃娃机 目前市面上娃娃机的方案有很多种.核心的技术流程就是实现远程直播加上对娃娃机手臂的远程操作.其中最主要的技术还是视频直播方案,需要低延时,视频秒开等流媒体技术. 最简单的直播方案 视频直播方案包括摄像头视频推送到流媒体服务器,播放器从流媒体服务器获取实时视频.流媒体协议又有使用RTSP的,也有使用RTMP方案的.但是由于各大流媒体服务CDN厂商都是RTMP协议,所有直播使用RTMP方案的会比较多.娃娃机内部的摄像头可以直接安装具有RTMP推流功能的摄像头.这样就实现了娃娃机的视频直接推…
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…
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) 打开一个流或文件进行播放…
EasyPLyerPro(Windows)经过为期一个月的开发已经基本完成,虽然目前仍存在一些小问题,但是总体功能还是趋于比较稳定和强大的,下面对其功能和应用场景做简要介绍. 一.EasyPlayerPro功能介绍 Windows平台初始版本界面如下图所示: 如上截图EasyPlayerPro目前已支持EasyPlayerPro RTSP/RTMP/HLS/HTTP全功能流媒体播放器开发计划中罗列的绝大部分功能,诸如大部分流媒体和媒体文件的支持,单帧播放,快进和慢放,抓图,录像(支持分片)等功能…
例子下载地址 https://www.lanzous.com/i2zsv5g      GIT就不用了麻烦的不行 本人安卓刚学 就上X5内核弄了老长时间由于对maven 和idea不熟悉刚开始导包都是问题(就业人员勿参考,因为此文没有水平) 先上图 解决了侧边填充不满问题(明白什么意思把?播放器侧边和安卓侧边有距离贼难看) 参考了http://www.cocoachina.com/cms/wap.php?action=article&id=25099 这个腾讯的相当于其他开源的播放器或者说浏览器…
一.video的js知识点: controls(控制器).autoplay(自动播放).loop(循环)==video默认的: 自定义播放器中一些JS中提供的方法和属性的记录: 1.play()控制视频的播放 2.pause()控制视频的停止 3.currentTime控制视频的当前时间 4.muted控制视频是否静音(赋值true or false) 5.volume控制音量的大小(赋值0-1) 6.duration视频的总时间 7.ontimeupdate事件(当前播放位置改变时执行,使用时…
在用win10的过程中总是过几分钟不操作电脑,就自动黑屏睡眠了. 下面讲解一下如何解决这个问题: 第一步:win +r  输入regedit.exe 运行注册表管理器 第二步:定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc--b07b-33eb785aaca0 第三步:修改attributes…
在win7上安装了一个ubuntu1604的虚拟机: 在虚拟机下打开电脑上连接的摄像头时,用ubuntu16自带的cheese软件查看是黑屏: 但是cheese上有摄像头名字显示,就是打不开:如下图 首先要确认: 1. 摄像头是否加载进了虚拟机: 虚拟机工具栏---可移动设备---usb2.0 web Camera---连接或断开: 如果未连接,按上面操作连接: 那么虚拟机右下角会有一个摄像头的图标是亮着的:说明摄像头加载进了虚拟机: 2. 然后再次确认摄像头 终端下:一般是vide0 ls /…
首先之所以QtCreator环境下可直接运行,但是在终端下 ./ 则不能运行(黑屏但是不报错),判断肯定不是程序或者是库的问题.于是猜想是环境问题,即终端环境与QtCreator环境不同. 然后就查看NanoPi手册上说明的Qt程序的运行,上面说 运行Qt程序时,需要指定platform参数为xcb,如下所示: ./HelloQt --platform xcb 由此提示后,就好解决了,于是跑到QtCreator下打开左侧的Projects界面,找到run设置(因为不是building出问题了),…
EasyPlayerPro主要基于ffmpeg进行开发,在EasyPlayerPro开发过程中,曾遇到一个相对比较棘手的问题,该问题一般在播放不是很标准的流或者网络情况较差,容易出现丢帧的情况特别容易出现: 基本表象在,播放一段时间程序会弹出错误或者崩溃,查代码逻辑根本无法查起,且不易重现(比如,我现在就想重现,也未能重现出来–!后面补上),不过在播放没有音频的rtsp流的时候比较容易出现,报错定位output.c源文件中,应该是字符串格式化输出的时候出错,经过排查,定位到ffmpeg的日志输出…
EasyPlayerPro-win基础版本的音频播放为单一通道播放,即同一时间仅允许一个通道播放声音,现应客户需求,在基础版本上实现独立的音频播放,即每个通道可同时播放视频和音频; 设计思路 将音频播放类DirectSoundPlayer移到每个播放通道中, 取消之前的音频通道关系判断; 音量控制类保持不变; DirectSoundPlayer 实现 打开音频播放设备 Open(WAVEFORMATEX *pWaveFormatEx); 调用开始播放: 将音频数据写入队列: 播放线程从队列中读取…
在用ListBox显示歌词的时候,可以显示多行,同时可以控制每一行显示的样式等等.控制显示样式是在它的DrawItem事件中来控制的.首先要先将ListBox的DrawMode属性设置为OwnerDrawVariable或OwnerDrawFixed.ListBox有个ItemHeight属性,在DrawMode设置为Normal时,这个属性是不可设置的,并且其值是根据当前字体进行计算获得的.只有当DrawMode设置为OwnerDrawVariable或OwnerDrawFixed时,设置It…
相信升级了win10系统的诸多安卓开发者在用eclipse时会发现一个很不爽的地方,就是原本win7环境下能正常打开的图片文件现在成了一页乱码,我曾多次碰到这个问题,在网上也很难找到行之有效的具体解决办法,现在终于得以解决. 乱码原因是图片格式例如.jpg..png没有匹配到正确的打开方式. 具体解决方法如下: 以打开.jpg为例 在菜单栏的windows选项下打开Perference,General->Editors->File Associatior,这个就是配置各种文件打开方式的页面 点…
效果: 问题:可拖动进度条随进度条移动时,会致使音乐卡顿(待解决) xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:l…
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_42421611/article/details/1029836811.下载一个.NET Framework: 链接地址:https://dotnet.microsoft.com/download/dotnet-framework/net48?utm_source=getdotnet&utm_medium=referral 下载完成之…
EasyPlayer RTSP Windows专用播放器 EasyPlayer RTSP Windows 播放器是由EasyDarwin团队开发和维护的一个完善的RTSP流媒体播放器项目,视频编码支持H.264,H.265,MPEG4,MJPEG,音频支持G711A,G711U,G726,AAC,支持RTSP over TCP/UDP协议,支持软/硬解码,是一套极佳的安防流媒体平台播放组件!EasyPlayer Windows版本经过了很多年的发展和迭代,在很多商业项目中使用,已经非常稳定.完整…