今天实现一下直播推流和拉流。服务器端使用opencloudos8系统。顺便把我之前写的小系统弄上去跑跑,搭建个git服务器,使用ssh协议,密钥方式。
先展示一下在iphone上推流效果图
再展示下在谷歌浏览器上的拉流效果图,safari浏览器和微信浏览器效果都是差不多
再展示下在百度小程序上的拉流效果图
实现推流,新建uniapp项目,命名为app,为何要新建uniapp项目啊,不想写条件编译,单独出负责app模块更加清晰。新建live-pusher.nvue,同时弄个同名文件夹。在index.vue里面写个跳转
<navigator url="live-pusher/live-pusher" hover-class="navigator-hover">
<button type="default">实时音视频录制</button>
</navigator>
在live-pusher.nvue里面编写
<template>
<view>
<live-pusher id='livePusher' ref="livePusher" class="livePusher" url="这里填写服务器访问地址"
mode="SD" :muted="false" :enable-camera="true" :auto-focus="true"
aspect="9:16" @statechange="statechange" @netstatus="netstatus" @error = "error"
></live-pusher>
<button class="btn" @click="start">开始推流</button>
<button class="btn" @click="pause">暂停推流</button>
<button class="btn" @click="resume">resume</button>
<button class="btn" @click="stop">停止推流</button>
<button class="btn" @click="snapshot">快照</button>
<button class="btn" @click="startPreview">开启摄像头预览</button>
<button class="btn" @click="stopPreview">关闭摄像头预览</button>
<button class="btn" @click="switchCamera">切换摄像头</button>
</view>
</template>
<script>
export default {
data() {