分享

live-pusher(实时音视频录制)

 KyunraWang 2018-02-26

基础库 1.7.0 开始支持,低版本需做兼容处理

实时音视频录制。

需要用户授权 scope.camera、scope.record

暂只针对如下类目开放,需要先通过类目审核,再在小程序管理后台,“设置”-“接口设置”中自助开通该组件权限。

一级类目二级类目
社交直播
教育在线教育
医疗互联网医院,公立医院
政务民生所有二级类目
金融基金、信托、保险、银行、证券/期货、非金融机构自营小额贷款、征信业务、消费金融
属性名类型默认值说明最低版本
urlString推流地址。目前仅支持 flv, rtmp 格式
modeStringRTCSD(标清), HD(高清), FHD(超清), RTC(实时通话)
autopushBooleanfalse自动推流
mutedBooleanfalse是否静音
enable-cameraBooleantrue开启摄像头
auto-focusBooleantrue自动聚集
orientationStringverticalvertical,horizontal
beautyNumber0美颜
whitenessNumber0美白
aspectString9:16宽高比,可选值有 3:4, 9:16
min-bitrateNumber200最小码率
max-bitrateNumber1000最大码率
waiting-imageString进入后台时推流的等待画面
waiting-image-md5String等待画面资源的MD5值
background-muteBooleanfalse进入后台时是否静音
bindstatechangeEventHandle状态变化事件,detail = {code}
bindnetstatusEventHandle网络状态通知,detail = {info}1.9.0

注意:

  • 默认宽度为100%、无默认高度,请通过wxss设置宽高。
  • 开发者工具上暂不支持。
  • 相关api:wx.createLivePusherContext
状态码
代码说明
1001已经连接推流服务器
1002已经与服务器握手完毕,开始推流
1003打开摄像头成功
1004录屏启动成功
1005推流动态调整分辨率
1006推流动态调整码率
1007首帧画面采集完成
1008编码器启动
-1301打开摄像头失败
-1302打开麦克风失败
-1303视频编码失败
-1304音频编码失败
-1305不支持的视频分辨率
-1306不支持的音频采样率
-1307网络断连,且经多次重连抢救无效,更多重试请自行重启推流
-1308开始录屏失败,可能是被用户拒绝
-1309录屏失败,不支持的Android系统版本,需要5.0以上的系统
-1310录屏被其他应用打断了
-1311Android Mic打开成功,但是录不到音频数据
-1312录屏动态切横竖屏失败
1101网络状况不佳:上行带宽太小,上传数据受阻
1102网络断连, 已启动自动重连
1103硬编码启动失败,采用软编码
1104视频编码失败
1105新美颜软编码启动失败,采用老的软编码
1106新美颜软编码启动失败,采用老的软编码
3001RTMP -DNS解析失败
3002RTMP服务器连接失败
3003RTMP服务器握手失败
3004RTMP服务器主动断开,请检查推流地址的合法性或防盗链有效期
3005RTMP 读/写失败
网络状态数据
键名说明
videoBitrate当前视频编/码器输出的比特率,单位 kbps
audioBitrate当前音频编/码器输出的比特率,单位 kbps
videoFPS当前视频帧率
videoGOP当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s
netSpeed当前的发送/接收速度
netJitter网络抖动情况,抖动越大,网络越不稳定
videoWidth视频画面的宽度
videoHeight视频画面的高度

示例代码:

<live-pusher url='https://domain/push_stream' mode='RTC' autopush bindstatechange='statechange' style='width: 300px; height: 225px;' />
Page({ statechange(e) { console.log('live-pusher code:', e.detail.code) }})
Bug & Tip
  1. tip: live-pusher 组件是由客户端创建的原生组件,它的层级是最高的,不能通过 z-index 控制层级。可使用 cover-view cover-image覆盖在上面。
  2. tip: 请勿在 scroll-viewswiperpicker-viewmovable-view 中使用 live-pusher 组件。
  3. tip: css 动画对 live-pusher 组件无效。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多