概述

libEasyPlayer实现对RTSP直播流进行实时采集和解码显示,稳定,高效,低延时;解码可采用intel硬件解码和软件解码两种方式,能实时进行录像和快照抓图,OSD叠加等功能。

API接口函数定义

 int EasyPlayer_Init();

函数说明:

播放器初始化,播放器使用之前调用;

参数说明:

 void EasyPlayer_Release();

函数说明:

播放器资源释放,播放器不再使用以后调用;

参数说明:

int EasyPlayer_OpenStream(const char *url, HWND hWnd, RENDER_FORMAT renderFormat, int rtpovertcp, const char *username, const char *password, MediaSourceCallBack callback, void *userPtr, bool bHardDecode);

函数说明:

播放器开始进行流播放;返回值为当前播放的通道ID,该ID在停止推流时需要用到;

参数说明:

Url:[IN] 字符串类型,表示当前要播放的流地址,Eg: rtsp://127.0.0.1:554/stream.sdp

HWnd: [IN] 窗口句柄类型,表示为当前播放器将显示的窗口的句柄;

renderFormat:[IN] 播放渲染类型,详见RENDER_FORMAT结构;

Rtpovertcp:[IN] 整数型,拉取流的传输模式,0=udp, 1=tcp

Username:[IN] 字符串,访问流的用户名(如果存在)

Password:[IN] 字符串,访问流的用户名(如果存在)

Callback:[IN] 播放器回调音视频数据回调函数

userPtr:[IN] 用户自定义传入数据

bHardDecode:[IN] 是否采用硬件解码 1=是,0=否

void EasyPlayer_CloseStream(int channelId);

函数说明:

播放器停止流播放;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream函数打开流的返回值;

int EasyPlayer_SetFrameCache(int channelId, int cache);

函数说明:

播放器设置当前流播放缓存帧数;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream()函数打开 流的返回值;

cache [IN] 当前通道的流播放设置的缓存的视频帧数,Eg: 缓存10帧,则cache = 10;

int EasyPlayer_SetShownToScale(int channelId, int shownToScale);

函数说明:

播放器按比例进行显示;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream()函数打开 流的返回值;

shownToScale [IN] 0=整个窗口区域显示,1=按比例显示;

int EasyPlayer_SetDecodeType(int channelId, int decodeKeyframeOnly);<不常用>

函数说明:

播放器设置解码类型;分为所有帧解码和只解码关键帧;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream()函数打开 流的返回值;

decodeKeyframeOnly [IN] 0=所有帧解码,1=只解码关键帧;

int EasyPlayer_SetRenderRect(int channelId, LPRECT lpSrcRect);<不常用>

函数说明:设置视频显示时渲染区域

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream函数打开 流的返回值;

lpSrcRect [IN] 矩形框结构体指针,指向设置渲染区域的矩形结构体;

int EasyPlayer_ShowStatisticalInfo(int channelId, int show);

函数说明:

播放器设置是否显示码流信息;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream()函数打开 流的返回值;

Show [IN] 0=不显示,1=显示;

int EasyPlayer_ShowOSD(int channelId, int show, EASY_PALYER_OSD osd);

函数说明:

播放器设置自定义显示OSD信息;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream()函数打开 流的返回值;

Show [IN] 0=不显示,1=显示;

Osd [IN] osd显示信息填充结构,定义如下:

typedef struct tagEASY_PALYER_OSD

{

char stOSD[1024]; //OSD字幕信息

DWORD alpha; //透明通到0-255

DWORD color; //RGB(0xf9,0xf9,0xf9)

DWORD shadowcolor; //OSD背景颜色RGB(0x4d,0x4d,0x4d) 全为0背景透明

RECT rect; //OSD基于图像右上角显示区域

int size; //OSD字体的大小

}EASY_PALYER_OSD;

注意:osd字幕叠加通过”\r\n“结束符进行换行,一行的长度不能超过128个字节,总的OSD叠加不能超过1024个字节。其中OSD大小设置只有D3D渲染模式才能生效;

int EasyPlayer_SetDragStartPoint(int channelId, POINT pt);<不可用>

函数说明:

参数说明:

int EasyPlayer_SetDragEndPoint(int channelId, POINT pt);<不可用>

函数说明:

参数说明:

int EasyPlayer_ResetDragPoint(int channelId);<不可用>

函数说明:

参数说明:

int EasyPlayer_StartManuRecording(int channelId);

函数说明:

播放器开始将流音视频数据进行录制,录制格式为MP4;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream函数打开 流的返回值;

int EasyPlayer_StopManuRecording(int channelId);

函数说明:

播放器停止录制MP4;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream函数打开 流的返回值;

int EasyPlayer_PlaySound(int channelId);

函数说明:

播放器开始播放音频;

参数说明:

channelId [IN] 当前播放的流通道ID,该ID是EasyPlayer_OpenStream函数打开 流的返回值;

int EasyPlayer_StopSound();

函数说明:

播放器停止播放音频;

EasyPlayer

EasyPlayer是由EasyDarwin开源团队开发和维护的一个流媒体播放器项目,目前有RTSP版和Pro版两个版本,RTSP支持Windows(支持多窗口、包含ActiveXnpAPI Web插件)、Android平台,iOS平台,视频支持H.264H.265MPEG4MJPEG,音频支持G711AG711UG726AAC,支持RTSP over TCP/UDP,支持硬解码,是一套极佳的RTSP流播放组件;

EasyPlayer Pro版支持RTSP、RTMP、HTTP、HLS等各种流媒体协议播放,稳定、高效、可靠,支持Windows、Android、iOS!

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

libEasyPlayer RTSP windows播放器SDK API接口设计说明的更多相关文章

  1. EasyPlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别

    EasyPlayer-RTSP windows播放器支持D3D和GDI两种渲染方式,其中D3D支持格式如下: DISPLAY_FORMAT_YV12 DISPLAY_FORMAT_YUY2 DISPL ...

  2. 如何利用百度音乐播放器的API接口来获取高音质歌曲

    第一步:在网页中打开以下网址: http://box.zhangmen.baidu.com/x?op=12&count=1&title=时间都去哪儿了$$王铮亮$$$$ 其中红色地方可 ...

  3. EasyPlayer_Android RTSP安卓播放器直播画面卡在第一帧问题修复

    最近发现某些Android安卓手机在运行EasyPlayer播放视频时,会停留在第一帧画面,虽然有码率预示着接收端没有问题,但是画面却卡着不动. 一般来讲,这个现象有三种原因导致: 没有接收到视频帧; ...

  4. 业余写的一个播放器SDK,求点意见

    好久没写博客了 现大致花了半年时间私下写一个音频SDK,想请csdn的达人提点意见,看看还需要增加哪些功能 我对这个的定位如下: 可以在游戏开发中播放音乐,作为一般的音频播放器后端,作为音频编辑器后端 ...

  5. EasyPlayerPro(Windows)流媒体播放器开发之接口设计

    EasyPlayerPro(windows)接口说明如下: EasyPlayerPro_Open 说明:打开一个媒体流或者媒体文件进行播放,同时返回一个 player 对象指针 参数说明: fileU ...

  6. EasyPlayerPro windows播放器本地音频播放音量控制实现

    背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打 ...

  7. EasyPlayerPro Windows播放器进行本地对讲喊话音频采集功能实现

    需求 在安防行业应用中,除了在本地看到摄像机的视频和进行音频监听外,还有一个重要的功能,那就是对讲. EasyPlayerPro-win为了减轻二次开发者的工作量,将本地音频采集也进行了集成: 功能特 ...

  8. EasyPlayerPro windows播放器本地配置文件配置方法介绍

    需求背景 应EasyPlayerPro某客户需求,在EasyPlayerPro启动时,自动播放指定的url源, 不需要每次都去手动填写, 且实现自动播放,不需要手动的单击播放按钮: 为响应该需求,特增 ...

  9. EasyPlayerPro Windows播放器读取xml配置文件中的特殊字符问题

    问题被反馈 今日一客户反馈说播放不了带用户名密码的流, 奇怪,这个问题不存在啊-,按照客户的说法, 是将url地址保存在配置文件中,然后再打开EasyPlayerPro运行: 问题复现 在EasyPl ...

随机推荐

  1. 洛谷 P1328 生活大爆炸版石头剪刀布【模拟/环/周期】

    题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第8 集中出现了一种石头剪刀布的升级版游戏. 升级版游戏在传统的 ...

  2. FZU 1057 a^b 【数论/九余定理】

    Accept: 1164    Submit: 3722Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description 对于任 ...

  3. Linux Redhat7 开机启动python脚本

    cd /usr/lib/systemd/system touch proxy.service ##################################################### ...

  4. Java线程池原理解读

    引言 引用自<阿里巴巴JAVA开发手册> [强制]线程资源必须通过线程池提供,不允许在应用中自行显式创建线程. 说明:使用线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销 ...

  5. 【IntelliJ IDEA】代码中出现Usage of API documented as @since 1.8+ more..

    在idea中写代码过程中.有这种报错出现: Usage of API documented as @since 1.8+ more.. 修改JDK版本的几个地方 最后,在pom.xml文件中添加: & ...

  6. 双网卡环境导致Oracle连接异常

    现在就是流行向最高水平看齐,这次项目的部署,好好的SQL Server扔了(有正版授权的企业版,神啊...),逢人就夸:“俺们那上的可是最顶级的Oracle Database System!”.看了看 ...

  7. 软件业的发展方向:云、Web以及App

    随着行业互联网的发展,未来的软件发展方向是云技术.Web软件以及基于移动设备的Apps. 桌面软件主要负责大型的计算.渲染和消耗非常大CPU和内存的图形软件,以及基于这些软件的二次开发软件如Revit ...

  8. 使用聚合数据API查询快递数据-短信验证码-企业核名

    有位朋友让我给他新开的网站帮忙做几个小功能,如下: 输入快递公司.快递单号,查询出这个快件的所有动态(从哪里出发,到了哪里) 在注册.登录等场景下的手机验证码(要求有一定的防刷策略) 通过输入公司名的 ...

  9. 应该知道的Linux技巧(转载)

    这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?>—— Linux用户 ...

  10. iframe 实现网页本页显示

    <el-dialog title="" :visible.sync="dialogVisible"> <iframe src="ht ...