微信发图片,是本地压缩了再传?还是传到服务器上再压缩?

2017-01-29 08:21:51 +08:00
 xyjtou
微信的图片压缩做的比较猛,基本上是 640px.jpg , 50%的画质。图片压缩后是比较小,省流量,就是不知道是在传输前压缩(本地),还是上传后压缩(服务器)?
4485 次点击
所在节点    问与答
32 条回复
a302800411
2017-01-29 12:12:56 +08:00
不选择原图,发送方至少压缩到质量的 90%,肉眼感官基本没有变化,但是流量有时候能少一半。
woweiqingkuang
2017-01-29 12:20:38 +08:00
@jpmorn fpga 好像很牛 X 的样子?
ytmsdy
2017-01-29 13:58:53 +08:00
一般来说都是压缩以后上传,然后服务器存原图。
客户端请求的时候,先给一个压缩过的缩略图。如果用户点开图片在向服务器请求大图。
xyjtou
2017-01-29 14:17:40 +08:00
@ytmsdy “然后服务器存原图” - 这个原图什么时候上传的呢?

微博和微信上传图片貌似不同,微博服务器默认都是有在服务器保存原图,所以,反正是要把原图放服务器上,在客户端压缩、服务器端压缩,已经没什么区别了吧
hack
2017-01-29 14:49:25 +08:00
local
Domains
2017-01-29 14:50:21 +08:00
你们没用过 PC 端发图? 我用 PC 端发微信图片,都是直接发 20M 这样的高清大图, 2M 上传速度得 2 、 3 分钟这样,本地是原尺寸上传到服务器,对方接收先是压缩过的,然后可选择下载原尺寸( 20M )。
jpmorn
2017-01-29 15:34:59 +08:00
@woweiqingkuang 6 倍速
ytmsdy
2017-01-29 19:38:55 +08:00
@xyjtou 有区别
1 :图片进过无损压缩以后,上传到服务器。就算最差的压缩算法都可以将图片压缩 30%以上,虽然图片不大,但是乘以微信海量的图片发送量。这个节约下来的流量也是很可观的,流量就是钱啊。
2 :在客户端压缩,可以节约服务器的系统开销。图片压缩也是要付出 cpu 资源和 IO 资源的。虽说看着单张图片的消耗的资源不大,但是在微信的海量图片面前,都是很客观的节约。 cpu 资源和 IO 资源也都是钱。
qiayue
2017-01-29 20:17:24 +08:00
1 、发送图片时,可以选择是否发送原图,如果发送原图,不压缩直接上传,默认发送则是发送压缩后的图片。
2 、不管发送的原图还是默认压缩的图片,接收方显示到消息列表的都是缩略图,点击缩略图之后,都是直接把缩略图拿来放大显示,同时显示“查看原图”按钮。

2 里边的“原图”指的是相对于缩略图而言的,由发送方发出来的原始图片(可能是原始照片,也可能是压缩过的)
qiayue
2017-01-29 20:18:28 +08:00
也就是说,假如你有一张 20M 的原始照片,你发给别人的时候,没有选择发送原图,接收方是不可能得到你的 20M 的原图的
xyjtou
2017-01-29 21:45:49 +08:00
@qiayue 不对的。原图 - 大图 - 缩略图,三个级别的清晰度,都是存在的。缩略图是默认推送的,大图在 wifi 下是默认推送,移动网络下要用户点击之后才加载。
qiayue
2017-01-29 23:16:18 +08:00
@xyjtou 发送方不发原始照片,接收方不可能得到原始照片,接收方的原始图片跟发送方的原始照片不是同一个概念

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/337300

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX