V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xyjtou
V2EX  ›  问与答

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

  •  
  •   xyjtou · 2017-01-29 08:21:51 +08:00 via Android · 4381 次点击
    这是一个创建于 2660 天前的主题,其中的信息可能已经有所发展或是发生改变。
    微信的图片压缩做的比较猛,基本上是 640px.jpg , 50%的画质。图片压缩后是比较小,省流量,就是不知道是在传输前压缩(本地),还是上传后压缩(服务器)?
    32 条回复    2017-01-29 23:16:18 +08:00
    ouqihang
        1
    ouqihang  
       2017-01-29 08:25:36 +08:00
    如果上传后再压缩,那还怎么省流量。
    xyjtou
        2
    xyjtou  
    OP
       2017-01-29 08:27:57 +08:00 via Android
    @ouqihang 接受方收到的肯定是压缩后的图片。我问的意思是图片发送方。
    marsLeo
        3
    marsLeo  
       2017-01-29 08:32:42 +08:00 via Android   ❤️ 1
    本地压缩,记得知乎上有个讨论: iOS 上微信的图片压缩质量比 Android 的更好
    wenymedia
        4
    wenymedia  
       2017-01-29 08:33:43 +08:00 via Android
    有什么理由不在本地压?
    JackyBao
        5
    JackyBao  
       2017-01-29 08:39:08 +08:00 via Android
    @marsLeo 确实如此
    flowerwrong
        6
    flowerwrong  
       2017-01-29 09:02:47 +08:00 via iPhone
    查看原图呢?
    FrankFang128
        7
    FrankFang128  
       2017-01-29 09:03:38 +08:00
    不知道有 无损压缩 吗……
    wclebb
        8
    wclebb  
       2017-01-29 09:14:57 +08:00 via iPhone
    @FrankFang128 无损?……看到都差不多损得太厉害了
    br00k
        9
    br00k  
       2017-01-29 09:18:07 +08:00 via iPhone
    发图的时候不是可以选原图么。默认是压缩的。
    huangtao728
        10
    huangtao728  
       2017-01-29 09:40:27 +08:00 via Android   ❤️ 3
    直接传是在手机压缩,选了原图就会在服务器压缩
    expkzb
        11
    expkzb  
       2017-01-29 09:40:53 +08:00
    服务器也有压缩吧,毕竟有上传原图功能
    loading
        12
    loading  
       2017-01-29 09:44:23 +08:00 via Android
    本地压,省了流量,重点是省了运算啊!
    anheiyouxia
        13
    anheiyouxia  
       2017-01-29 09:53:06 +08:00 via Android
    肯定是再本地压啊,你没送过发送原图功能?一般网络不好的时候,发送一张 2M 的图片要半天,这个情况下不勾选原图基本上几秒就发完了。
    learnshare
        14
    learnshare  
       2017-01-29 10:38:45 +08:00
    两个方向可能都有压缩
    timhal
        15
    timhal  
       2017-01-29 11:09:14 +08:00 via iPhone
    楼主连一楼的回复都看不懂 没救了◝( ˙ ꒳ ˙ )◜
    xyjtou
        16
    xyjtou  
    OP
       2017-01-29 11:11:18 +08:00 via Android
    @learnshare 嗯,接收方收到的缩略图,可能是服务器上压的。点击后再加载大图,然后再需要,可以查看原图
    abbatuu
        17
    abbatuu  
       2017-01-29 11:12:29 +08:00
    @ouqihang
    @timhal
    流量是你的 和微信有啥关系
    存储空间才有意义

    哈哈 逃
    zmz125000
        18
    zmz125000  
       2017-01-29 11:13:37 +08:00 via Android
    朋友圈的话两边都压,自己发了马上保存下来和在另一部手机上保存大小不一样。服务器压缩后画质损失很大。
    skydiver
        19
    skydiver  
       2017-01-29 11:18:37 +08:00 via Android
    @timhal 楼主看懂了,你没看懂
    服务端压缩也能省流量,省接收方的流量
    jpmorn
        20
    jpmorn  
       2017-01-29 11:30:41 +08:00 via Android   ❤️ 1
    一个冷知识,腾讯是在用 fpga 压缩图片,对于它这个量级的公司,这点再划算不过了。
    a302800411
        21
    a302800411  
       2017-01-29 12:12:56 +08:00 via iPhone
    不选择原图,发送方至少压缩到质量的 90%,肉眼感官基本没有变化,但是流量有时候能少一半。
    woweiqingkuang
        22
    woweiqingkuang  
       2017-01-29 12:20:38 +08:00
    @jpmorn fpga 好像很牛 X 的样子?
    ytmsdy
        23
    ytmsdy  
       2017-01-29 13:58:53 +08:00
    一般来说都是压缩以后上传,然后服务器存原图。
    客户端请求的时候,先给一个压缩过的缩略图。如果用户点开图片在向服务器请求大图。
    xyjtou
        24
    xyjtou  
    OP
       2017-01-29 14:17:40 +08:00
    @ytmsdy “然后服务器存原图” - 这个原图什么时候上传的呢?

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

    2 里边的“原图”指的是相对于缩略图而言的,由发送方发出来的原始图片(可能是原始照片,也可能是压缩过的)
    qiayue
        30
    qiayue  
       2017-01-29 20:18:28 +08:00
    也就是说,假如你有一张 20M 的原始照片,你发给别人的时候,没有选择发送原图,接收方是不可能得到你的 20M 的原图的
    xyjtou
        31
    xyjtou  
    OP
       2017-01-29 21:45:49 +08:00
    @qiayue 不对的。原图 - 大图 - 缩略图,三个级别的清晰度,都是存在的。缩略图是默认推送的,大图在 wifi 下是默认推送,移动网络下要用户点击之后才加载。
    qiayue
        32
    qiayue  
       2017-01-29 23:16:18 +08:00
    @xyjtou 发送方不发原始照片,接收方不可能得到原始照片,接收方的原始图片跟发送方的原始照片不是同一个概念
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3154 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:19 · PVG 22:19 · LAX 07:19 · JFK 10:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.