群晖 DSM 快速随手压缩照片及 Office 文档有无好的方案? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
Apol1oBelvedere
V2EX    NAS

群晖 DSM 快速随手压缩照片及 Office 文档有无好的方案?

  •  
  •   Apol1oBelvedere 2022-12-13 16:37:51 +08:00 2729 次点击
    这是一个创建于 1111 天前的主题,其中的信息可能已经有所发展或是发生改变。

    群晖 File Station 里面存储了大量的文档、照片。有一些处于冷存储状态的文件想减小其体积存储,例如:

    • Office 文档:里面的图片不需要当初的体积了,想用 NXPowerLite 类似的软件压缩为小体积。
    • 照片:一些资料性照片几兆大小压缩为几百 KB 足以满足后期回看及存储需求了。

    目前想法是在群晖 File Station 里面浏览到哪个文件了想压缩就直接点某个功能实现压缩,可能的方案例如:

    1. 群晖开发个压缩插件在右键菜单;//基本不可能。
    2. 浏览器有个脚本快捷方式调用某些软件压缩后替换;
    3. Docker 有个代码能对接群晖 File Station 里面来压缩;

    不知有什么好的办法?

    15 条回复    2022-12-14 10:29:30 +08:00
    lookStupiToForce
        1
    lookStupiToForce  
       2022-12-13 16:41:30 +08:00
    File Station 设置共享目录读写配置,windows 映射进来挂载成网络驱动器,一个 python 脚本完事
    Apol1oBelvedere
        2
    Apol1oBelvedere  
    OP
       2022-12-13 16:47:14 +08:00
    @lookStupiToForce 不需要批量的,是平时随手看到要优化的就去优化。有一些文档图片不需要压缩。
    lookStupiToForce
        3
    lookStupiToForce  
       2022-12-13 16:50:27 +08:00
    @Apol1oBelvedere #2 emmmm ,那我确实没有好方法
    不过再不济,utools 或者 quicker 这种通用工具应该能帮你忙
    Apol1oBelvedere
        4
    Apol1oBelvedere  
    OP
       2022-12-13 16:55:53 +08:00
    @lookStupiToForce 通过网络驱动器查看文件时工具很多,在群晖 File Station 就没有什么好办法了,群晖系统比较封闭。
    xiaoduhappy2018
        5
    xiaoduhappy2018  
       2022-12-13 18:16:43 +08:00
    你可以考虑用 rdfind 查找重复文件做成硬链接或者直接删掉,减少磁盘占用。
    ql562482472
        6
    ql562482472  
       2022-12-13 19:45:12 +08:00   1
    主要这个需求本身就非常难处理,人就很难处理,更不要说机器来处理,
    第一是自身的需求难以表达清晰,比如照片压缩,什么照片要压缩就是额外带来的问题,什么 docx 中的图片要降低质量,降低到什么程度,也是额外带来的问题;
    第二是难以自动化,压缩的时机难以表达
    第三是 NAS 系统难以做“压缩存储”这样的需求,这带来了额外的问题

    相对来说,加硬盘是个更省事并且没有增加问题的方案。
    DoveAz
        7
    DoveAz  
       2022-12-13 20:09:05 +08:00 via Android   2
    办法总比困难多,我觉得可以在浏览器上做个油猴脚本,给 file station 增加压缩按钮,识别地址,再配合服务器脚本对该地址的图片文件进行压缩并替换,我觉得我都可以开发,这项目你给我投 2 万块,包我身上了
    jeesk
        8
    jeesk  
       2022-12-13 20:21:55 +08:00
    @DoveAz 最后两句笑喷了。
    lifanxi
        9
    lifanxi  
       2022-12-13 21:29:33 +08:00
    类似把原来高清的图片缩分辩率、把视频转码压缩体积、把音乐从无损变成有损这样的事情,十几年前我经常做,现在我已经不做了。十几年前 320×480 分辨率的视频都能看,现在 4K 都不觉得有过于清晰。有损压缩压完了就再也回不去原来了,没有后悔药。现在存储这么便宜,未来也会越来越便宜,实在不值得去这么做。
    Apol1oBelvedere
        10
    Apol1oBelvedere  
    OP
       2022-12-13 21:38:44 +08:00
    @ql562482472 这些想法考虑过,只是在看看大家有没有奇思妙想:)
    Apol1oBelvedere
        11
    Apol1oBelvedere  
    OP
       2022-12-13 21:39:09 +08:00
    @DoveAz 就是这个想法,要是群晖加上这个功能就真实太好了。
    mgrddsj
        12
    mgrddsj  
       2022-12-14 01:46:17 +08:00
    如果非要 File Station 里面操作的话,我这里有个思路:从文件名入手,NAS 上跑一个监测文件变动的脚本,检测到某种文件名就对它进行操作。

    花了十几分钟随手用 Python 写了个 POC 。这个脚本一直在后台监测文件变动,一旦发现文件名中含有 "[towebp]",就会调用 ffmpeg 把它转换成 webp 格式的图片。

    上演示视频和代码:


    https://gist.github.com/mgrddsj/35f1339941ff1b3eabb15e99c34e3ae0

    考虑到 NAS 系统里的 Python 通常不带 pip (说的就是你,QNAP ),就从网上找了个不用第三方库的检测文件变动的代码改了改来用。图片压缩上,我图省事直接用了 ffmpeg ,高手可以玩玩 imagemagick 。ffmpeg 的参数我就没细调了,直接用的默认参数(有损 webp 压缩),效果已经不错了。文档的话,可能得找个类似的命令行工具咯。

    因为这玩意操作起来没楼上说的那么优雅,我就只收 1.5 万吧 ;)
    goodryb
        13
    goodryb  
       2022-12-14 09:57:56 +08:00
    不过话说回来,这样压缩之后能节省多少空间呢, 现在存储越来越便宜的情况下似乎收益不高
    Apol1oBelvedere
        14
    Apol1oBelvedere  
    OP
       2022-12-14 10:28:24 +08:00
    @mgrddsj 非常棒,我来在群晖上进行试验。
    Apol1oBelvedere
        15
    Apol1oBelvedere  
    OP
       2022-12-14 10:29:30 +08:00
    @goodryb 还有个好处是在线加载提速,有的 Office 文档看起来几十兆,NXPowerLite 压缩后就一兆多效果仍很好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2691 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 09:12 PVG 17:12 LAX 01:12 JFK 04:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86