从开通音视频出发

了解音视频

首次开通腾讯云音视频免费赠送10000分钟的免费试用套餐包,包含了视频通话语音通话视频互动直播语音互动直播这些模块,另外说明一下腾讯云音视频是按照 1 : 2 : 4 : 9 : 16 : 36 分别抵扣语音、标清、高清、超高清、2K和4K时长,例如1分钟高清视频时长扣除4分钟免费套餐包时长。

开通音视频

当开通后可以在套餐包管理查看使用详情,创建时间和截止时间并设置告警提示;

点击跳转音视频产品页

开发前须知

UserSig保护

UserSig 是腾讯云设计的一种安全保护签名,目的是为了阻止恶意攻击者盗用您的云服务使用权。 目前,腾讯云的实时音视频(TRTC)、即时通信(IM)以及移动直播(MLVB)等服务都采用了该套安全保护机制。要使用这些服务,您需要在相应 SDK 的初始化或登录函数中提供 SDKAppID,UserID 和 UserSig 三个关键信息。 其中 SDKAppID 用于标识您的应用,UserID 用于标识您的用户,而 UserSig 则是基于前两者计算出的安全签名,它由 HMAC SHA256 加密算法计算得出。只要攻击者不能伪造 UserSig,就无法盗用您的云服务流量。

点击查看个人SDK ID和key

node代码

UserSig安全

官方推荐正确的做法是将 UserSig 的计算代码放在您的业务服务器上,然后由您的 App 在需要的时候向您的服务器获取实时算出的 UserSig,所以我们起个node服务简单的过一遍,实际场景需要自己去定制开发。

npm i tls-sig-api-v2
var TLSSigAPIv2 = require('tls-sig-api-v2');router.post('/voice', (req, res) => {var videoApi = new TLSSigAPIv2.Api(req.body.sdkAppId, '应用密钥');// 第一个人参数获取前端提交的用户id 也就是加密需要的userId,第二个是过期时间腾讯云文档推荐时间长一点let privateKey = videoApi.genSig(req.body.user, 86400 * 180)if (req.body.user) {res.json({code: 200,data: privateKey})}})

web端代码

您需要在项目中使用 npm 安装 trtc-js-sdk 包。

npm install trtc-js-sdk --save

个人写法,仅供参考(不接受批评斜眼笑)

import TRTC from "trtc-js-sdk";
import axios from "axios";
export default {data() {return {// 房间号roomId: "",// 本地客户端 提供了加入通话房间、发布本地流、订阅远端流等功能client: "",// 音频流对象 提供对音视频流的控制操作,包括音频和视频的播放控制localStream: "",// 加密keyuserSig: "",// 用户IDuserId: "",sdkAppId: 1400770493,};},created() {// 首页做了一个填写用户id和房间号 所以这里是query拿到的参数this.roomId = this.$route.query.roomId;this.userId = this.$route.query.userId;// 这个type是做了一个判断 1是创建房间 2是加入房间this.type = this.$route.query.type;// 获取到roomId和userId后区调用getUserSig获取加密后的keythis.getUserSig();},methods: {// 获取userSiggetUserSig() {let url = "线上地址";axios// 把roomId和SDkid丢进去.post(url, { user: this.userId, sdkAppId: this.sdkAppId }).then((res) => {this.userSig = res.data.data;// 拿到加密后的key 判断是进入房间还是加入房间 调用不同的方式if (this.type == 1) {this.getVideoRoom();}if (this.type == 2) {this.getJoin();}});},// 创建房间getVideoRoom() {// 实时通话模式下创建客户端对象this.client = TRTC.createClient({sdkAppId: this.sdkAppId, // 填写您申请的 sdkAppIduserId: this.userId, // 填写您业务对应的 userIduserSig: this.userSig,mode: "rtc",});// 创建房间this.client.join({ roomId: Number(this.roomId), role: "anchor" }).then(() => {console.log("创建成功,加入房间成功");// 调用创建本地流方法this.getlocalVideo();});this.client.on("stream-added", (event) => {const remoteStream = event.stream;console.log("远端流增加: " + remoteStream.getId());//订阅远端流this.client.subscribe(remoteStream);});this.client.on("stream-subscribed", (event) => {const remoteStream = event.stream;console.log("远端流订阅成功:" + remoteStream.getId());// 播放远端流,传入的元素 ID 必须是页面里存在的 div 元素remoteStream.play("remote_stream" + remoteStream.getId());});},// 发布本地音视频流getlocalVideo() {// 从麦克风和摄像头采集本地音视频流this.localStream = TRTC.createStream({userId: this.userId,audio: true, // 音频video: true, // 视频 可false});this.localStream.initialize().then(() => {console.log("本地流初始化成功");this.localStream.play("joinVideoOne");// 本地流初始化成功,可通过Client.publish(localStream)发布本地音视频流this.client.publish(this.localStream);});},// 获取房间号getJoin() {this.client = TRTC.createClient({sdkAppId: this.sdkAppId, // 填写您申请的 sdkAppIduserId: this.userId, // 填写您业务对应的 userIduserSig: this.userSig,mode: "rtc",});this.client.on("stream-subscribed", (event) => {const remoteStream = event.stream;console.log("远端流订阅成功:" + remoteStream.getId());// 如果您遇到播放失败的问题,需要使用 remoteStream 监听 error 并处理 0x4043 浏览器限制自动播放的问题remoteStream.on("error", (error) => {const errorCode = error.getCode();if (errorCode === 0x4043) {// PLAY_NOT_ALLOWED, 引导用户手势操作并调用 stream.resume 恢复音视频播放,// 在点击回调里调用 remoteStream.resume() 进行恢复播放。}});// 播放远端流,传入的元素 ID 必须是页面里存在的 div 元素remoteStream.play("JoinVideoTwo" + remoteStream.getId());});this.localStream = TRTC.createStream({userId: this.userId,audio: true,video: true,});this.localStream.initialize();},},
};

展示效果

展示部分图片

相关文档集合

web端api点击这个

服务端api点击这个

userSig相关点

官方Demo 体验

个人demo体验

个人使用体验

腾讯云音视频产品本身足够优秀,使用起来体验非常不错,api和文档也非常齐全。官方提供的demo也简单易懂,腾讯会议,贝壳等等知名it公司都有接入。更是直接提供给新开通用户白送一万分钟的体验包,官网活动折扣首单9.9元两万分钟

产品详情介绍

AI 智能降噪

源自腾讯天籁实验室,通过深度学习技术,智能检测和去除混合在传播信号中的噪声干扰,提高语音的质量和可懂度,提升声音的清晰度,改善用户听感。

实时信令

与即时通信 IM 协同使用,即可实现呼叫等待、接听、会议邀请、会控、公告、通知、评论、弹幕、礼物、点赞、红包、上下麦状态等丰富功能。

屏幕分享

又称屏幕共享,可将系统桌面、应用窗口或指定画面区域分享给他人,支持单个用户同时上行摄像头和屏幕分享两路画面,保证音画同步。

卓越音质与立体声

支持 48kHz 采样的高音质,由业内领先的腾讯天籁实验室提供 3A 处理算法,杜绝回声和啸叫。全链路 192kbps 高音质、真左右声道立体声音频,实现房间用户听感清晰和沉浸式互动体验。

录制与回放

提供覆盖实时音视频互动全程的云端录音与录像功能,保证录制过程的可靠性和稳定性,并提供录制文件存储、转码、下载、点播等一站式服务。

内容安全审核

打通腾讯天御内容审核,实现自动识别音频或视频中出现的涉黄、敏感等违法、违规内容,从而降低人工运营维护成本。

特效美颜

支持基础美颜和滤镜功能,支持与腾讯特效(美颜特效)SDK快捷集成,获得智能美颜、美妆、美体、贴纸特效、虚拟背景、手势识别等扩展能力。

旁路直播

用 MCU 旁路转码集群,将 TRTC 所使用的 UDP 协议转换为标准的直播 RTMP 协议并旁路到直播系统中,让观众通过直播 CDN 进行观看。

监控仪表盘

提供全方位的质量排查、实时质量监控服务。针对通话过程提供精准易用的可视化运维工具、支持实时通话质量监控能力以及应用维度的大盘数据查询功能,助您快速了解业务使用情况。

【新知实验室】体验腾讯云音视频相关推荐

  1. 【新知实验室】腾讯云音视频应用

    前几天和同事了解了一下腾讯云音视频,并且根据文档亲自使用了一下,感觉还是非常不错的,在这里和大家分享一下. 到底什么是腾讯云音视频 腾讯云音视频是腾讯提供的一站式视频解决方案,其中包括了点播.直播.实 ...

  2. 【新知实验室】——腾讯云音视频TRTC体验

    腾讯实时音视频 TRTC 是什么? 腾讯实时音视频(Tencent Real-Time Communication,TRTC)将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动 ...

  3. 【新知实验室】——腾讯云音视频TRTC初体验

    一.产品简介 腾讯实时音视频(Tencent Real-Time Communication,TRTC)是腾讯以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发 ...

  4. 新知实验室_腾讯实时音视频产品体验

    新知实验室_腾讯实时音视频产品体验 TRTC 开通TRTC Vue方案体验 使用体验 TRTC 实时音视频(Tencent RTC)基于腾讯多年来在网络与音视频技术上的深度积累,以多人音视频通话和低延 ...

  5. 一站式体验腾讯云音视频及融合通信技术

    对于一款音视频产品,从底层编解码.到传输网络.到平台架构.再到用户终端,无一不决定产品"生死",与此同时,伴随用户数量的提升和对观看体验的不断提高,如何融合AI技术.优化算法.利用 ...

  6. 【新知实验室】——腾讯云TRTC实时音视频体验

    [新知实验室]--腾讯云TRTC实时音视频体验 前言 一.腾讯实时音视频TRTC是什么? 二.DEMO体验 1.注册腾讯云账号 2.使用实时音视频(需先开通) 3.查看项目(查看密钥和快速上手操作) ...

  7. 【新知实验室】腾讯云TRTC实时音视频体验

    新知实验室  腾讯云TRTC实时音视频体验 在我们的日常生活中,音视频通话.直播及视频会议等诸多音视频场景已经很常见,腾讯发布的 实时音视频(Tencent RTC) 产品,基于腾讯多年来在网络与音视 ...

  8. 【新知实验室】手把手实现腾讯云音视频应用

    腾讯云音视频是什么? 腾讯云音视频(TRTC)提供一站式视频解决方案,包括点播直播.实时视频通话.短视频等视频服务,广泛应用于在线视频.电商.游戏直播.在线教育等场景.实时音视频基于腾讯21年来在网络 ...

  9. 实战内容(14)- 音视频技术如何为元宇宙提供全真稳的全新体验之漫话腾讯云音视频

    目录 引言 多年积累后的"全真稳"腾讯音视频 多面手,腾讯云音视频的有多"全"? 身临其境,腾讯云音视频有多"真" 固若金汤,腾讯云音视频有 ...

  10. 【免费活动】解析腾讯云音视频通信三大核心网络技术实战与创新

    随着互联网的发展越来越成熟,移动终端成为我们人手必备的生活用品,云计算的普及与高速发展,4G.5G网络的瓜熟蒂落,我们真正的进入了全真互联网时代.2020年,一场突如其来的疫情,很多传统行业不得不将线 ...

最新文章

  1. 吴恩达:企业如何实现人工智能转型?
  2. react native利用webvView嵌入h5页面以及RN与webView的通信
  3. pyqt5知识:如何接受密码输入?
  4. keil 函数 默认 外部 内部 博客_5.9 C++内部函数与外部函数
  5. android中私有方法 继承,Android项目实战系列—基于博学谷(五)个人资料
  6. java 正则表达式 提取ip_java正则表达式提取地址中的ip和端口号
  7. app嵌入jsp页面的项目工作量_好程序员Java学习路线分享jsp为什么用的不多了
  8. luogu P2018 消息传递
  9. mysql oracle linux_mysql、oracle在Linux和Windows下的简单自动备份
  10. NV12转化为BMP函数
  11. 精选机器学习深度学习视频资源合集 !(附下载链接)
  12. 【测试】使用selenium实现QQ邮箱登录
  13. Vulcan 基于Meteor的APollO框架 , grapesjs 用于可视化生成Html 页面
  14. char *s[]与char s[][]
  15. 计算机考研各科目分值分布,考研各个科目的分值
  16. 2017年衢州联赛 T2
  17. 岁寒,然后知松柏之后凋也。关于后凋的解释
  18. 一场戏剧性的星际比赛
  19. OneNote 2016无法登陆
  20. Oracle 大表回表过滤优化案例

热门文章

  1. android 坡度计算器,坡度角度换算(角度和坡比对照表)
  2. 能在学生用计算机的面上画的图画,小学生电脑绘画作品欣赏
  3. java 图片深度_图像的色彩值称为图像的颜色深度,黑白图像的颜色深度为( )位。...
  4. 数据库表锁死的解决方法
  5. 微信小程序选择图片更换背景
  6. MFC模态对话框和非模态对话框使用
  7. html好看的后台页面布局,25 个精美的后台管理界面模板和布局
  8. python数字排列组合去重_python解决排列组合问题的4种方式
  9. 主板南北桥芯片都起什么作用
  10. C语言中EOF是什么意思?