多机位直播案例
目录
1、案例简述
2、设备准备:
(1)笔记本电脑
(2)手机
(3)触控一体机
(4)教室前端监控摄像机
(5)教室后端监控摄像机
(6)教师收音
(7)网络支持
3、设备连接:
(1)加入教师授课桌面NDI信号:
(2)加入手机SRT摄像机信号:
(3)教师监控RTSP信号:
4、直播推流:
5、最后的几点说明
(1)手机自动跟随稳定器
(2)监控摄像机
(3)传统摄像机
(4)专用摄像机
(5)无线网络
(6)通讯的协议
之前的几篇文章,介绍了导播/直播软件的流媒体接入协议【查看专辑】,本文拟用一个案例,说明各种协议的选择及使用方法。具体详细做法还请参考以前的文章。
1、案例简述
直播内容:课堂授课
直播地点:教室
场地设备:黑板+平板触控一体机(含OPS电脑)+前后摄像机+教室无线覆盖
直播设备:笔记本电脑+手机+校园直播服务器
2、设备准备:
(1)笔记本电脑
负责导播及推流到服务器,安装OBS软件、NDI-Tools、OBS的NDI插件、VLC等软件。VLC负责验证拉流播放,NDI负责接入教室授课电脑(OPS)画面。软件安装详见《OBS直播软件使用NDI协议输入输出》

(2)手机
配合云台稳定器负责跟随教师拍摄(原生跟随模块),安装SRT摄像机APP,详见《在直播系统中使用SRT协议传输视频》

(3)触控一体机
使用其内置OPS电脑,安装vMix Desktop Capture,详见《vMix导播软件使用NDI协议输入输出》负责将教师课件传输到导播系统中。
(4)教室前端监控摄像机
负责学生场景拍摄,受用RTSP与导播系统连接,详见《vMix导播软件使用NDI协议输入输出》
(5)教室后端监控摄像机
负责整个全景拍摄,也采用RTSP方式连接。
(6)教师收音
采用“小蜜蜂”,教师夹在领口,与手机做无线蓝牙连接。学生收音使用监控摄像机内置麦克风(登陆摄像机后台,做消噪处理)
(7)网络支持
笔记本电脑、手机通过无线AP,与OPS电脑、摄像头互联。
3、设备连接:
(1)加入教师授课桌面NDI信号:
启动OBS→新建场景→在场景中添加源→寻找手机的NDI源→确定→调整在场景中的位置


(2)加入手机SRT摄像机信号:
手机启动LarixBroadcasterAPP→设置→连接→新连接→连接名、URL(srt://127.0.0.1:9001)、mode:(Listener)→选中这个链接→返回主界面→点击开始摄像【详见】

笔记本电脑启动OBS→新建场景→新建媒体源→输入srt://192.168.0.100:9001?mode=caller,注意IP地址是手机的IP

(3)教师监控RTSP信号:
启动OBS→新建场景→在“来源”中添加“VLC”视频源→播放列表中添加“路径/URL”
rtsp://admin:admin12345@192.168.10.199:554/h264/ch1/main/av_stream
rtsp://admin:admin12345@192.168.10.200:554/h264/ch1/main/av_stream

4、直播推流:
安装CentOS→安装SRS流媒体服务器(过程略)
启动OBS→设置→直播→服务:自定义……→填写流媒体IP地址、路径、推流码→确定返回→开始录像→开始直播


5、最后的几点说明
(1)手机自动跟随稳定器
必须选择外置跟拍硬件模块,不能使用稳定器APP内的AI软件识别,因为我们需要用支持传输协议(NDI、SRT、RTSP)的特殊APP摄像机。
(2)监控摄像机
是因地制宜的选用,如果不具备条件,可以多增加手机机位。
(3)传统摄像机
可以安照输出接口(HDMI、SDI)选配编码器(推流盒子),很多编码都支持RTMP、RTSP、SRT、NDI协议,还具备wifi或4G/5G网络。注意NDI协议需要额外收权费,采购是需要确认报价中是否包含NDI授权费,否则有30分使用限制。

(4)专用摄像机
如果资金允许,可以选择用会议专用摄像机,很多摄像机均支持上述协议。

(5)无线网络
尽量使用企业级产品,支持多用户密集接入(平板教学场景),支持2.4G/5G信号。

(6)通讯的协议
除了根据硬件选择外,还可以根据协议特性选择。如:RTSP延迟小,监控设备多支持;NDI图像质量高,有延迟;SRT支持互联网传输,延迟低。
相关文章:
多机位直播案例
目录 1、案例简述 2、设备准备: (1)笔记本电脑 (2)手机 (3)触控一体机 (4)教室前端监控摄像机 (5)教室后端监控摄像机 (6&…...
前沿重器[37] | 大模型对任务型对话的作用研究
前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…...
第三章:boundary-value analysis
文章目录 Boundary-value Analysiscomputational faults 计算错误boundary shift 边界偏移boundary value analysis 的优势Path condition, domain, and domain boundary (路径条件、域和域边界)Open and closed boundaries (闭合边界 / 开放边界)on / off pointGuidelinestr…...
Python模块psutil:系统进程管理与Selenium效率提升的完美结合
前言 在前面编写一个Selenium的自动化程序时候,发现一个问题。 因笔记本配置较为差,所以每次初始化Selenium的WebDriver都会非常慢,整个等待过程是不友好的。 所以我就想到: 在程序中初始化一个全局的WebDriver对象,…...
glibc 里的线程 id
这里讲的是通过 pthread_create() 函数返回的线程 id,其实就是 glibc 库里维护的线程id,它跟内核维护的线程 id 不一样,pthread_create() 返回的线程 id 并不一定是唯一的。我们看 pthread_create 函数的源码,它最后返回的线程 id…...
nacos的部署与配置中心
文章目录 一、nacos部署安装的方式单机模式:集群模式:多集群模式: 二、安装的步骤1、预备环境准备2、载安装包以及安装2.1、Nacos有以下两种安装方式:2.2、更换数据源数据源切换为MySQL 2.3、开启控制台授权登录(可选) 3、配置中心的使用3.1、创建配置信…...
undefined 与 undeclared 的区别?
在 JavaScript 中,undefined 和 undeclared 是两个不同的概念,表示不同的情况: 1:undefined: undefined 是一个特殊的值,表示一个变量已经被声明,但尚未被赋予一个值。当一个变量被声明但未进…...
Leetcode周赛370补题(3 / 3)
目录 1、找到冠军 Ⅰ- 暴力 2、找到冠军 Ⅱ - 寻找入度为0的点 3、在树上执行操作以后得到的最大分数 - dfs树 逆向思考 1、找到冠军 Ⅰ- 暴力 100115. 找到冠军 I class Solution {public int findChampion(int[][] g) {int ng.length;for(int i0;i<n;i){int cnt0;for…...
PyTorch深度学习实战——图像着色
PyTorch深度学习实战——图像着色 0. 前言1. 模型与数据集分析1.1 数据集介绍1.2 模型策略 2. 实现图像着色相关链接 0. 前言 图像着色指的是将黑白或灰度图像转换为彩色图像的过程,传统的图像处理技术通常基于直方图匹配和颜色传递的方法或基于用户交互的方法等完…...
InfiniBand 的前世今生
今年,以 ChatGPT 为代表的 AI 大模型强势崛起,而 ChatGPT 所使用的网络,正是 InfiniBand,这也让 InfiniBand 大火了起来。那么,到底什么是 InfiniBand 呢?下面,我们就来带你深入了解 InfiniBand…...
分享一下微信小程序里怎么添加社区团购功能
随着互联网的快速发展,线上购物已经成为我们日常生活的一部分。而在这个数字化时代,微信小程序作为一种便捷的电商渠道,正逐渐成为新的趋势。其中,社区团购功能更是受到广大用户的热烈欢迎。本文将探讨如何在微信小程序中添加社区…...
软考高项-IT部分
信息化体系 信息化技术应用:龙头 信息资源:核心任务 信息网络:应用基础 信息技术和产业:建设基础 信息化人才:成功之本 信息化法规:保障 信息化趋势 产业信息化、产品信息化、社会生活信息化、国民经济信息化 新型基础设施建设 2018年召开的中央经济工作会议,首…...
hugetlb核心组件
1 概述 hugetlb机制是一种使用大页的方法,与THP(transparent huge page)是两种完全不同的机制,它需要: 管理员通过系统接口reserve一定量的大页,用户通过hugetlbfs申请使用大页, 核心组件如下图: 围绕着…...
vscode配置环境变量
首先点击下面这个链接。 sMinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net 然后选择Files这个选项 向下移选择下载这个文件 解压完成之后,找到这个文件的bin目录复制路径后,添加到环境变量中 依次点击后打开cmd࿰…...
react:封装组件
封装 /components/Pagination.tsx import React from react import { Pagination } from antdconst PaginationWarp ({ total, paramsInfo, setParamsInfo }) > {return (<Paginationtotal{total}current{paramsInfo.page}showSizeChangershowQuickJumperdefaultPageSi…...
基于深度学习的视频多目标跟踪实现 计算机竞赛
文章目录 1 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的视频多目标跟踪实现 …...
linux中各种最新网卡2.5G网卡驱动,不同型号的网卡需要不同的驱动,整合各种网卡驱动,包括有线网卡、无线网卡、Wi-Fi热点
linux中各种最新网卡2.5G网卡驱动,不同型号的网卡需要不同的驱动,整合各种网卡驱动,包括有线网卡、无线网卡、自动安装Wi-Fi热点。 最近在做路由器二次开发,现在市面上卖的新设备,大多数都采用了2.5G网卡,…...
asp.net上传文件
第一种方法 前端: <div> 单文件上传 <form enctype"multipart/form-data" method"post" action"upload.aspx"> <input type"file" name"files" /> …...
JavaEE平台技术——预备知识(Web、Sevlet、Tomcat)
JavaEE平台技术——预备知识(Web、Sevlet、Tomcat) 1. Web基础知识2. Servlet3. Tomcat并发原理 1. Web基础知识 🆒🆒上个CSDN我们讲的是JavaEE的这个渊源,实际上讲了两个小时的历史课,给大家梳理了一下&a…...
基础课23——设计客服机器人
根据调查数据显示,使用纯机器人完全替代客服的情况并不常见,人机结合模式的使用更为普遍。在这两种模式中,不满意用户的占比都非常低,不到1%。然而,在满意用户方面,人机结合模式的用户满意度明显高于其他模…...
Chrome for Testing 终极配置指南:5个实战技巧让浏览器自动化测试更高效
Chrome for Testing 终极配置指南:5个实战技巧让浏览器自动化测试更高效 【免费下载链接】chrome-for-testing 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-for-testing Chrome for Testing 是 GoogleChromeLabs 团队专门为浏览器自动化测试设计的…...
U8/修改采购入库单辅计量单位
SELECT cAssUnit,Inventory.cSTComUnitCode,* --UPDATE rdrecords01 SET cAssUnit Inventory.cSTComUnitCode FROM rdrecords01 LEFT JOIN Inventory ON rdrecords01.cInvCode Inventory.cInvCode...
1.3 装饰器与上下文管理器
📘 第一阶段 1.3 装饰器与上下文管理器学习目标:彻底掌握 Python 中用于代码复用和资源管理的高级特性,理解它们在 FastAPI 中的底层应用。 预计用时:2 天(每天约 3 小时) 重要程度:⭐⭐⭐⭐&a…...
万象视界灵坛实战教程:构建语义搜索API供前端React/Vue应用调用
万象视界灵坛实战教程:构建语义搜索API供前端React/Vue应用调用 1. 项目概述与核心价值 万象视界灵坛是一款基于OpenAI CLIP模型的高级多模态智能感知平台,它将复杂的语义对齐技术转化为直观的视觉体验。本教程将指导开发者如何将其强大的语义搜索能力…...
MJh代码混淆实战指南:使用Obfuscar构建坚不可摧的安全防线
在当今数字化时代,保护.NET应用程序的源代码安全变得尤为重要。你是否担心自己的知识产权被轻易窃取?是否希望防止竞争对手通过反编译分析你的核心业务逻辑?今天,我将为你详细介绍一款强大的开源混淆工具——Obfuscar,…...
Teensy USB主机协议栈USBHost_t36深度解析
1. USBHost_t36:面向 Teensy 3.6 与 Teensy 4.x 的嵌入式 USB 主机协议栈深度解析 USB 主机功能在嵌入式系统中长期处于“高门槛、低普及”状态。传统 MCU 往往缺乏专用 USB OTG 控制器,或需依赖复杂 BSP 与庞大中间件(如 USBX、LUFA Host St…...
MindSpore 环境配置完全指南
1 安装与初始化 # 全局安装 OpenSpec npm install -g fission-ai/openspeclatest # 在项目目录下初始化 cd /path/to/your-project openspec init 初始化时,OpenSpec 会提示你选择使用的 AI 工具(Claude Code、Cursor、Trae、Qoder 等)。 3 O…...
实战演练:基于快马AI快速构建竞品价格监控爬虫系统
今天想和大家分享一个非常实用的爬虫实战项目——竞品价格监控系统。这个系统可以帮助我们实时跟踪不同电商平台上同类产品的价格变化,对于市场调研、价格策略制定都很有帮助。下面我会详细介绍整个实现过程,以及我在使用InsCode(快马)平台时的一些体验。…...
CasRel关系抽取完整流程:从原始文本清洗、NER预处理到SPO抽取
CasRel关系抽取完整流程:从原始文本清洗、NER预处理到SPO抽取 1. 什么是CasRel关系抽取? CasRel(Cascade Binary Tagging Framework)是一个专门从文本中自动提取"谁-做了什么-对谁"这种关系信息的AI模型。想象一下&am…...
Swift-All部署教程:快速搭建多模型推理与微调环境
Swift-All部署教程:快速搭建多模型推理与微调环境 1. 从零开始:为什么你需要Swift-All? 如果你正在研究大模型,或者想把大模型用在实际项目里,大概率会遇到这几个头疼的问题: 模型太多,下载太…...
