本文转自EasyDarwin团队成员John的博客:http://blog.csdn.net/jyt0551/article/details/74502627 H.265编码算法作为新一代视频编码标准,在编码效果上有了很大的进步,同样清晰度的视频,265要比264有着更低的码率.关于265对比264的优越性,网上有更专业的文章来作分析,我也仅对这两种算法略知皮毛,因此不多阐述. 基于其更高的压缩比,H.265适用于安防行业再合适不过了!因为安防行业每天都有着海量的视频数据在产生,同时需要实时传输…
下面我们来讲解一下关于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 for Windows是基于ffmpeg进行开发的全功能播放器,开发过程中参考了很多开源的播放器,诸如vlc和ffplay等,其中最强大的莫过于vlc,但是鉴于vlc框架过于庞大而其中仍存在诸多问题而舍弃了,而其他的更倾向于演示demo,只能提供部分借鉴意义:故而,EasyPlayerPro 一贯秉承Easy系列小而精,接口简单功能强大的宗旨从新设计了一套框架,该套框架能适应多线程调用以及多个播放实例同时运行,和EasyPlayer一样Easy; 当然,在此也郑重的感…
EasyPlayerPro(windows)接口说明如下: EasyPlayerPro_Open 说明:打开一个媒体流或者媒体文件进行播放,同时返回一个 player 对象指针 参数说明: fileUrl - 文件路径(可以是网络流媒体的 URL) hWnd - Win32 的窗口句柄/其他平台渲染显示设备句柄 返回值: Easy_PlayerPro_Handle 指针类型,指向 easyplayerpro 对象句柄 声明如下: Easy_PlayerPro_Handle EasyPlayerP…
EasyPlayerPro主要基于ffmpeg进行开发,在EasyPlayerPro开发过程中,曾遇到一个相对比较棘手的问题,该问题一般在播放不是很标准的流或者网络情况较差,容易出现丢帧的情况特别容易出现: 基本表象在,播放一段时间程序会弹出错误或者崩溃,查代码逻辑根本无法查起,且不易重现(比如,我现在就想重现,也未能重现出来–!后面补上),不过在播放没有音频的rtsp流的时候比较容易出现,报错定位output.c源文件中,应该是字符串格式化输出的时候出错,经过排查,定位到ffmpeg的日志输出…
EasyPLyerPro(Windows)经过为期一个月的开发已经基本完成,虽然目前仍存在一些小问题,但是总体功能还是趋于比较稳定和强大的,下面对其功能和应用场景做简要介绍. 一.EasyPlayerPro功能介绍 Windows平台初始版本界面如下图所示: 如上截图EasyPlayerPro目前已支持EasyPlayerPro RTSP/RTMP/HLS/HTTP全功能流媒体播放器开发计划中罗列的绝大部分功能,诸如大部分流媒体和媒体文件的支持,单帧播放,快进和慢放,抓图,录像(支持分片)等功能…
本文转自EasyDarwin团队John的博客:http://blog.csdn.net/jyt0551,John是EasyPusher安卓直播推流.EasyPlayer直播流媒体播放端的开发和维护者,在这方面为开源社区贡献了非常多的技术干货和代码,这里对John的辛苦劳作表示感谢! 在之前一片博客< EasyPusher实现安卓Android手机直播推送同步录像功能>(http://blog.csdn.net/jyt0551/article/details/58714595)中,我写到了Ea…
通过/system/etc/media_codecs.xml可以确定当前设备支持哪些硬解码.通过/system/etc/media_profiles.xml可以知道设备支持的具体profile和level等详细信息.…
EasyPlayer作为业界一款比较优秀的RTSP播放器,一直深受用户的好评,经过了近3年的开发和迭代,从一开始的简单PC版本的RTSP播放功能,到如今支持PC(支持ocx插件).Android.iOS全部都已经支持,而且功能越来越丰富,越来越优化,非常适合于安防行业的直播流播放: EasyPlayer项目地址:https://github.com/EasyDarwin/EasyPlayer 近期,经过开源团队成员Sword一周的努力,EasyPlayer RTSP Windows播放器成功支持…
[Liupin]: 这是一篇简单介绍H.265文章,我接触和开发H.265二年来,H.265技术在行业内接收速度比H.264快多了,现在国际和国内各大公司都在进行H.265应用,不管是IC设计还是H.265编解码软件实现.现在三星S4,和LG G2,还有Sony等智能手机上都有H.265播放功能.我个人认为今明年,H.265转码器和基于H.265 封闭视频应用业务将会大大增长. HEVC (H.265)概要 H.265/高效率视频编码(HEVC)为继H.264后的新编解码标准,与H.264一样,…
过去几年,又拍云一直在点播.直播等视频应用方面潜心钻研,取得了不俗的成果.我们结合点播.直播.短视频等业务中的用户场景,推出了"省带宽.压成本"系列文章,从编码技术.网络架构等角度出发,结合又拍云的产品成果,向大家介绍节省流量,降低带宽成本的妙招. 本文<深入解析 H.265 编码模式,带你了解 Apple 全面推进 H.265 的原因>,是"省带宽.压成本"系列文章的第2篇.从视频网站所遇到的问题出发,深入解析 H.265 视频编码. 往期回顾: 第一…
今天我们聊聊视频编码.视频文件亘古以来存在一个矛盾:高清画质和视频体积的冲突,相同编码标准下,视频更高清,视频体积更大.因此,应用更先进的视频编码标准,降低视频体积,可以大幅降低网站的流量消耗. 目前应用最广泛的视频编码标准是 H.264.H.264 在低码率下的视频画质十分模糊:同时 H.264 对 2K.4K 视频的支持较差:以 H.264 的压缩率,一部4K电影的体积会超过 100G,甚至可以达到 150G.200G,这对想要抢占高清片源的视频平台来说几乎是致命的打击. 既要高清,又要视频…
去年八月,爱立信公司推出了首款H.265编解码器,而在仅仅六个月之后,国际电联(ITU)就正式批准通过了HEVC/H.265标准,标准全称为高效视频编码(High Efficiency Video Coding),相较于目前的H.264标准有了相当大的改善.H.265旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽,即可播放相同质量的视频.这也意味着我们的移动设备(手机.平板电脑)将能够直接在线播放全高清(1080P)视频.而H.265标准也同时支持4K(4096×2160)和8K(8…
远程娃娃机 目前市面上娃娃机的方案有很多种.核心的技术流程就是实现远程直播加上对娃娃机手臂的远程操作.其中最主要的技术还是视频直播方案,需要低延时,视频秒开等流媒体技术. 最简单的直播方案 视频直播方案包括摄像头视频推送到流媒体服务器,播放器从流媒体服务器获取实时视频.流媒体协议又有使用RTSP的,也有使用RTMP方案的.但是由于各大流媒体服务CDN厂商都是RTMP协议,所有直播使用RTMP方案的会比较多.娃娃机内部的摄像头可以直接安装具有RTMP推流功能的摄像头.这样就实现了娃娃机的视频直接推…
H.265视频编码与技术全析(上) 一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是简单地增大了屏幕,其采用了H.265视频编码解码技术,可达到在有限带宽下传输更高质量的网络视频.虽然对于大部分人来讲,H.265还有点陌生,然而早在两年前,爱立信就已经推出了首款H.265编解码器.使用H.265编解码的一个巨大优势是仅需目前主流编码视频H.264一半的比特率,就可提供同等质量的视频…
目前下一代主流的视频编码标准有 ITU-T VCEG 推出来的 H.265 和 Google 推出 VP9 . H.265 在 H.264 的基础上保留其中的部分技术,并对相关技术加以改进研发而成.新技术主要通过提升压缩效率.鲁棒性,提高错误恢复能力,减少实时时延.减少信道获取时间等方面,让视频编码达到效率更高.同时 H.265 可以实现利用 1~2Mbps 传输速度传送 720P 普通高清音视频. VP9 是由 Google 开发的开放式.无版权费的视频编码标准,在开发初期曾经被命名为 Nex…
开篇 炙手可热,望而生畏的音视频开发 时至今日,短视频App可谓是如日中天,一片兴兴向荣.随着短视频的兴起,音视频开发也越来越受到重视,但是由于音视频开发涉及知识面比较广,入门门槛相对较高,让许许多多开发者望而生畏. 为什么写这一系列博文 虽然网上有很多的博文总结了音视频打怪升级的路线,但是音视频开发相关的知识都相对独立,有讲"音视频解码相关"的,有讲"OpenGL相关"的,也有讲"FFmpeg相关的",但是对于新手来说,把所有的知识衔接串联起来…
本文转自:http://blog.csdn.net/jyt0551/article/details/56942795 对于一个裸的RTSP URL,存放在播放列表上略显单调与枯燥.大家可以看到EasyPlayer在播放完视频后会保存一帧图片到列表上. 那么这个功能是如何做到的呢? 如果自己实现解码的话,比如使用ffmpeg解码,这种情况下,将视频帧解码,再编码成jpeg保存下来,应该不是什么难事.相信大多数播放器都是这样处理的. H264格式的视频码流=>解码=>YUV格式的视频帧=>压…
本文转自EasyDarwin团队成员John的博客:http://blog.csdn.net/jyt0551/article/details/75717097 最近发现某些手机在运行EasyPlayer播放视频时,会停留在第一帧画面,虽然有码率预示着接收端没有问题,但是画面却卡着不动. 一般来讲,这个现象有三种原因导致: 没有接收到视频帧; 解码器出错,只解出了第一帧图像; 时间戳计算有误,导致长时间sleep; 那逐一排查下.首先在媒体帧回调的地方下个断点,发现的确有视频帧接收到,并且视频帧最…
EasyPlayer现在支持多视频源快速切换了,我们介绍一下是如何实现的. 这个需求通常应用在一个客户端需要查看多个视频源的情况,比如多个监控场景轮播. 由于EasyPlayer的播放端已经放在Fragment了,这使得SDK层可以对好多应用层的代码做以封装,这样尽可能给开发者带来方便.比如,两个视频源切换的时候,只需要创建两个PlayFragment,然后对这两个Fragment进行显示切换,如代码所示: public void onSwitchPlayer(View view) { Play…
没有其他的.希望从事流媒体开发案例.还承诺提供朋友博客.上个星期.制定出最后一点机会. 在这里,与大家分享. 首先要明白的概念:什么是流媒体?转载请注明出处http://blog.csdn.net/gaoshouxiaodi/article/details/41259351 流媒体:所谓流媒体是指採用流式传输的方式在Internet播放的媒体格式. 流媒体又叫流式媒体,它是指商家用一个视频传送server把节目当成数据包发出,传送到网络上.用户通过解压设备对这些数据进行解压后,节目就会像发送前那…
本播放器集成了公司业务的接口,包含了实播,回放,云台控制和回放速度控制,截图和全屏功能可以根据type直接初始化接口地址如果是第三方业务对接,也可以单独配置接口地址 正确使用H.265播放器需要按以下步骤进行配置: 1.首先先把showVideo的文件夹放到根目录下 2.在页面中引用相关文件 3.初始化播放器的相关配置showVideo.setVideoOption({})本播放器集成了公司业务的接口,包含了实播,回放,云台控制和回放速度控制,截图和全屏功能可以根据type直接初始化接口地址如果…
最近发现某些Android安卓手机在运行EasyPlayer播放视频时,会停留在第一帧画面,虽然有码率预示着接收端没有问题,但是画面却卡着不动. 一般来讲,这个现象有三种原因导致: 没有接收到视频帧; 解码器出错,只解出了第一帧图像; 时间戳计算有误,导致长时间sleep; 那逐一排查下.首先在媒体帧回调的地方下个断点,发现的确有视频帧接收到,并且视频帧最终正常地push到解码的队列当中了,说明第一个假设不成立. 其次,我们看看解码器,似乎也正常工作,没有打印任何异常信息.解码线程也并未退出.那…
转自 http://news.mydrivers.com/1/440/440145.htm H.264是如今最流行的视频编码格式之一,不但技术先进,而且专利费很低,企业每年只需支付650万美元,而个人用户是免费的.如今,H.265/HEVC即将普及,但在专利费上,资本家们狮子大开口了. 今年三月份,杜比.飞利浦.三菱.通用电气.Technicolor等上个月组建了一个联盟HEVC Advance,意在打造新的H.265专利池,对外收费. 事实上,原本就拥有H.264格式授权的MPEG LA公司已…
前言描述 随着大屏时代和高清时代的到来,人们已经不再满足于VGA.CIF这种小分辨率了,取而代之的是720P.1080P.4K级的视频传输,虽然我们国家的基础带宽一直在上升,但普遍情况下,传输高清视频还是带宽流量不够用,而且存在一个流量费用偏高的情况,然而目前市面上的大部分互联网直播视频协议都是基于H.264压缩方式,不得不说现在在安防领域,H.265的时代到来了,互联网上H.265不断从编码端,还是传输.解码播放端,都还没跟上,我们需要从多个方面,将H.265的特性支持于RTSP.RTMP.H…
EasyPlayer-RTSP-Android安卓RTSP播放器低延迟播放延时优化策略 EasyPlayer-RTSP-Android播放器是一款专门针对RTSP协议进行过优化的流媒体播放器,其中我们引以为傲的两个技术优势就是起播速度快和播放延迟低.最近我们遇到一些需求,其对延迟要求非常苛刻,于是我们再把代码捡起来,针对之前的播放策略进行再优化,果然又发现一些可以更改和调优的地方,于是又对性能进行了一次压榨,再一次降低了延迟: 提高解码线程的优先级 一个不容忽视且容易被人忽略的事实,就是安卓层在…
背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打开指定的音频输出设备; 获取指定音频输出设备的音频属性; 获取和设置音量; DWORD GetVolume(); int SetVolume(DWORD vol); int Init(DWORD ComponentType,int *min,int *max); int GetAudioOutput…
需求 在安防行业应用中,除了在本地看到摄像机的视频和进行音频监听外,还有一个重要的功能,那就是对讲. EasyPlayerPro-win为了减轻二次开发者的工作量,将本地音频采集也进行了集成: 功能特点 支持获取本地所有音频输入设备列表; 可任意选择任一音频输入设备; 可设置采样率和采样精度及位率; 可设置编码格式(当前支持G711A,G711U,AAC); 实现流程 采用DirectSound8进行本地音频采集; 将采集到的音频数据写入编码队列; 在编码线程中获取源始音频数据,进行音频编码;…
问题来源 2017.12.18 今日有杭州某教育领域客户反馈EasyPlayerPro在播放一个rtmp源时,画面显示异常的问题.截图如下: 问题复现 一番思考, 将显示格式改为D3D显示, 正常, 截图如下: 问题调试 推测应该是分辨率的问题, D3D显示是固定的拷贝, 而GDI显示是由api DrawDibDraw实现, 在源端将分辨率固定为编码分辨率, 显示效果截图如下: 问题解决 的确,就是源端分辨率的问题, 仔细查看发现, 回调出来的分辨率是显示分辨率(width, height),而…