这个开发者易忽略的优化点,腾讯视频竟靠它省上千万元
👉腾小云导读
在互联网行业降本增效的大背景下,如何结合业务自身情况降低成本是每个业务都需要思考的问题。腾讯视频业务产品全平台日均覆盖人数超2亿。图片作为流媒体之外最核心的传播介质,庞大的业务量让静态带宽成本一直居高不下——腾讯视频各端日均图片下载次数超过 100 亿次,平均图片大小超 100kb,由此带来的图片静态带宽成本月均超千万。本文将详细介绍腾讯视频业务产品借助腾讯云数据万象来优化静态带宽成本过程中的挑战与解决方案,输出同领域通用的经验方法,希望可以对广大开发爱好者有所启发。
👉看目录,点收藏1 背景
2 图片处理重要概念
2.1 图片压缩
2.2 图片格式
3 腾讯视频图片存储2大绝招
3.1 AVIF压缩-悄悄变”小“,压缩率超50% 3.2 图片采样-最合适的窗口,显示最合适的图片4 总结01
在降本增效的互联网大背景下,如何结合自身业务情况降低成本是许多业务都需要思考的命题。
腾讯视频作为我国领先的在线视频媒体平台,全平台日均覆盖人数超 2 亿,付费会员数超过 1 亿。作为处于行业领先地位的产品,腾讯视频实现了对热门剧集、电影
、综艺、动漫、体育等各内容的全面覆盖。同时腾讯视频业务很复杂、业务分布很广泛。除了移动端,还有 Web 端、PC 端、客厅和 H5 等多个产品形态。02
现有的图片格式有哪些?什么是有损压缩、无损压缩?在介绍方案之前,我们有必要了解下相关的基础概念。
2.1 图片压缩
无损压缩
简介:
无损压缩是对文件本身的压缩,和其它数据文件的压缩一样,是对文件的数据存储方式进行优化。采用某种算法表示重复的数据信息,文件可以完全还原,不会影响文件内容。对于数码图像而言,也就不会使图像细节有任何损失。
原理:
无损压缩的基本原理是相同的颜色信息只需保存一次。压缩图像的软件首先会确定图像中哪些区域是相同的,哪些是不同的。包括了重复数据的图像(如蓝天) 就可以被压缩,只有蓝天的起始点和终结点需要被记录下来。但是蓝色可能还会有不同的深浅,天空有时也可能被树木、山峰或其他的对象掩盖,这些就需要另外记录。
从本质上看,无损压缩的方法可以删除一些重复数据,大大减少要在磁盘上保存的图像尺寸。但是,无损压缩的方法并不能减少图像的内存占用量,这是因为,当从磁盘上读取图像时,软件又会把丢失的像素用适当的颜色信息填充进来。如果要减少图像占用内存的容量,就必须使用有损压缩方法。
常用算法:
游程编码、熵编码法:如 LZW 这样的自适应字典算法。
有损压缩
简介:
有损压缩是对图像本身的改变,在保存图像时保留了较多的亮度信息,而将色相和色纯度的信息和周围的像素进行合并。
常用算法:
色彩空间:这是化减到图像中常用的颜色。所选择的颜色定义在压缩图像头的调色板中,图像中的每个像素都用调色板中颜色索引表示。这种方法可以与抖动一起使用以模糊颜色边界。 色度抽样:这利用了人眼对于亮度变化的敏感性远大于颜色变化,这样就可以将图像中的颜色信息减少一半甚至更多。 变换编码:这是最常用的方法。首先使用如离散余弦变换(DCT)或者小波变换这样的傅立叶相关变换,然后进行量化和用熵编码法压缩。 分形压缩:是一种以碎形为基础的图像压缩,适用于纹理及一些自然影像。 |
2.2 图片格式
JPEG 是用于连续色调静态图像压缩的一种标准,文件后缀名为 .jpg 或 .jpeg,是最常用的图像文件格式。它采用联合编码方式,以去除冗余的图像和彩色数据,属于有损压缩格式,能够将图像压缩在很小的储存空间,但一定程度上会造成图像数据的损伤。 JPEG 编码中 quality 越小,图片体积就越小,质量越也差,编码时间也越短。 | |
PNG 是一种采用无损压缩算法的位图格式。其设计目的是试图替代 GIF 和 TIFF 文件格式,同时增加一些 GIF 文件格式所不具备的特性,它本身的设计目的是替代 GIF 格式,所以它与 GIF 有更多相似的地方。 无损压缩 PNG 文件采用 LZ77 算法的派生算法进行压缩,其结果是获得高的压缩比,不损失数据。它利用特殊的编码方法标记重复出现的数据,因而对图像的颜色没有影响,也不可能产生颜色的损失,这样就可以重复保存而不降低图像质量。 相对于 JPEG 和 GIF 来说,它最大的优势在于支持完整的透明通道。因为支持透明效果,PNG可以为原图像定义 256 个透明层次,使得彩色图像的边缘能与任何背景平滑地融合,从而彻底地消除锯齿边缘,这种功能是 GIF 和 JPEG 没有的。 | |
全称 Graphics Interchange Format,它是无损的、采用索引色的点阵图。GIF 通常情况下只支持 256 种颜色、透明通道只有 1 bit、文件压缩比不高。它唯一的优势就是支持多帧动画。 它通常只支持 256 色索引颜色,导致只能通过抖动、差值等方式模拟较多丰富的颜色,Alpha 通道只有 1 bit,这意味着一个像素只能是完全透明或者完全不透明,会有毛边效果。 | |
APNG(Animated Portable Network Graphics)顾名思义是基于 PNG 格式扩展的一种动画格式,可以实现 PNG 格式的动态图片效果,旨在替换掉画质低劣的 GIF 动画。 它增加了对动画图像的支持,同时加入了 24 位图像和 8 位 Alpha 透明度的支持,这意味着动画将拥有更好的质量,其诞生的目的是为了替代老旧的 GIF 格式。 | |
WEBP 是 Google 开发以更高的压缩比替代 JPEG。它用 VP8 视频帧内编码作为其算法基础,拥有很不错的压缩效果,同时提供了有损压缩与无损压缩(可逆压缩)的方式。 | |
SHARPP 是腾讯音视频实验室自研的基于新一代视频编码标准H.265的图片压缩技术。压缩效率相对其他图片格式具有很明显的优势。 | |
AVIF 是一种基于 AV1 视频编码的新图像格式。相对于JPEG,WEBP 这类图片格式来说,它的压缩率更高,并且画面细节更好。 AVIF 支持多种色彩空间,包括高动态范围影像(HDR),还包括标准动态范围影像(SDR),以及经由独立编码码位的色彩空间讯号或符合 ICC 色彩特性文件。同时它支持 8 位元、10 位元、12 位元和更高的色彩深度。 |
03
3.1 绝招一:AVIF压缩-悄悄变”小“,压缩率超50%
AVIF格式简介
图片压缩方案
实际效果
3.2 绝招二:图片采样-最合适的窗口,显示最合适的图片
图片采样简介
方案优势
实际效果
04
-End-
原创作者|余锋、王致铭
技术责编|余锋、王致铭
在评论区聊一聊你的看法。3月31日前将你的评论记录截图,发送给腾讯云开发者公众号后台,可领取腾讯云「开发者春季限定红包封面」一个,数量有限先到先得😄。我们还将选取点赞量最高的1位朋友,送出腾讯QQ公仔1个。3月31日中午12点开奖。快邀请你的开发者朋友们一起来参与吧!
最近微信改版啦,有粉丝反馈收不到小云的文章🥹。
请关注「腾讯云开发者」并点亮星标,
周一三晚8点 和小云一起涨(领)技(福)术(利)!