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

API接口函数定义
 int SkeyePlayer_Init();
函数说明:
播放器初始化,播放器使用之前调用;
参数说明:

 void SkeyePlayer_Release();
函数说明:
播放器资源释放,播放器不再使用以后调用;
参数说明:

int SkeyePlayer_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 SkeyePlayer_CloseStream(int channelId);
函数说明:
播放器停止流播放;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream函数打开流的返回值;
int SkeyePlayer_SetFrameCache(int channelId, int cache);
函数说明:
播放器设置当前流播放缓存帧数;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream()函数打开 流的返回值;
cache [IN] 当前通道的流播放设置的缓存的视频帧数,Eg: 缓存10帧,则cache = 10;

int SkeyePlayer_SetShownToScale(int channelId, int shownToScale);
函数说明:
播放器按比例进行显示;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream()函数打开 流的返回值;
shownToScale [IN] 0=整个窗口区域显示,1=按比例显示;

int SkeyePlayer_SetDecodeType(int channelId, int decodeKeyframeOnly);<不常用>
函数说明:
播放器设置解码类型;分为所有帧解码和只解码关键帧;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream()函数打开 流的返回值;
decodeKeyframeOnly [IN] 0=所有帧解码,1=只解码关键帧;

int SkeyePlayer_SetRenderRect(int channelId, LPRECT lpSrcRect);<不常用>
函数说明:设置视频显示时渲染区域
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream函数打开 流的返回值;
lpSrcRect [IN] 矩形框结构体指针,指向设置渲染区域的矩形结构体;

int SkeyePlayer_ShowStatisticalInfo(int channelId, int show);
函数说明:
播放器设置是否显示码流信息;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream()函数打开 流的返回值;
Show [IN] 0=不显示,1=显示;

int SkeyePlayer_ShowOSD(int channelId, int show, EASY_PALYER_OSD osd);
函数说明:
播放器设置自定义显示OSD信息;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_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 SkeyePlayer_SetDragStartPoint(int channelId, POINT pt);<不可用>
函数说明:
参数说明:

int SkeyePlayer_SetDragEndPoint(int channelId, POINT pt);<不可用>
函数说明:
参数说明:

int SkeyePlayer_ResetDragPoint(int channelId);<不可用>
函数说明:
参数说明:

int SkeyePlayer_StartManuRecording(int channelId);
函数说明:
播放器开始将流音视频数据进行录制,录制格式为MP4;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream函数打开 流的返回值;

int SkeyePlayer_StopManuRecording(int channelId);
函数说明:
播放器停止录制MP4;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream函数打开 流的返回值;

int SkeyePlayer_PlaySound(int channelId);
函数说明:
播放器开始播放音频;
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream函数打开 流的返回值;

int SkeyePlayer_StopSound();
函数说明:
播放器停止播放音频;

int SkeyePlayer_GetMediaInfo(int channelId, MEDIA_INFO& mediaInfo);
函数说明:
播放器获取流媒体信息;
注意:该函数需要在拉到流信息以后才能准确的返回流媒体信息,否则返回数据均为空值。
参数说明:
channelId [IN] 当前播放的流通道ID,该ID是SkeyePlayer_OpenStream()函数打开 流的返回值;
mediaInfo[OUT] 获取的媒体信息结构,参考MEDIA_INFO的声明如下:

typedef struct tagMEDIA_INFO
{unsigned int   video_codec;        /* 视频编码格式 */unsigned char   fps;                /* 视频帧率 */unsigned short    width;              /* 视频宽 */unsigned short  height;                /* 视频高 */unsigned int   audio_codec;        /* 音频编码格式 */unsigned int    sample_rate;        /* 音频采样率 */unsigned int channels;           /* 音频声道数 */unsigned int bits_per_sample;    /* 音频采样精度 */unsigned int    reserved1;          /* 保留参数1 */unsigned int reserved2;          /* 保留参数2 */
}MEDIA_INFO;

有相关的技术问题,欢迎大家和我进行技术交流:
295222688@qq.com
大家也可以加入SkeyePlayer直播技术 QQ交流群进行讨论:
102644504

SkeyePlayer RTSP播放器库API接口说明相关推荐

  1. SkeyePlayer RTSP/RTMP流播放器库API接口说明

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

  2. SkeyePlayer RTSP播放器:一个适用于安防行业的工具利器

    SkeyePlayer项目地址:https://gitee.com/visual-opening/SkeyePlayerhttps://gitee.com/visual-openinghttps:// ...

  3. 【技术分享】Windows平台低延迟RTMP、RTSP播放器接口设计探讨

    背景 我们看过了太多介绍RTSP.RTMP播放相关的技术资料,大多接口设计简约,延迟和扩展能力也受到一定的局限,好多开发者希望我们能从接口设计的角度,大概介绍下大牛直播SDK关于RTMP.RTSP播放 ...

  4. 播放器 potplayer rtsp播放器

    目录 potplayer: 播放比例设置: html5_rtsp_player: GitHub - Streamedian/html5_rtsp_player: Play RTSP stream fr ...

  5. C# 视频监控系列(11):H264播放器——封装API[HikPlayM4.dll]

    前言 当你认真的写完客户端和服务器端的时候可能不需要再继续往下看关于播放器的代码和说明,因为你已经掌握了如何转换VC++代码的技巧了,加上GOOGLE再来完成这个播放器应该算小菜了.但是作为我的系列, ...

  6. RTSP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTSP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延 ...

  7. Android、iOS平台RTMP/RTSP播放器实现实时音量调节

    介绍移动端RTMP.RTSP播放器实时音量调节之前,我们之前也写过,为什么windows播放端加这样的接口,windows端播放器在多窗口大屏显示的场景下尤其需要,尽管我们老早就有了实时静音接口,相对 ...

  8. Android平台RTMP/RTSP播放器开发系列之解码和绘制

    本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如 ...

  9. Windows平台RTSP播放器/RTMP播放器设计需要考虑的几个点

    我们在实现Windows平台RTSP播放器或RTMP播放器的时候,需要考虑的点很多,比如多实例设计.多绘制模式兼容.软硬解码支持.快照.RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概 ...

最新文章

  1. ecplise 多工程项目如何进行树形展示
  2. mysql win10 5.5_win10上MySql5.5版本升级到5.7
  3. 【TensorFlow-windows】部分损失函数测试
  4. 汇编语言中变量的声明
  5. 本人服务器遭受黑客长期攻击,特把这几天做的一些有用的安全方面总结出来,以方便以后查阅
  6. 最小花费(信息学奥赛一本通-T1344)
  7. 矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现
  8. python 写一个计算器_Python | 写个计算器吧
  9. 不要让SOA控制我们的思想
  10. asp.net mvc5+Echarts3.0+AspNet.SignalR2.0 实时监控cpu占用率推送
  11. asp.net 设置敲回车触发按钮
  12. (2)Spring框架----IOC基础快速入门
  13. 局域网电脑资产搜集管理
  14. sqlserver数据库置疑处理
  15. ubuntu创建服务程序
  16. 个人保研经历以及经验分享
  17. 家用电脑如何安装服务器系统,普通电脑安装服务器系统
  18. eureka集群只注册一个_闲聊注册中心——ZK、Eureka、Sofa-Registry
  19. 音频降噪 java_流音频中的降噪和压缩
  20. 音频转化mp3 ,到底选vbr还是cbr

热门文章

  1. (鸟哥教材)Linux学习日记(二:Linux背景概念)
  2. html页面下拉条位置,iframe滚动条位置控制
  3. windows10更新卡住强制重启后陷入自动修复重启死循环
  4. 教你怎么辨别匡威的真假!!!!!!!!
  5. 趣图:众志成城,笑战疫情
  6. 使用springboot+netty处理tcp/ip服务端编程
  7. python与分形0009 - 谢尔宾斯基地毯
  8. 基于安卓/android/微信小程序的老年人智慧服务平台管理系统app-#计算机毕业设计
  9. zigbee之点灯1
  10. 配置nginx防盗链