【新知实验室 基于WEB的实时音视频(TRTC)案例搭建】

news2024/12/22 0:14:22

文章目录

  • 1. 实时音视频(TRTC)
    • 1.1 实时音视频(TRTC)概述
    • 1.2 实时音视频(TRTC)功能集成
      • 1.2.1 含 UI 组件集成方案
      • 1.2.2 无 UI 组件集成方案
    • 1.3 实时音视频(TRTC)架构
  • 2. 使用体验
    • 2.1 注册腾讯云
    • 2.2 申请实时音视频(TRTC)应用
    • 2.3 下载SDK的Demo源码
    • 2.4 获取 SDKAppId 和 密钥(SecretKey)
  • 3. 创建自己的会议室应用
    • 3.1 参考快速上手
    • 3.2 下面开始模拟复现快速上手
      • 3.2.1 找到鉴权文件
      • 3.2.2 填写自己的SDKAppId 和 密钥(SecretKey)
      • 3.2.3 基于base代码测试
        • 1.打开工程
        • 2. 开始测试
        • 3. 进入房间
        • 4. 重新打开一个然后进入房间
        • 5. 同时进入会议室后的效果
  • 4. 本地基于flask运行会议室应用
    • 4.1 环境创建
    • 4.2 配置trtc文件
    • 4.3 运行
    • 4.4 flask总结
  • 5. 总结

1. 实时音视频(TRTC)

1.1 实时音视频(TRTC)概述

实时音视频(TRTC) 是腾讯云提供的一套低延时、高质量的音视频通讯服务,致力于为腾讯云客户提供稳定、可靠和低成本的音视频传输能力。您可以使用该服务快速构建“视频通话”、“在线教育”、“直播连麦”、“在线会议”等对通信延时要求比较苛刻的音视频应用。
参考链接:https://cloud.tencent.com/document/product/647

1.2 实时音视频(TRTC)功能集成

腾讯云音视频(TRTC)功能集成分为包含UI组件集成方案和无 UI 组件集成方案。

1.2.1 含 UI 组件集成方案

在这里插入图片描述

实时音视频(TRTC)开发了一组标准化的 UI 组件,并提供了源代码,使用中可以直接将适合的 UI 组件导入到您的项目中,并在需要的时候加载他们。该集成方案的速度非常快,通常一个小时就能完成集成。

1.2.2 无 UI 组件集成方案

如果不需要同时可以在项目中直接导入 TRTC SDK,并通过 SDK API 以构建自己期望的业务形态。该集成方案相比UI集成的自由度很高,同时腾讯云音视频(TRTC)提供了各个平台 SDK 的 API 示例源码,源码文件夹中的 Basic 目录包含了基础功能的示例代码,Advanced 目录则包含了高级功能(比如设置分辨率、背景音效、网络测速等)的示例代码。
参考链接为:
Demo体验:
代码示例:
在这里插入图片描述

1.3 实时音视频(TRTC)架构

实时音视频(TRTC)可以对接多种端,使用的架构如下:
在这里插入图片描述

2. 使用体验

2.1 注册腾讯云

先注册腾讯云,大多数朋友已经都有腾讯云账户,如果需要注册,链接如下:腾讯云官网

2.2 申请实时音视频(TRTC)应用

点击如下链接,可以快速注册一个实时音视频(TRTC)引用。
链接

初次点击,会提示申请一个TRTC应用,申请完成,点击左侧的应用管理,可以查看到申请完成的应用
在这里插入图片描述
这里有SDKAppID和密钥SecretKey,需要保护好哦。
初次申请,有10000分钟的免费额度,🐧🐧鹅厂🐧🐧真是财气逼人啊!!

2.3 下载SDK的Demo源码

全部的SDK即Demo下载地址见官网
我的案例为基于WEB的案例,下载地址如下:
github仓库地址地址的访问速度,可以是gitee镜像 https://gitee.com/liteavsdk/TRTC_Web下载。
下载后,解压,目录如下:
在这里插入图片描述

2.4 获取 SDKAppId 和 密钥(SecretKey)

在腾讯云的TRTC应用中复制创建好的 SDKAppId 和 密钥(SecretKey)完成。

在下载好的SDK源码包中有readme.md文档,点击里面的原生JS在线Demo,在线链接。输入SDKAppId 和 密钥(SecretKey),如下:
在这里插入图片描述

点击Join Room后,视频就开始了,真是不到一个小时啊,真的快。
在这里插入图片描述

3. 创建自己的会议室应用

3.1 参考快速上手

进入腾讯云的应该管理界面,点击功能配置:
在这里插入图片描述

查看快速上手文档:
在这里插入图片描述
在这里插入图片描述

3.2 下面开始模拟复现快速上手

3.2.1 找到鉴权文件

安装快速上手中的第3个步骤,我们找到需要的文件/base-js/js/debug/GenerateTestUserSig.js
在这里插入图片描述

3.2.2 填写自己的SDKAppId 和 密钥(SecretKey)

在这里插入图片描述
备注:官方有明确支出,SDKAppId 和 密钥(SecretKey)不要写在前端js中,正式上线前请将 UserSig 计算代码和密钥迁移到您的后台服务器上,以避免加密密钥泄露导致的流量盗用。操作步骤参考如下UserSig 相关:

3.2.3 基于base代码测试

1.打开工程

把base-js文件夹拖拽vscode中,打开index.html右键open with live server
在这里插入图片描述

弹出如下页面:
在这里插入图片描述

2. 开始测试

依次测试各个环境
在这里插入图片描述

检测完成后,可以查看检测报告
在这里插入图片描述

3. 进入房间

输入用户名和房间号
在这里插入图片描述
点击进入房间
在这里插入图片描述
目前只有我一个人啊,哈哈

4. 重新打开一个然后进入房间

在vscode的index.html重新右键,open with live server
在这里插入图片描述
输入用户名和房间号
在这里插入图片描述

5. 同时进入会议室后的效果

在这里插入图片描述

点击结束可以推出会议室,点击分享可以共享整个屏幕或是应用等。

4. 本地基于flask运行会议室应用

4.1 环境创建

本地创建一个python工程pythontrtc,并安装flask

pip install flask

在pythontrtc工程下创建一个app.py文件,内容为:

from flask import Flask, render_template

app = Flask(__name__)


@app.route("/")
def root():
    return render_template('Index.html')


if __name__ == '__main__':
    app.run(debug=True, host='127.0.0.1', port=5050)

4.2 配置trtc文件

创建一个static文件夹,把base-js目录下的.\css,.\js,.\data,.\img等文件夹拖到static目录下:
在这里插入图片描述

创建一个templates文件下。把base-js目录下index.html拖拽到templates目录下。
在这里插入图片描述
修改html中的引入路径,把所有的

./img替换为./static/img
./js替换为./static/js
./css替换为./static/css
./data替换为./static/data

4.3 运行

在控制台运行python app.py
然后在浏览器运行localhost:5050,打开2个窗口后,加入会议室,完成如下:
在这里插入图片描述

4.4 flask总结

到目前位置,基于flask的实时音视频项目完结,但这里的不足在于usersig依然从前端计算出来,下一步骤可以参考官网提出的python文件,实现server计算sig,然后传递给前端。
参考连接

5. 总结

感觉真的好用,未来我会尝试完成后端生成sig,并尝试把这个功能放在移动端,毕竟这种场景还是移动端更多些,结论是真的好用,比自己写的要优美很多!!!
附上自己的调用时长。
在这里插入图片描述

还有好多分钟可以使用,可以多研究下,最后感慨下,真是一个好产(有)品(钱)啊!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32555.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前后端结合解决Excel海量公式计算的性能问题

背景 在数据密集的业务领域,尤其是金融,保险,税务等行业中,经常需要利用Excel模型,来对业务进行分析和处理。例如: 1.金融投资: 根据模型进行估值计算,并对投资风险进行评估&#x…

降本增效这九个月,爱奇艺从“穿越火线”,到“冷静增长”

在互联网行业一致宣称降本、提质、增效的小周期里,爱奇艺已经把这个趋势彻底吃透,展现出成熟的一面。 11月22日美股盘前,爱奇艺发布了2022年第三季度业绩,连续三个季度运营盈利,而且当季净增会员数超千万,…

iwebsec靶场 数据库漏洞通关2-Redis数据库漏洞

iwebsec靶场的redis漏洞为未授权漏洞,如下所示。 一、Redis未授权漏洞原因 那么这个未授权漏洞的原理是什么呢?Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任…

PreScan快速入门到精通第三十九讲基于车道线识别传感器的车道保持辅助算法Demo讲解

车道保持辅助系统介绍: 什么是车道保持辅助系统? 疲劳和分心是无意中偏离车辆行驶车道线的最常见原因。车道保持辅助系统主动帮助驾驶者将其车辆保持在车道内,避免或者降低事故的发生。 车道保持辅助系统使用一个前置的摄像头,一般安装在车内后视镜附近,用来检测车辆前方…

项目风险管理十大黄金法则!高质量项目管理必杀技!

随着新冠疫情的发生,在这个VUCA时代越来越多企业开始重视风险管理。其实项目风险管理的好处是巨大的,如果您以积极的方式处理不确定的项目事件,则可能赚很多钱或提前拿到现金流。结果是您可以最大程度地减少项目威胁的影响并抓住发生的机会。…

野火FPGA强化(1):串口

文章目录第31讲:串口RS232串口数据接收模块:Uart_rx串口数据发送模块:Uart_tx底层模块:rs232第32讲:使用SignalTap II嵌入式逻辑分析仪在线调试第33讲:串口RS485key_filterwater_ledbreath_ledled_ctrluart…

Linux 内存之vmstat

文章目录前言一、vmstat简介1.1 processes1.2 memory1.3 block IO1.4 System1.5 cpu activity二、使用步骤2.1 vmstat -a2.2 vmstat -f2.3 vmstat -m2.4 vmstat -s2.5 vmstat -d/D三、vmstat 数据来源参考资料前言 NAMEvmstat - Report virtual memory statisticsvmstat 报告有…

Gang Scheduling Performance Benefits for Fine-Grain Synchronization

Gang Scheduling Performance Benefits for Fine-Grain Synchronization 题目 什么是 gang secheduling ? 组调度,要么一组全部执行,要么都不执行什么是 fine-grain 同步 ?细粒度同步 CSDN 博客 摘要 gang scheduling, where …

SSM框架的基本整合

整合SSM框架要做哪些事情: SpringMVC: pom web.xml a. 前端调度器servlet b. 编码过滤器filter c. 支持rest的过滤器springmvc.xml a. 扫描controller包 b. 添加 c. 视图解析器 d. 静态资源解析添加控制器类… Spring:web.xml a. 监听器(在启动web容器时…

Qt QHeaderView 添加复选框

有两种方法&#xff1a; 1. 重载paintSection 主要是重载paintSection和mousePressEvent这两个函数 headview.h #ifndef HEADERVIEW_H #define HEADERVIEW_H#include <QObject> #include <QHeaderView> #include <QPainter> #include <QCheckBox> …

后端进阶知识 Buffer pool 图文详解 之 free链表

Buffer pool 图文详解 之 free 链表 前言数据页缓存页描述信息初始化 Buffer poolfree 链表获取空闲页数据页是否缓存可关注专栏 》MySQL 进阶知识 收藏点赞加关注 前言 Buffer pool 是 InnerDB 存储引擎的一个重要组件&#xff0c;MySQL 的所有 CRUD 操作都是围绕 Buffer poo…

MariaDB 数据文件 迁移

1. 需求 原MariaDB采用默认安装&#xff0c;安装在/所在的分区下&#xff0c;现在该服务器的磁盘空间不补足了&#xff0c;现在扩展插入了一块新的磁盘&#xff0c;并且挂载到了/www/目录下&#xff0c;现在需要将原来的数据库数据迁移至该目录下。 2. 查询数据存储目录 首先…

预测足球世界杯比赛

目录 1. 下载数据集 2. 数据预处理 3. 模型训练与选择 4. 预测 1. 下载数据集 下载后数据如下&#xff1a; FIFA World Cup | Kaggle 2. 数据预处理 reprocess_dataset() 方法是数据进行预处理。预处理过的数据如下&#xff1a; save_dataset() 方法是对预处理过的数据&…

LibreOJ_10010

链接 点此跳转 思路 题目描述 有 nnn 个小朋友坐成一圈&#xff0c;每人有 aia_iai​ 颗糖果。 每人只能给左右两人传递糖果。每人每次传递一颗糖果的代价为 111 。 求使所有人获得均等糖果的最小代价。 分析 设 xix_ixi​ 表示第 iii 个朋友向第 i−1i-1i−1 个小朋友…

爬虫与云服务器云数据库

腾讯云轻量应用服务器TDSQL-MYSQL数据库PYTHON做爬虫 实现目标&#xff1a;轻量应用服务器上运行Python爬虫&#xff0c;把数据写到TDSQL-MYSQL数据库中。 最近双十一&#xff0c;趁着这一波福利&#xff0c;在腾讯云购买了一个轻量应用服务器和TDSQL-MYSQL版的数据库。买来之…

OpenGL学习

1.1&#xff0c;状态机-上下文-对象 GPU渲染流程 OpenGL自身是一个巨大的状态机(State Machine)&#xff1a;一系列的变量描述OpenGL此刻应当如何运行。 状态机&#xff1a;变量&#xff08;描述该如何操作&#xff09;的大集合 OpenGL的状态通常被称为OpenGL上下文(Contex…

异构图注意力网络Heterogeneous Graph Attention Network ( HAN )

文章目录前言一、基础知识1.异构图&#xff08;Heterogeneous Graph&#xff09;2.元路径3.异构图注意力网络二、异构图注意力网络1.结点级别注意力&#xff08;Node-level Attention&#xff09;2.语义级别注意力&#xff08;Semantic-level Attention&#xff09;总结前言 异…

微信商城小程序怎么开发_分享微信商城小程序的搭建

如何搭建好一个微信商城&#xff1f;这三个功能要会用&#xff01; 1.定期低价秒杀&#xff0c;提高商城流量 除了通过私域流量裂变&#xff0c;低价秒杀是为商城引流提高打开率的良好手段。 以不同节日作为嘘头&#xff0c;在情人节、38妇女节、中秋国庆、七夕节等日子&…

前端框架 Nuxtjs Vue3 SEO解决方案 SSR

目录 一、Nuxtjs安装 二、路由规则 三、公共布局 四、Vue3中TypeScript的使用 一、Nuxtjs安装 参考&#xff1a;Installation Get Started with Nuxt安装 - NuxtJS | Nuxt.js 中文网Installation Get Started with Nuxt yarn create nuxt-app <项目名> 项目运行…

GAMES101 作业0 环境配置 PC下简单配置i

前言 GAMES101提供了计算机图形学相关教学知识&#xff0c;闫教授及其团队也为大家准备了相应课程作业。课程作业部署在虚拟机上&#xff0c;以便免去环境部署的麻烦。但对于一些同学来说&#xff0c;还是希望直接在WIN的VS上使用并编码&#xff0c;本文对此进行简单说明。 环…