当前位置: 首页 > news >正文

浏览器端直播推流实现——系统篇

        浏览器端用vue3.5.12写,服务器端用php8.2+swoole5.1.4+thinkphp8写,流媒体服务器使用nginx-rtmp模块,拉流App端用uniapp(其他端各自实现吧,这里以App端为例)

        操作系统基于opencloudos8,还用到了ffmpeg,该安装就安装,这里不啰嗦安装步骤

        以下是vue的代码,比较简陋,各自整理

<template>
  <div>
    <video ref="videoElement" autoplay></video>
  </div>
  <div>
      <button @click="startMediaStream">开始获取媒体流</button>
    </div>
</template>
 
<script setup>
import { ref, onMounted, onUnmounted  } from 'vue';
 
const videoElement = ref(null);
const ws = ref(null);
const localStream = ref(null);
 
onMounted( () => {
    ws.value = new WebSocket('ws://192.168.0.113:9502');
      ws.value.onopen = function(event) {
        console.log('WebSocket 连接已打开', event);
      };
      ws.value.onerror = function(error) {
        console.log('WebSocket 出错', error);
      };
      ws.value.onmessage = function(event) {
          console.log('收到消息', event.data);
          // 处理接收到的数据
        };
    ws.value.onclose = function(event) {
        console.log('WebSocket 连接已关闭', event);
      };
  
});

function startMediaStream() {
  navigator.mediaDevices.getUserMedia({ audio: true, video: true })
    .then(function(stream) {
      localStream.value = stream;
            // 将音视频流发送到服务器(通过WebSocket)
            startSendingStream();
            
            if ("srcObject" in videoElement.value) {
              videoElement.value.srcObject = stream;
        

相关文章:

浏览器端直播推流实现——系统篇

浏览器端用vue3.5.12写,服务器端用php8.2+swoole5.1.4+thinkphp8写,流媒体服务器使用nginx-rtmp模块,拉流App端用uniapp(其他端各自实现吧,这里以App端为例) 操作系统基于opencloudos8,还用到了ffmpeg,该安装就安装,这里不啰嗦安装步骤 以下是vue的代码,比较简陋,各…...

HDFS和HBase跨集群数据迁移 源码

HDFS集群间数据迁移&#xff08;hadoop distcp&#xff09; hadoop distcp \ -pb \ hdfs://XX.14.36.205:8020/user/hive/warehouse/dp_fk_tmp.db/ph_cash_order \ hdfs://XX.18.32.21:8020/user/hive/warehouse/dp_fksx_mart.db/HBase集群间数据&#xff08;hbase ExportSnap…...

opencv实时弯道检测

项目源码获取方式见文章末尾&#xff01; 600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…...

计算机网络综合题

IP数据报的划分 CRC差错检测 冗余码的计算 因此&#xff0c;余数是1110&#xff0c;传输的数为11010110111110。在传输过程中最后两位变成o&#xff0c;接收端能够发现&#xff0c;因为11010110111110除以10011余数不为0。 子网划分 暴力求解法 &#xff08;定长子网划分大量…...

【ARM Linux 系统稳定性分析入门及渐进 1.2 -- Crash 工具依赖内容】

请阅读:【Linux 维测及Crash使用专栏】 文章目录 Prerequisites1. 内核对象文件2. 内存镜像3. 平台处理器类型4. Linux 内核版本 Prerequisites crash 工具需要依赖下面的内容&#xff1a; 1. 内核对象文件 vmlinux 文件&#xff1a;需要一个 vmlinux 内核对象文件&#xff…...

「C/C++」C++标准库 之 #include<exception> 异常处理库

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...

YOLOv7-0.1部分代码阅读笔记-experimental.py

experimental.py models\experimental.py 目录 experimental.py 1.所需的库和模块 2.class CrossConv(nn.Module): 3.class Sum(nn.Module): 4.class MixConv2d(nn.Module): 5.class Ensemble(nn.ModuleList): 6.def attempt_load(weights, map_locationNone): 1…...

【大数据学习 | kafka】简述kafka的消费者consumer

1. 消费者的结构 能够在kafka中拉取数据进行消费的组件或者程序都叫做消费者。 这里面要涉及到一个动作叫做拉取。 首先我们要知道kafka这个消息队列主要的功能就是起到缓冲的作用&#xff0c;比如flume采集数据然后交给spark或者flink进行计算分析&#xff0c;但是flume采用的…...

系统架构设计师论文:论湖仓一体架构及其应用

试题四 论湖仓一体架构及其应用 随着5G、大数据、人工智能、物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多样性的特点,特别是非结构化数据呈现出爆发式增长趋势。在这一背景下,企业数据管理不再局限于传统的结构化 OLTP (On-Line Transact…...

电磁兼容(EMC):GB 4343.1喀呖声 详解

目录 1. 喀呖声的危害 2. 喀呖声 Click定义 3. 中频参考电平 4. 开关操作 5. 最小观察时间 6. 喀呖声率 7. 喀呖声限值 8. 上四分位法 1. 喀呖声的危害 喀呖声作为一种电压骚扰&#xff0c;其危害主要体现在以下几个方面&#xff1a; 对电子设备的干扰&#xff1a;喀呖…...

纯血鸿蒙Native层支持说明

本文所有描述均参考鸿蒙官方文档&#xff1a;传送门 1.对C库的支持 C标准函数库在C语言程序设计中&#xff0c;提供符合标准的头文件&#xff0c;以及常用的库函数实现&#xff08;如I/O输入输出和字符串控制&#xff09;。 HarmonyOS采用musl作为C标准库&#xff0c;musl库…...

learn C++ NO.31——类型转换

C语言中的类型转换 在C语言中&#xff0c;当赋值符号两边的类型不匹配的时候&#xff0c;或者是形参类型和实参类型不匹配时&#xff0c;返回值类型与接受返回值类型不匹配时&#xff0c;都会需要类型转换。C语言的类型转换有两种&#xff1a;显示类型转换和隐式类型转换。 显…...

重学 Android 自定义 View 系列(三):自定义步数进度条

前言 本篇文章主要是实现仿QQ步数View&#xff0c;很老的一个View了&#xff0c;但技术永不落后&#xff0c;开搂&#xff01; 最终效果如下&#xff1a; 1. 结构分析 QQStepView 主要由三个元素组成&#xff1a; 显示一个圆环进度条&#xff0c;通过外环和内环的角度变化来…...

海南华志亿星电子商务有限公司赋能抖音商家成长

在当今瞬息万变的电商时代&#xff0c;抖音凭借其短视频与直播电商的独特模式&#xff0c;迅速崛起并引领潮流。在这场电商变革中&#xff0c;海南华志亿星电子商务有限公司以其卓越的服务质量和创新的运营模式&#xff0c;在抖音电商领域大放异彩&#xff0c;成为众多商家的首…...

数据结构-并查集专题(1)

一、前言 因为要开始准备年底的校赛和明年年初的ACM、蓝桥杯、天梯赛&#xff0c;于是开始按专题梳理一下对应的知识点&#xff0c;先从简单入门又值得记录的内容开始&#xff0c;并查集首当其冲。 二、我的模板 虽然说是借用了jiangly鸽鸽的板子&#xff0c;但是自己也小做…...

共享汽车管理新纪元:SpringBoot框架应用

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…...

道可云人工智能元宇宙每日资讯|《中国生成式人工智能应用与实践展望》白皮书发布

道可云元宇宙每日简报&#xff08;2024年11月6日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 《重庆市“机器人”应用行动计划&#xff08;2024—2027年&#xff09;》发布 近日&#xff0c;重庆市经济和信息化委员会、重庆市教育委员会等八部门印发《重庆市“…...

kaggle学习 eloData项目(1)-数据校验

文章目录 kaggle学习 eloData项目&#xff08;1&#xff09;-数据校验&#xff08;1&#xff09; 数据基本情况查看&#xff08;2&#xff09; 数据校验&#xff08;3&#xff09; 数据探究 小结 kaggle学习 eloData项目&#xff08;1&#xff09;-数据校验 不能懈怠&#xff0…...

ORACLE RAC用DNS服务器的配置

一、搭建本地YUM源 二、安装DNS全部组建 yum -y install bind* 三、规划您RAC集群所有IP #public 192.168.16.111 rac1.ntt.com rac1 192.168.16.112 rac2.ntt.com rac2 192.168.16.121 rac3.ntt.com rac3 192.168.16.122 rac4.ntt.com rac4 #private 10.10.10.111 rac1-pr…...

vue3 + vite 实现版本更新检查(检测到版本更新时提醒用户刷新页面)

背景 当一个页面很久没刷新&#xff0c;又突然点到页面。由于一些文件是因为动态加载的&#xff0c;当重编后&#xff08;如前后端发版后&#xff09;&#xff0c;这些文件会发生变化&#xff0c;就会出现加载不到的情况。进而导致正在使用的用户&#xff0c;点击页面发现加载…...

聊天记录全方位管理:WeChatMsg革新性本地数据解决方案

聊天记录全方位管理&#xff1a;WeChatMsg革新性本地数据解决方案 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…...

生物信息学新手必看:BBmap比对工具从安装到实战全流程指南

生物信息学新手必看&#xff1a;BBmap比对工具从安装到实战全流程指南 第一次接触生物信息学数据分析时&#xff0c;面对海量的测序数据往往会感到无从下手。比对工具的选择尤为关键——既要保证准确性&#xff0c;又要兼顾效率。BBmap作为BBTools套件中的核心工具&#xff0c;…...

J-Flash烧录KEA128芯片全流程指南(附常见错误排查)

J-Flash烧录KEA128芯片全流程指南&#xff08;附常见错误排查&#xff09; 对于嵌入式开发工程师来说&#xff0c;掌握可靠的烧录工具是基本功。J-Flash作为SEGGER公司推出的专业烧录软件&#xff0c;以其稳定性和广泛的芯片支持著称。本文将带你从零开始&#xff0c;手把手完成…...

全栈实战应用:基于快马AI快速构建带投稿审稿系统的《构石》期刊官网

全栈实战应用&#xff1a;基于快马AI快速构建带投稿审稿系统的《构石》期刊官网 最近接手了一个学术期刊官网的开发需求&#xff0c;需要实现完整的在线投稿和审稿流程。这个项目涉及前后端联调和数据库设计&#xff0c;正好可以试试用InsCode(快马)平台来快速搭建原型。下面分…...

Boss-Key:重新定义窗口隐私管理的智能办公伴侣

Boss-Key&#xff1a;重新定义窗口隐私管理的智能办公伴侣 【免费下载链接】Boss-Key 老板来了&#xff1f;快用Boss-Key老板键一键隐藏静音当前窗口&#xff01;上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 在数字化办公时代&#xff0c;窗…...

实战演练:基于Spring Boot的个人博客系统,用快马AI一键生成完整后端代码

最近在尝试搭建一个个人博客系统&#xff0c;正好用Spring Boot练练手。作为一个Java开发者&#xff0c;我发现用InsCode(快马)平台可以快速生成完整的后端代码&#xff0c;省去了很多重复劳动。下面分享下我的实战经验&#xff1a; 项目初始化 首先明确需求&#xff0c;博客系…...

为什么 CFO 总在年底为固定资产失眠?一位 IT 运维的亲历复盘

上个月&#xff0c;我作为外部顾问&#xff0c;去一家年营收5亿的科技公司做系统健康检查。刚进机房&#xff0c;IT主管就苦笑&#xff1a;“我们的 ERP 里有 1200 台设备&#xff0c;但仓库扫码只扫出 780 台——剩下的&#xff0c;要么‘失踪’&#xff0c;要么重复录入了三次…...

GLM-OCR计算机视觉基石:理解其背后的计算机网络通信

GLM-OCR计算机视觉基石&#xff1a;理解其背后的计算机网络通信 你是不是也遇到过这种情况&#xff1a;本地跑GLM-OCR模型好好的&#xff0c;一部署到服务器上&#xff0c;调用就变得时快时慢&#xff0c;偶尔还来个超时错误&#xff1f;看着日志里那些“连接失败”、“请求超…...

PHP 中的文件读写与上传

PHP 中的文件读写与上传 判断与信息获取 判断文件函数说明返回值file_exists($path)判断文件或目录是否存在boolis_file($path)判断是否是文件boolis_dir($path)判断是否是目录boolis_readable($path)判断是否可读boolis_writable($path)判断是否可写bool<?php $file ./co…...

DAMOYOLO-S惊艳效果:低分辨率监控截图中识别车牌区域与行人姿态

DAMOYOLO-S惊艳效果&#xff1a;低分辨率监控截图中识别车牌区域与行人姿态 你有没有遇到过这样的场景&#xff1f;从一段模糊的监控录像里截了一张图&#xff0c;想看清车牌号码&#xff0c;但画面糊得跟打了马赛克一样。或者&#xff0c;想分析一下画面里行人的姿态&#xf…...