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

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

相关接口如下:

daniuPlayer 模块概述

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

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

模块接口

addPlayerListener

播放器监听

addPlayerListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{code: 1001,   //状态码(含义见下表:)param1 : '',//返回参数1param2 : '',//返回参数2param3 : '',//返回参数3param4 : '',//返回参数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 快速切换url
1010 快照成功/失败
1011 开始buffer
1012 buffer百分比
1013 停止buffer
1014 download速度

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openPlayer

打开播放器

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

params

rect:

  • 类型:JSON 对象
  • 描述:(必填项)模块的位置及尺寸
  • 备注:iOS,Android 必须传此参数。
  • 内部字段:
{x: 0,   //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0y: 0,   //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0w: 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, // 默认200msisLowLatency : 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. Android大疆无人机对接大牛直播sdk视频H.264码推流

    前期准备 1:app/src/main下建立JniLibs文件包 复制大牛工程的so包以及jar包 jar包右键导入项目出现'>' 2:java下建立com.daniulive.smartpub ...

  2. 一张图了解大牛直播SDK

    来源: https://github.com/daniulive/SmarterStreaming

  3. 大牛直播跨平台RTSP/RTMP转RTMP转发SDK 1

    一个好的转发模块,首先要低延迟!其次足够稳定.灵活,如果可以跨平台,还能以SDK形式提供,会给开发者提供更大的便利! 大牛直播SDK转发模块全面支持Windows.Android和iOS平台. 我们不 ...

  4. 大牛直播SDK-Windows推送端使用说明 1

    由于大牛直播SDK Demo主要侧重于SDK接口展示,庞大的功能让好多使用者望而却步,以下是Windows推送端SDK简单的介绍: 大牛直播SDK推送端提供C++/C#两套接口,对外提供32/64位库 ...

  5. 直播系统开发之ios对接腾讯云直播sdk

    这里是使用 Swift 语言编写对接腾讯云直播 SDK 的 demo 的示例代码.这段代码仅作为参考,实际应用中可能需要根据您的具体需求进行修改. 首先,你需要从腾讯云控制台获取 SDK 的 AppI ...

  6. iOS 腾讯云移动直播SDK对接(一)

    在考虑自己的需求是不是合适腾讯直播的时候,可以先注册一个腾讯云账号,在腾讯云产品中选择云直播,开通服务并进入云直播产品控制台,新用户免费赠送20G的测试流量,可以让你测试是否适合使用. 正式使用流程: ...

  7. EasyGBS对接宇视SDK,多次点击录像回放出现崩溃是什么原因?

    EasyGBS国标视频云服务可支持通过国标GB28181协议将设备接入,实现视频的实时监控直播.录像.语音对讲.云存储.告警.级联等功能,同时也支持将接入的视频流进行全终端.全平台分发,分发的视频流包 ...

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

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

  9. 腾讯云互动直播SDK集成综述

    SDK构成 互动直播SDK由两部分构成,IMSDK和AVSDK 其中IMSDK为云通信SDK,为AVSDK提供账号登录.信令通道.IM弹幕消息.日志模块.日志上报等功能 AVSDK提供摄像头采集.编码 ...

  10. java对接大华SDK摄像头监控

    java对接大华SDK摄像头监控 SDK对接 java对接大华SDK摄像头监控 前言 获取SDK 配置环境变量 拉取实时监控数据 补充 前言 小编在接到对接大华摄像头实时监控在网页显示直播视频,先是在 ...

最新文章

  1. Science:最新发现哈希可能是大脑的通用计算原理!
  2. 魔术方法php,PHP中常用的魔术方法
  3. python import 路径_Python 从相对路径下import的方法
  4. SHA-1退休:数千万用户通向加密网站之路被阻
  5. mysql 提交修改_MySQL客户端、服务器端工具、sql_mode、存储引擎修改、事务的提交和回滚、隔离级别...
  6. android 内存溢出检查,Android Handler使用导致内存溢出附带LeakCanary排查
  7. 考会计中级职称能用计算机,2019年中级会计职称计算机考试操作常见问题答疑...
  8. telnet的基本配置(cisco、H3C、huawei 三个例子)
  9. VBA学习_3:对象、集合及对象的属性和方法
  10. HR人力资源系统软件价格?哪家HR人力管理系统好
  11. 由一些公司的笔试题目想到的---模拟电路,数字电路最基本应该知道哪些
  12. SSM+汽车销售平台 毕业设计-附源码171619
  13. 物联网技术在智慧城市建设应用中的难点与疑点
  14. 职能部门绩效考核指标设置
  15. mysql的用户名迁移SCHEMA_数据库实时转移之Confluent环境搭建(二)
  16. python +appium实现原理_Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)...
  17. 图文电视related
  18. 播放res/raw文件(MP4)
  19. 百度携手华为麒麟深度合作,李彦宏现场被泼水称AI发展总有曲折 | 百度开发者大会
  20. chrome 谷歌浏览器模拟各种手机设置userAgent

热门文章

  1. 【工具推荐】Adobe Reader 设置高亮颜色及深浅
  2. 无限网卡不能启动WZC服务的解决方案
  3. 记一次Android机顶盒破解工程
  4. ubuntu 扫描局域网ip
  5. 视频编辑专家下载v9.3官方免费版
  6. Linux——进程间通信(管道)
  7. [转]“新欢乐时光”病毒源代码分析
  8. Internet Explorer 无法打开搜索页
  9. Ubuntu系统镜像下载网站
  10. 量子计算机与仿生论文,有关量子力学的论文