腾讯技术开放日 | 保障视频连线画质清晰且流畅,腾讯会议有这些优化实践

本文主要是介绍腾讯技术开放日 | 保障视频连线画质清晰且流畅,腾讯会议有这些优化实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

腾讯会议自去年12月底推出,在疫情期间极速扩容,日活跃用户超过1000万。面对数量庞大的用户,以及他们背后网络、设备的多样性,该如何针对各个场景进行优化以提升用户体验?在【腾讯技术开放日 · 云视频会议专场】中,腾讯多媒体实验室视频技术专家王诗涛针对视频编码技术优化实践进行了分享,讲述如何利用视频技术达到清晰流畅,低延时的用户体验。

 

屏幕分享场景编码技术优化实践

 

在视频会议中,视频的应用场景分两部分:屏幕分享和摄像头视频。屏幕内容是由电子设备生成的图像,摄像头内容是由摄像头采集的视频,两种视频内容的特征差异巨大。

 

 

传统的视频编码采用的是预测加变换的混合编码结构,这种方式适合摄像头采集的视频。但是对于屏幕内容,它的编码效率不太好。为了提升压缩效率, HEVC (High Efficiency Video Coding)针对屏幕内容专门推出了HEVC-SCC编码标准,可以大大提升屏幕内容的编码效率。

 

HEVC-SCC在HEVC原有标准的基础上,增加了帧内块拷贝、调色板模式、自适应色彩转换、自适应运动矢量精度几个编码工具集。这几个工具集中,帧内块拷贝(IBC)和调色板模式(Palette Mode)对视频压缩效率的提升最为明显。IBC采用当前帧已重建块作为预测块,可以认为是基于当前编码图像内的运动补偿;Palette Mode枚举颜色值生成颜色表,然后为每个样本传递一个索引以指示它属于颜色表中的哪种颜色,它特别适合颜色数比较少的编码块。根据官方统计,对于屏幕内容,在HEVC的基础上 增加IBC和Palette Mode两个工具集,可以带来50%以上的压缩效率的提升。

 

1. TSE兼顾压缩效率与编码复杂度

 

加入SCC(屏幕内容编码技术, Screen Content Coding)虽然可以提升压缩效率,但是同时也带来了编码复杂度的急剧增加。对于腾讯会议这种实时通信场景,编码复杂度过高会影响实时性,无法得到应用。因此,我们在实现了IBC和

这篇关于腾讯技术开放日 | 保障视频连线画质清晰且流畅,腾讯会议有这些优化实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/karamos/article/details/106314650
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/208862

相关文章

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分