为什么从微信里面微信如何把聊天的大量照片保存下来来的有些照片,或者视频是没有分辨率的?搞得相册都看不到。

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

因为微信为节省用户流量,会将上传的照片经过压缩才发布出去的。

以前用别的手机不是这样的

每年年初腾讯公司都要制定 SNG 成本优化年度目标,过去三年已经用技术手段为公司节省了超过 10 亿的现金流。产品的架构和容量也越来越健康,继续成本优化变得十分艰难。

但我们在迷茫中仍然定下了再优化 3 亿元的目标。很幸运,2017 年我们实现了这个目标,并再次获得公司级奖励,这是非常不容易的。因为“成本与质量”是个平衡木,而 2017 年 SNG 产品面临着激烈的内外竞争,要降低产品质量是根本不可能的。所以本次文章跟大家分享如何在保障质量(指的是图片质量、音视频质量)前提下所做的带宽和网络流量压缩,进而达到运营成本的优化。

- 即时通讯开发交流3群: [推荐] - 移动端IM开发入门文章:《》

腾讯SNG社交网络事业群介绍:

腾讯SNG社交网络事业群(Social Network Group,简称SNG)是腾讯七大事业群之一,成立于2012年5月,以QQ和QQ空间为基础平台打造全方位的互联网综合服务。在腾讯大体系中,SNG是很重要的基础平台,也是腾讯产品线中用户量最多的事业群。

因文章太长,本次分享分为两篇来讲,本文是2篇文章中的第1篇:

《》 《》 《》 《》 《》 《》 《》 《》

本文将主要围绕有关图片的优化和带宽压缩方面的内容,请继续往下阅读。

范晶晶:“我是来自腾讯 SNG 社交网络运营部,简称 DSNO(屌丝 NO.1)团队的一枚大龄女屌丝。”

腾讯高级工程师,08年进腾讯做资源管理和预核算,现在主要从事成本优化工作,为SNG优化项目PM。

“在非WiFi环境下玩手机,你会在意“流量”吗?”

我在身边的同事和朋友圈儿做了同样的调查,得到的答案差不多,大家对手机流量不怎么在意,不喜欢转菊花和卡顿。我自己用的是腾讯大王卡,腾讯系的免流量,其他流量全国1元 800 M / 日,我身边有个开发妹子用的阿里宝卡,1 元 / G 全国日租流量,我领导用的全球通套餐,他自己也不记得多少钱一个月,反正流量用不完,他说他不缺流量缺的是时间,但我总发现他会偷偷看小视频,一看就停不下来。

今年 3 月,政府报告提出“取消流量漫游费,流量资费年内要下降 30% ” 。2020 年 5G 就要问世,网速是 4G 的 5-15 倍。全国人民流量时代即将来临,上网时长会增加,将承载更多富媒体应用快速增长,像 QQ 相册、朋友圈、微博、Facebook 是以图片为载体的时代,将会有更多快手、抖音、直播基于原创短视频的传播,对比文字图片更具有直观性,视频让人更感同身受,但具有“高带宽性”。

现在普通手机拍摄的图片在没有压缩的情况下大约 2M,一段 3 分钟的小视频大约 20M,直接存储或传输的,不仅浪费用户带宽,容易造成菊花和卡顿,如何在不影响质量的前提下把图片和视频压缩到最小,手机耗电发热更少、网络传输更快,就是提升了用户体验。

总之,就像本文将在分享的一样:用技术手段为用户提供低成本高质量的产品体验才是未来移动端产品的思路。

我们来看看QQ 相册图片压缩的例子。QQ 相册业务发展较为平稳,总图片数有上万亿张,每日新增上传图片几百万张,每日下载图片几百亿张,外网带宽日峰值上百G,成本压力一直存在。

我们进行了各种维度的技化的实践,包括使用新的图片格式、最新的技术以及一些技巧等。

5.1 使用WebP格式进行图片压缩

用户上传的图片一般有三种主流格式:JPEG、PNG 和 GIF 动图,15 年 QQ 相册用Google 的 WebP 格式用户上传的原图进行后台压缩,在保障同等质量下的 WebP 图片比原图体积小 30%。

5.2 使用分辨率自适应

用户终端机型分辨率存在大小不一,但一些产品是以最大分辨率下发的,但中低端机型并不需要高分辨率的图片,优化为按需返回适当分辨率图,可节约 20% 的流量。15 年做的这 2 个优化都是在保障图片清晰度不变的前提下,为用户和企业节约了流量和存储空间。

16 年底相册推出新功能,用户在发表说说时可以选择自己的照片合成 GIF 动图,新功能导致流量增长非常迅猛,对应的外网带宽成本上增 70%。流量分析发现仅有 5% 下载次数的 GIF 格式图片占用了 20% 带宽,剩下大部分是经过 WebP 格式压缩过图片。

GIF 动图相当于一组图片的集合,可以把它看做一个小视频,但 GIF 格式是一种位图文件格式,是利用颜色表索引来表示每个像素颜色,然后标记重复出现的数据,编码过程对图片颜色数据没有损失,是一种无损压缩方式,相比视频压缩算法压缩率比较低,用户自己编辑的 GIF 大小普遍在 2-4M,是普通图片几十倍,占用户和企业的下载流量和存储都很大,当时用的开源 WebP 不支持 GIF 动图压缩所以考虑其他图片压缩格式。

腾讯 SNG 音视频实验室基于(AVS2 国家标准内核)开发了 TPG 图片压缩格式。采用了视频编码模式,利用帧间参考,大幅减少冗余值,提升压缩率。特别是在动图上具有高压缩率和低编解码耗时的明显优势,经在 QQ 相册验证 TPG 可在同等质量下可将 GIF 大小降低 90%,将 WebP 再降低 21%,比 JPEG 节约 43% 左右。并做了编解码性能的优化,耗时等都优于 WebP。为此 17 年全面推广相册 TPG 格式化。

右图是压缩了11 倍的 TPG 动图,人眼主观观察质量很难看出区别:

全客户端统一后台配置:

相册图片展示场景复杂,接入方案要适用于移动、PC、H5内核等所有客户端版本,根据用户客户端能力优先返还 TPG > WebP > JPG,右图是后台搭建的全客户端统一后台配置。

分级压缩、OC 点分片缓存:

因为 GIF 比较大,压缩耗时较长,针对不同大小的GIF分级压缩,小于 2M 的实时压缩,设置 2s超时,2-8M 设置 4s为超时,大于 8M 的异步压缩并更新缓存。同时为了保证 OC 点不会因为 GIF 过大而容易被淘汰,做了分片缓存策略。

对于分享出去的 GIF 我们给出原 URL,优先保障用户体验。

作为首个大体量全面接入 TPG 的业务,为了保障平滑过渡,首先对新上传的图片保障异步压缩后存储在源站,被访问后会存储在中间源和 OC 点,大概一个月等 TPG 热数据占 70% 后,对旧的图片需要人工触发或者基于访问触发实时压缩。

TPG 是利用 AVS2 编码标准 通过非常复杂的计算来提高图片压缩比,实际无论是图片、音频还是视频压缩比的提升都是增加计算复杂度,等于是用计算资源来换带宽和存储,所以带宽优化需要大量廉价转码资源,如果专门采购转码服务器,需要大量的现金流。所以我们用 FPGA 转码卡与离线平台软硬结合来提供廉价计算资源。

离线平台主要通过部署 Docker 的对 CPU 空闲时段进行资源调度。资源来源有母机超卖池、公司和部门资源池、以及线上低负载设备。同时为了不影响原有的线上业务和资源池的分配,会通过监控任务的负载状态来逐步扩缩容,现已实现了小时级调度能力和灵活的分配策略。

FPGA 作为一种高性能、低功耗的可编程芯片,可以根据客户定制来做针对性的算法设计。所以在处理海量数据的时候,FPGA 相比于 CPU 和 GPU,优势在于 FPGA计算效率更高,以相册TPG转码为例,FPGA 卡性能是普通图片处理服务器的10倍,编码延时减少 80%,大幅减少用户等待,采用结合 FPGA 转码卡与 Docker 离线软硬结合,能有效降低转码成本,现已节约了几千台服务器。

项目在上半年完成,现在 TPG 请求量占 80% 以上,节约了 40% 的带宽,存储量减少,节约几千万/年,质量上反而由于文件变小,解码效率提升,用户等待时长减少了 22%。

TPG 编码压缩虽然在压缩率上更优,但需要客户端和 PC 具备解码 SDK 才能正常使用,现在推广阶段,现网仍存在很多原图(JPEG、PNG、GIF)请求量。

Guetzli 是 Google 2017 年最新推出的图片压缩格式,比同等质量的 JPEG 节约 30%大小,此算法并没有改变 JPEG 编码格式,只是对数据进行优化缩减,因此编码出来的图片适用于目前已有的解码器。但它的计算开销非常大,耗时不可接受。GPU 相比传统 CPU 具备高并发的图片类计算能力,Guetzli & GPU可大幅减少压缩时间到可接受范围。现在已有一些场景(漫画)在用这种方式。

HEIF 是 H.265 标准的建议格式,比 JPEG 小 40%,苹果 iPhone7 升级 IOS 11 以上拍摄直接生成的是HEIF格式,同等质量文件大小和TPG差不多。腾讯的图片平台支持这种格式的存储和请求返回,只需客户端请求上做改造即可。相册、微云都已使用,如果两个 iPhone7(IOS11)用户互发本机拍摄的图片(HEIF 格式),则无需转码可比原 JPEG 图节约 40% 以上的流量和存储,在其他不支持的客户端下载时需转码为其他格式。所以针对部分苹果用户体验更好,要成为主流还有待普及。

经过三年的积累腾讯搭建了一套全类型多场景的图片压缩解决方案,根据用户客户端情况返还最优的图片格式,降低业务接入门槛,如下右图。

(未完待续,请继续关注下篇《》)

[1] QQ、微信团队原创技术文章: 《》

据汇丰银行(HSBC)发布的报告显示,腾讯公司旗下手机通讯app微信市场价值估计高达836亿美元(约合人民币5344亿元),几乎是腾讯市值的一半。由此可见腾讯高市值的背后是微信在支撑着,腾讯的未来全靠微信。因为微信不仅是腾讯的移动互联网船票,还是令国内各大互联网公司颤抖的航空母舰。

张小龙1969年12月生于湖南,Foxmail创始人,微信创始人,腾讯公司高级副总裁。毕业于华中科技大学电信系,分别获得学士、硕士学位。后加盟腾讯公司后开发腾讯微信,被誉为微信之父。当年他竟然差点投奔雷军,最后还是被小马哥给收购了。

作为移动互联网时代IM标杆的微信,它的成功不仅是依靠腾讯的资源,更重要的是有张小龙在掌舵,他无愧于微信之父。张小龙少年成名,他凭借一人之力开发的Foxmail,在当时大获成功。这款从1996年推出的邮件客户端软件,到2000年的4年间,便已吸引200万用户。这个让大多数人能够放弃微软系统自带的Outlook邮箱的软件,也被当时美国最知名的科技网站ZDnet评为5星软件。

但是张小龙却在这个时候迷茫了,因为这时正值互联网泡沫,很多互联网公司根本赚不到钱,纷纷破产倒闭。而张小龙不愿在其软件上增加广告,所以他也没赚到钱。他想去外面看看,然后把它的软件卖掉。

幸运的是他联系到了雷军,因为雷军也是foxmail的用户。雷军当时的名气更大,是中关村的风云人物,年纪轻轻就靠着自己的努力成为金山的总经理。当时的马化腾还在润迅上班,周鸿祎还是方正的一个工程师。而雷军这个时候不仅有名,还有钱、有资源。所以,张小龙就联系到雷军,想把这款软件卖给金山。

雷军在和张小龙电话沟通之后,直接就提出来foxmail卖不卖,多少钱。张小龙回答:15万。雷军当时也答应了,因为金山不差钱。看似一桩姻缘,最后却没办成。

因为当时雷军太忙了,它作为金山的总经理有更多的事情在等着他。当时正在和联想谈投资的问题,就把这个件小事交给他的技术人员去办理。技术人员跑到广州和张小龙谈判,最后觉得这款软件没什么太大价值,金山分分钟的就能开发出来,可见他太高估自己了。雷军也就没放在心上,就与张小龙擦肩而过。

现在想起来,雷军肯定会后悔。他的米聊半死不活,如果让张小龙来操盘,那么它颠覆QQ未必不可能。这一忽略,就错失了一个顶尖人才。

最后几经波折,在2005年的时候,马化腾把这个团队给收购了,而张小龙也加入了腾讯,并且负责腾讯的邮箱业务。张小龙领导的广研团队没有辜负小马哥的期望,不断的创新和改进,使得腾讯邮箱用户大增,成为用户数量最多的邮箱。

在移动互联网来临的时候,张小龙更是抓住机遇,在2011年上线了微信,用户不断激增,微信大获成功。而张小龙也成为了马化腾最看重的人物,被提拔为腾讯的高级副总裁。

2005年3月16日,腾讯收购Foxmail软件,张小龙加盟腾讯公司,担任广州研发部总经理,全面负责并带领QQ邮箱团队。

2011年8月2日,张小龙担任腾讯公司副总裁,负责腾讯公司广州研发部的管理工作,同时参与公司重大创新项目的管理和评审工作。

2000年以前,张小龙曾是中国Top10的程序员。

他一个人写代码,完成了Foxmail三个版本。

一开始非常不顺利,最早的版本类似Web上的巨无霸,几乎无法操作。从程序员到管理者,从客户端产品经理到Web产品经理,张小龙度过了极为孤独的三年时光。三年后,他完成了第一次变形。QQmail被腾讯内部称为“七星级产品”。

张小龙开始了他的第二次转变,从Web工具类产品,进入Web社交类产品。这一过程大约耗费了不到两年时间,难度比上一次更大,周折更多。

张小龙和他的团队最先试验了阅读空间,这是跳出工具类产品的第一个接榫。做阅读空间貌似是一个工具,但是其中会有简单的人际互动。可以观察用户的行为和交互习惯。于是就有了QQ邮箱广播的尝试,这是在QQ邮箱中试图打造一个类Twitter产品的尝试。

第三次转变突然到来,张小龙的目光早已经从Web跳转到了移动互联网。

只是一个简单的要求,团队中的程序员就从原来的岗位离开,开始学习手机客户端的编程。原来在QQmail手机随身邮上的经验,被广泛应用到了微信的打造过程中。新的手机团队不是做一个客户端,而是iOS、安卓、塞班三个客户端同时开始做,放出iOS版本之后,立即转安卓做下一个版本,

安卓做完转塞班,然后再转回做iOS。这叫全天候手机开发团队。他们喜欢在黑夜里通宵开发,此时广州寂寥无人,适合集中精力并行开发。

微信在8个月里就横扫了整个市场,比它炫的没它简单,比它简单的没它快,没有谁比它更快,哪怕在GPRS下,微信也能把进度条轻易推到底。万法归宗,唯快不破。在各家拼单点功能的时候,微信在11年下半年突然跳离主战场,在LBS和视频通话上布下两粒棋子。随即,在LBS上开发了“摇一摇”功能。

满城的“卡嚓”声响起,无穷尽的寂寞之心终于有了简单的去处。从Web SNS产品到移动互联网SNS产品,张小龙第三跳只用了八个月。在这八个月里,微信从无人看好到炙手可热,巨大的转变下让张小龙感觉到更多的是孤独。

在2011年上半年的一个月时间内,他曾经一篇篇仔细读过几乎所有业界对微信的评价。读过一边倒认为微信无望的论调,读过各种关于微信抄袭KIK和Talkbox的指责。2011年下半年,一切都逆转了过来。张小龙依然沉默不语,但微信3.0的开机页面上放出了迈克尔·杰克逊的图片,边上写了迈克尔·杰克逊的一句话:“你说我是错的,那你最好证明你是对的。”

▲ 借助微信成功之后的张小龙,自信满满,意气风发

[1] 有关QQ、微信的技术故事: 《》 《》 《》

我要回帖

更多关于 微信如何把聊天的大量照片保存下来 的文章

 

随机推荐