随着apicloud的普及,越来越多的用户苦于apicloud下没有一款真正靠谱低延迟的rtmp/rtsp直播播放器苦恼。

鉴于此,大牛直播SDK携手apicloud资深版主,推出apicloud对接方案:

apicloud官方链接:https://www.apicloud.com/mod_detail/49069

apicloud对接版本说明:https://docs.apicloud.com/Client-API/Open-SDK/daniuPlayer

相关接口如下:

视沃科技-大牛直播SDK

专注、极致、智慧,国内外为数不多不依赖开源框架、跨平台(windows/android/iOS)、公网推送(支持rtmp)-转发-播放-录像(支持rtmp/rtsp),比快更快,业界真正靠谱的超低延迟(真1秒,低延迟模式下200~400ms)。

适用于在线教育、无纸化推屏/会议、智慧教室、智能可视门禁对讲、超低延迟娃娃机抓取播放方案、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、可视化购物、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、金融在线直播室、微信直播、监控对接、活动现场直播、游戏直播、秀场直播等场景。

daniuPlayer 模块概述

本模块封装了大牛直播SDK,支持rtsp、rtmp播放(请开发者自行控制播放格式),支持秒开模式,支持快速切换视频播放地址等。

License文件打包模块包需注意事项请参考License打包模块包注意事项

模块接口

addPlayerListener

播放器监听

addPlayerListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
code: 1001, //状态码(含义见下表:)
param1 : '',//返回参数1
param2 : '',//返回参数2
param3 : '',//返回参数3
param4 : '',//返回参数4
}

示例代码

var demo = api.require('daniuPlayer');
demo.addPlayerListener(function(ret){
api.toast({
msg : " addPlayerListener " + JSON.stringify(ret)
});
});

code状态码

状态码描述信息1001开始播放1002连接中1003连接失败1004已连接1005断开连接1006停止播放1007视频解码分辨率信息1008收不到RTMP数据1009快速切换url1010快照成功/失败1011开始buffer1012buffer百分比1013停止buffer1014download速度

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openPlayer

打开播放器

openPlayer({params}, callback(ret, err))

params

rect:

  • 类型:JSON 对象
  • 描述:(必填项)模块的位置及尺寸
  • 备注:iOS,Android 必须传此参数。
  • 内部字段:
{
x: 0, //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: api.frameWidth, //(必填项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
h: api.frameHeight //(必填项)数字类型;模块的高度;默认值:所属的 Window 或 Frame 的高度
}

fixedOn:

  • 类型:字符串
  • 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window

fixed:

  • 类型:布尔
  • 描述:((可选项)模块是否随所属 Window 或 Frame 滚动
  • 默认值:true(不随之滚动)

playBuffer:

  • 类型:数字型
  • 描述:(可选项)设置播放端缓存数据 buffer,如不需 buffer, 设置为 0 。
  • 默认值:200

isLowLatency:

  • 类型:布尔
  • 描述:(可选项)针对类似于直播娃娃机等期待超低 延迟的使用场景,超低延迟播放模式下,延迟可达到 200~400ms;
  • 默认值:false(不开启)

isFastStartup:

  • 类型:布尔
  • 描述:(可选项)设置 快速启动后,如果 CDN 缓存 GOP,daniulive player 可快速出帧;
  • 默认值:true(秒开)

isMute:

  • 类型:布尔
  • 描述:(可选项)设置播放过程中,实时静音/取消静音;
  • 默认值:false(取消静音)

isHardwareDecoder:

  • 类型:布尔
  • 描述:(可选项)设置是否用硬解码播放,硬解码/软解码;
  • 默认值:false(软解)

url:

  • 类型:字符串
  • 描述:(必填项)支持 rtmp、rtsp地址类型(类型控制请开发者自行判断,模块不做地址限制判断逻辑);

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.openPlayer({
rect : {
x : 5,
y : 0,
w : api.frameWidth-5,
h : 200
},
playBuffer : 200, // 默认200ms
isLowLatency : false, //超低延时,默认fasle:不开启 true:开启
isFastStartup : true, // 是否秒开, 默认true:秒开 false:取消秒开
isMute : false, //是否静音 默认false:取消静音 true:静音
isHardwareDecoder : false, //是否硬解 默认false:软解 true:硬解
url : _deviceid ,
fixedOn : api.frameName,
fixed : true
}, function(ret, err) {
api.toast({ msg : " openPlayer " + JSON.stringify(ret) + " " + JSON.stringify(err) });
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hidePlayer

隐藏播放器

hidePlayer(callback(ret,err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.hidePlayer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showPlayer

显示播放器

hidePlayer(callback(ret,err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.showPlayer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closePlayer

关闭播放器

closePlayer(callback(ret,err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.closePlayer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchUrl

切换播放器视频地址 switchUrl({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:(必填项)支持 rtmp、rtsp地址类型(类型控制请开发者自行判断,模块不做地址限制判断逻辑);

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.switchUrl({
url : "http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8"
}, function(ret, err) {
api.toast({
msg : " switchUrl " + JSON.stringify(ret) + " " + JSON.stringify(err)
});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchMute

设置是否静音 switchMute({params}, callback(ret, err))

params

isMute:

  • 类型:布尔
  • 描述:(可选项)设置播放过程中,实时静音/取消静音;
  • 默认值:false(取消静音)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.switchMute({
isMute : true
}, function(ret, err) {
api.toast({
msg : " switchMute " + JSON.stringify(ret) + " " + JSON.stringify(err)
});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

saveImage

保存快照 saveImage(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.saveImage(function(ret, err) {
api.toast({
msg : " saveImage " + JSON.stringify(ret) + " " + JSON.stringify(err)
});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startRecorder

开始录像 startRecorder({params}, callback(ret, err))

params

fileMaxSize:

  • 类型:数字型
  • 描述:(可选项)设置每个录像文件最大 size, 以兆(M)为单位,范围(5M~500M);
  • 默认值:200

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.startRecorder();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopRecorder

停止录像 stopRecorder(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
status: true, //布尔型;true||false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
msg : ''
}

示例代码

var demo = api.require('daniuPlayer');
demo.stopRecorder();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

APICloud如何对接大牛直播SDK的更多相关文章

  1. 网易云直播SDK使用总结

    前言: 最近公司的项目中加入中直播这部分的功能,现在的直播平台真的很多很多,以前在朋友圈看到过这张图片,没办法一次性给大家看,就只能这样截成几张给大家看看.其实按照我自己的看法,现在的直播已经没办法做 ...

  2. 直播推流端弱网优化策略 | 直播 SDK 性能优化实践

    弱网优化的场景 网络直播行业经过一年多的快速发展,衍生出了各种各样的玩法.最早的网络直播是主播坐在 PC 前,安装好专业的直播设备(如摄像头和麦克风),然后才能开始直播.后来随着手机性能的提升和直播技 ...

  3. 手游录屏直播技术详解 | 直播 SDK 性能优化实践

    在上期<直播推流端弱网优化策略 >中,我们介绍了直播推流端是如何优化的.本期,将介绍手游直播中录屏的实现方式. 直播经过一年左右的快速发展,衍生出越来越丰富的业务形式,也覆盖越来越广的应用 ...

  4. cocos2d-x之jni使用(对接Android各种sdk)

    游戏弄完了,要发布到各个平台,ios.Android是肯定少不了的,那么本文就来讲讲Android平台对接代理商付费sdk.各渠道.五大运营商.广告.分享.数据统计等等少不了的jni调用,接sdk真是 ...

  5. Android 视频直播 SDK

    Android 视频直播 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...

  6. 视频直播SDK-ios版

    IOS视频直播接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x720,6 ...

  7. Android开发 对接微信分享SDK总结

    原文:Android开发 对接微信分享SDK总结 - Stars-One的杂货小窝 公司项目需要对接微信分享,本来之前准备对接友盟分享的,但友盟的分享实际参数太多,而我又只需要对接一个微信分享,于是便 ...

  8. 阿里云直播SDK - .NET

    阿里云sdk:https://develop.aliyun.com/sdk/csharp?spm=5176.doc27234.2.4.QiJb9l Github:https://github.com/ ...

  9. 记录一次对接XX支付SDK过程中报错问题

    我们支付平台以前我不做对接上游的,偶然间替别人做"对接了XX支付的相关接口的工作".在工作过程中发现SDK和对外提供服务过程中很容易出问题.在此做个记录,为了以后相关工作中作为自己 ...

随机推荐

  1. 2022年最强八股文《码出八股文-斩出offer线》

    宝剑锋从磨砺出,梅花香自苦寒来,大家好,我是小码哥 整理好的八股文终于完成了,希望看完对大家面试有所收获! 目录: 基础篇 javaOOP面试题 java集合/泛型面试题 java异常面试题 java ...

  2. BUUCTF-假如给我三天光明

    假如给我三天光明 打开压缩包可以看到一个海报,下方有盲文显示,通过对照表得知 盲文翻译为kmdonowg 通过盲文翻译得到的字符串解压压缩包得到一个音频文件 使用Audacity打开,看样子应该是摩斯 ...

  3. 修改jupyter notebook文件保存目录

    我们安装好jupyter notebook之后,打开的默认地址是在C盘,文件保存的文字也是C盘,会有其它乱七八糟的东西放一起,很不方便,所以可以换一个保存位置 1. 首先,在要存放文件的位置新建文件夹 ...

  4. 上线项目之局域网上线软件使用-----phpStudy

    上面的图片是phpStudy的软件截图.那么你在哪里会下到呢?链接: https://pan.baidu.com/s/1lvX9jY_K6gGkMOqo76p4nA 提取码: h1it 复制这段内容后 ...

  5. NC207040 丢手绢

    NC207040 丢手绢 题目 题目描述 "丢丢丢手绢,轻轻地放在小朋友的后面,大家不要告诉她,快点快点抓住她,快点快点抓住她." 牛客幼儿园的小朋友们围成了一个圆圈准备玩丢手绢的 ...

  6. tauri+vue开发小巧的跨OS桌面应用-股票体检

    最近打算写一个用于股票体检的软件,比如股权质押比过高的股票不合格,ROE小于10的股票不合格,PE大于80的股票不合格等等等等,就像给人做体检一样给股票做个体检.也实现了一些按照技术指标.基本面自动选 ...

  7. 图论学习笔记·$Floyd$ $Warshall$

    对于图论--虽然本蒟蒻也才入门--于是有了这篇学习笔记\(qwq\) 一般我们对于最短路的处理,本蒟蒻之前都是通过构建二维数组的方式然后对每两个点进行1次深度或者广度优先搜索,即一共进行\(n\)^2 ...

  8. Hippo4J v1.3.1 发布,增加 Netty 监控上报、SpringCloud Hystrix 线程池监控等特性

    文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.info Hippo4J v1.3.1 正式发布,本次发布增加了 Netty 上传动态线程池监控数据.适配 Hystr ...

  9. kubernetes之资源限制及QOS服务质量

    1.什么是资源限制? 1.1在kubernetes集群中,为了使得系统能够稳定的运行,通常会对Pod的资源使用量进行限制.在kubernetes集群中,如果有一个程序出现异常,并且占用大量的系统资源, ...

  10. 更换可执行文件glibc版本的某一次挣扎

    0x00:前言 在做pwn的堆题时,会遇到不同版本的glibc.为此我们会装不同版本的虚拟机去应对.一般来说会装Ubuntu16和Ubuntu18虚拟机,这两个系统对应的glibc版本差别较大,且较常 ...