2025-08-19 11:13:00
最近发布了徒步反穿武功山,以及自驾皖浙赣的游记文章,点我直达 ,我分享到了 v2ex 以及 linux.do ,各路网友都说图床太慢了。由于原文图片数量的确较多,我的图床部署在家里,然后只有 VPS 的6Mbps小水管,在并发不大的时候阅读文章还行(图片加载的速度还OK,并且有配置懒加载,所以体验还行),但是昨天发了帖子之后有几波流量激增。于是我寻找办法:
最终我买了一个月的 edgeone,只花费4.7元~
现在部署好了 cdn,访问速度大大增加。当前时间点 2025-08-19 10:30:42 edgeone 流量情况
我这篇文章不算是教程吧,只能是个人的心路历程,我也不想写保姆级教程,太费事了。在此就简单讲讲过程和原理。
940304.xyz
然后经过认证我顺利的部署成功,也看到 edgeone 流量页面产生了非常多的数据,当前我博客中的多图文章访问体验肯定就好很多了。
但是后面我发现一个问题,就是图片资源访问后返回头当中的 Cache-Control 始终是 max-age=3600
,这说明 cdn 边缘节点只会缓存这张图片一个小时,如果用户在一个小时之后访问同链接会无法击中缓存,导致cdn节点回源获取原始文件,这势必会增加很多源站的流量,我的公网VPS以及家里服务器的流量都会增大,设置CDN的效果就大为下降了,而且我这就是图床程序,资源是静态的,不需要长时间变动。一般情况下图片资源都会设置30天后过期,也就是 max-age=2592000
(单位s),于是我开启了排查。
在部署 edgeone 之前,我的图床架构是这样的
在部署 edgeone 之后,我的图床架构变成这样
在任意有网络机器执行 curl -I https://image.940304.xyz/i/2025/05/21/682dd7d3137c3.jpg
发现返回 Cache-Control: max-age=3600
,我开启了漫长的排查,总结下来就是
1、在VPS上修改 nginx 配置,显式增加 Cache-Control 的返回头,设置成 public, max-age=2592000
,但是无果
2、在以上基础上,区分单独的匹配图片的 location,因为之前是一个反向代理 location /
就能搞定
配置是这样的
location ~* \.(jpg|jpeg|png|gif|webp|ico|css|js|svg|woff2)$ {
proxy_pass http://127.0.0.1:81;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $host;
# 30天缓存(仅对静态资源)
add_header Cache-Control "public, max-age=2592000, s-maxage=2592000";
# 跨域允许设置,允许所有跨域
add_header 'Access-Control-Allow-Origin' *;
# 自定义 Debug 头部(仅用于测试)
add_header HDKRESP "This-request-matched-jpg-location_test"; # 新增
# 跨域允许设置结束
# 防盗链设置,因为上述跨域是允许所有的,这里就要设置防盗链从而进行域名的白名单设置
valid_referers none blocked 940304.xyz *.940304.xyz hellodk.cn *.hellodk.cn hellodk.com *.hellodk.com 10.10.10.5;
#nginx不允许嵌套if语句,这个很关键,否则nginx -t 会测试失败,无法reload或者start nginx服务
set $block_access 0;
# 如果 referer 无效
if ($invalid_referer) {
set $block_access 1;
}
# 根据之前的判断结果决定是否拦截
if ($block_access) {
rewrite ^/ https://i.imgur.com/CB4Fseq.jpeg;
}
}
这样的确能增加Cache-Control 的返回头,但是edgeone 那边始终没有生效。我还去lsky pro 图床程序的源 apache2 服务端添加了 Cache-Control 头,因为根据 edgeone 的规则,会先读源站的缓存相关的返回头(Cache-Control:s-maxage, Cache-Control:max-age, Expires),如果有会优先遵循源站的配置
edgeone 的文档:https://cloud.tencent.com/document/product/1552/87651
edgeone默认缓存规则
默认缓存规则文字说明
3、发现修改vps nginx配置无果,我进入了 lsky pro 容器,做了以下操作
# Apache 需要启用 mod_headers 才能使用 Header set 指令,启用这个模块
a2enmod headers
# 修改生效配置文件 `/etc/apache2/sites-enabled/000-default.conf` 可以通过命令 `apache2ctl -S` 寻找生效的虚拟主机所在文件
# 并增加如下配置
<LocationMatch "^/i/.*\.(jpg|jpeg|png|gif|webp|ico|bmp)$">
Header set Cache-Control "public, max-age=2592000"
</LocationMatch>
# 重启apache2服务
service apache2 restart
现在图床源站点会给静态图片资源返回 Cache-Control 了,在图床容器中执行 curl -I http://localhost/i/2025/05/21/682dd7d3137c3.jpg
有如下返回
HTTP/1.1 200 OK
Date: Tue, 19 Aug 2025 03:11:18 GMT
Server: Apache/2.4.53 (Debian)
Last-Modified: Wed, 21 May 2025 13:40:35 GMT
ETag: "ef67-635a58279843c"
Accept-Ranges: bytes
Content-Length: 61287
Cache-Control: public, max-age=2592000
Content-Type: image/jpeg
在 edgeone 管理页面清除了这个URL https://image.940304.xyz/i/2025/05/21/682dd7d3137c3.jpg
的缓存,从 EO-Cache-Status
MISS 到 HIT(也就是第一次请求未击中缓存cdn节点回源了,到第二次击中了缓存),返回的 max-age 仍然是 3600
4、开始排查 edgeone 这边,终于找到了原因所在!
需要在这里点击站点加速,我以为默认的全局配置就是对的,因为设置的是遵循源站的 Cache-Control,所以一直没细看
这里全局配置是正确的,没毛病,但是右侧还有一个规则引擎默认是打开的(但是默认没有任何配置,尼玛坑死我),并且优先级更高。
规则引擎默认打开并且默认无配置坑我导致max-age一直是3600!!!(欲哭无泪
最后我因为不需要个性的规则引擎配置,我就将这边关掉了,直接使用全局配置,遵循源站的 Cache-Control 即可。
最终执行 curl -I https://image.940304.xyz/i/2025/05/21/682dd7d3137c3.jpg
返回了 Cache-Control: public, max-age=2592000
最终解决,这样可以减少 cdn 回源的频率,需求满足!
ok,如果你有任何疑问,欢迎留言与我讨论。
edgeone国际版测速分享到X或者Facebook得FreePlan,网站 https://edgeone.ai 甚至分享到X+分享到Facebook可得两份FreePlan
我等当前买的国内版失效之前的几天就切换到国际版。但是需要注意的是,腾讯云的一份身份认证只能实名制一个腾讯云账号,edgeone国际版要想使用中国大陆节点需要实名认证的账号才行。我的身份已经实名了国内版的了,后面大概就选择国际节点
国内版edgeone产品,4.7元买的一个月
2025-08-16 23:45:00
最近几年的8月旅行我都写了游记,在此给个超链接
时间又到了2025年8月,换我来享受一把假期,2号到10号,一共9天。
做攻略的时候看了很多,但最后都无法下定决心,这几天刚好非常热,想去高海拔地区避暑,同时不想报团游,最终还是觉得自驾游更有体验感。在bilibili看到这个视频,觉得很不错,这个博主分享的自驾线路以及推荐的地域非常客观合理。【8月全国自驾大盘点】 https://www.bilibili.com/video/BV1WTuzzWEZP/
原本打算去玩个伊犁小环线,也打算去贵州西部来个小环线,还打算去云南西北部,走走国道G219,去年去过川西小环线,今年因为各种原因最后放弃了远行。后面就决定环江浙皖赣了,😄 皖浙赣也有一部分地区海拔1000+,晚上甚至可以露营。最后和我哥一拍即合,旅行走起。
本次旅行只进行了7个完整天,和我们的预期相符,花费也没有很多。先看看旅行路书总览图。
收拾好行李箱带上防潮垫、睡袋和登山杖,坐高铁去合肥。
收拾到下午3 4 点,我们才从合肥出发,一开始打算直接到萍乡,但是出发晚了,最后决定夜宿南昌,刚好都没有去过南昌,听说南昌的夜景也不错。
在路上的感觉真好,我喜欢这种轻松的自驾游
由于是从合肥到南昌,高速上会经过我们的老家潜山市,还在【王河服务区】停车休息了。看到这个服务区的一些设施,就感觉非常的local,很潜山。比如:
晚上9点多到达南昌,看到八一广场摩肩接踵的人们惊呆了,昨天就是建军节,今晚继续热闹是吧。
找好了酒店,今晚就好好休息,明天再来逛逛南昌城。刚好明天是周日,不宜直接去武功山人挤人,挑个工作日再去正合适。
来了南昌必须要吃一吃江西美食。这个带辣椒的烤肠太香了,居然只要4块钱,也在洪都大拇指喝了奶茶,感觉也不错,比茶颜悦色便宜,个人感觉也更好喝。
打卡地点:万寿宫,大士院,滕王阁,八一广场,八一大桥。分享一些照片
![]() |
![]() |
![]() |
![]() |
超地道的南昌炒粉!
这个拌面也很不错
苏超火起来之后,赣超,粤超也都搞起来了。赣超的热度还是不错的,比粤超强。
在八一大桥边
为了滕王阁这个机位走了好久,热的一批当时,但是效果并不是很满意,被小某书骗了。
晚上爬楼拍到了这张【滕王阁】绝景,有时候坚持等待会有收获。
但因为爬楼拍照和等待赣江对岸的建筑亮灯,就7点半之后才能出发前往萍乡了,今晚定了那边的民宿,明天将要徒步反穿武功山。这将对我是一个挑战。只是又要开夜车了...
夜里凌晨0点才到民宿,事先打电话让民宿老板将房卡放在桌上,写个我名字的纸条,在此感谢民宿老板,我们顺利到达也顺利入住,洗去风尘就入睡了。
我们昨晚将车辆停在反穿的终点,也就是定的这家民宿家。今早打车去龙王山。重装徒步,我们还带了帐篷和睡袋,打算今晚在武发客栈附近露营一晚上,目标地海拔1600,夜里应该很凉快。
武功山-发云界枫林山庄登山口
整装待发,踌躇满志(指出发时,小小的我不知道后面的艰辛万苦)
徒步一开始遇到的妹子们也是重装,厉害厉害
一家三口的重装,小孩哥也太强了吧😂
有一说一,爬到这个第一站的难度好大,我爬到这里时已累成狗,加上低血糖,有点体力不支。简直地狱般开局
后面很多个补给站都没有拍,因为身上都湿透了,加上半山腰有很多带水汽的云团,手机摄像头都雾蒙蒙的。我在后面的两个补给点斥巨资买了三瓶原味有糖的可口可乐,500ML的,在第一家老爷爷那买了两瓶(我担心后面价格会更高😂),15块一瓶。第二家是个小哥哥营业,13块一瓶还让我上了个厕所(不然两块钱一次)。
用沾满水雾的手机拍了这张照片
爬了两个多小时,感觉身体渐渐适应并且有力气了起来,而且也遇到了一些平缓的山路,不像一开始的一段路海拔爬升太多了。
爬过最抖的两个多小时路段,来到一片平地,此时云雾缭绕,我们身处云团间,伸手见不到太远,湿度爆表。
全国统一的我在xxx很想你
到了中午,我们补充了能量,顺便也给身上的背包减轻负重。然后我找到一个补给点,点了一份蛋炒饭,居然只要20元,天地良心啊,吃完蛋炒饭我能量满满,还直接铺上蛋巢防潮垫在老板家地上简单午休了会。休息完继续出发,迎接我的是喜人的美丽风景!
下面这几张照片是拿出相机拍的了。不过此行相机拿出来的不多,实在是太累了,搞不动。
第一次爬到海拔1500左右的地方,遇到了风雨,我们赶紧将携带的雨衣穿上。
随后就是翻越一座一座的山,常言道望山跑死马,这对于渺小的人类来说一样,没想到这片山体能绵延不断如此之长。在绝望坡前我是真的蛮绝望的
绝望坡岩石攀爬
随后找到了露营地,天也渐黑,我们就露营扎寨了。今天的里程只有13公里但是海拔总爬升有1700米
天黑了深山里仍然有不断的徒步人,我没想到的是,这状态一直持续到第二天早上,也就是说夜里0点有人深夜爬山,夜里2点还有人深夜爬山,夜里3点都有小队伍从我们的帐篷前走过,还讨论着夜空的星星,以及吊马桩(也有可能是草甸星空)那边的灯火通明。
第二天起床后的风景,今天早起看到了一般的日出
收拾好之后我们便出发。今天遇到蛮多同行玻璃栈道的人,大家都是反穿徒步的勇士,我们在金顶下的广场分别。他们登顶去了,而我,因为“烧裆”实在难受就坐中庵索道下山了
从玻璃栈道上回望,这里已经是景区路段,设施很不错,风景也很好,海拔相对高度达到了1000米左右
从前往金顶的广场下撤到中庵索道站还要走一个多小时,尽管是全程下山。看到很多挑物资上山的挑山工,是真的强也真的辛苦。
坐索道排队良久,下山后打车良久,才等到一个本地司机,经过他口中才知道当地村民设置了多个栏杆,阻止非官方车辆进出,只允许景区大巴和当地村民车辆通行,(可恶啊,但是赚钱)
下午在村子里吃到了一顿美美的饭,江西菜似乎毫不吝啬添加辣椒,或者泡椒之类的~ 出发前往景德镇市。
在景德镇留下的最深印象有几个:
网络流量让这个无语佛(无语菩萨?无语披萨,哈哈哈)爆火,它建于民国年间,正式名称是沉思罗汉。为了看它还得单独排个长长长长的队伍
很可爱很好看的陶瓷制品
我买了这个杯子,手柄既可以用作手柄,也能当作吸管,摆在桌上很好看,杯子容积也刚好,喝水都赏心悦目
陶溪川文创街区没啥好玩的,东西贵,各种店有些脱离群众了。但是这张照片我还挺喜欢
晚上吃好饭看到一个工人大叔在一个牛骨汤店点了一份普通的炒饭
晚上吃饱喝足出发黄山祁门县,因为路线选取失误,还走到了“塌方治理,车辆绕行”路段,幸好绕行路段不长,路况也不是完全不能走,最终又是在0点左右到达酒店。
在祁门县,又回到了我大安徽,小县城的面貌让我格外亲切,吃了一顿极其有性价比的早餐,还吃到了2块钱一份的炒面,以前初中上学的时候买早餐还能买3毛钱、7毛钱、1块钱的炒面。
没想到昨天预订的酒店就在华东蛇伤救治基地隔壁,而且昨晚前台引导我们停车也是停在了他们的院子里
祁门有两大特色,一是红茶,二是蛇伤救治基地。
祁门红茶 :世界三大高香红茶之一,色泽乌润,香气独特似花似蜜,被誉为"红茶皇后",祁门县核心产区所产尤为珍贵。
祁门蛇伤研究所 :中国首个专业蛇伤救治机构,创立于1965年,以中西医结合疗法闻名,救治毒蛇咬伤水平全国领先,兼具科研与医疗功能。
准备出发去祁门统坑玩水,但是发现轮胎又报故障,胎压又回落到1bar左右。去检查发现确实扎了胎,只好等待修复。
旅行就是这样说不好说不准,刚好巧合的是,昨晚的酒店隔壁也是补胎店 -_-
补胎ing
我们到了统坑这边村庄门口,风景绝美。这个村名字叫湘东村,这里是牯牛降景区腹地,但还没有到开发的景区附近
道路的尽头还有这样的人家,其实和我们安庆山区的农村很像
统坑这边的绝美玻璃水。因为这里交通不便,海拔地势高,周围全是大山,所以这里的山谷里流淌的山泉非常非常清澈干净
非常美的水潭子,但因为今天下雨,并且温度不高,都没有往上下游探索更多更美的水潭
遇到一位80岁老奶奶,她说这里非常好,一辈子没生过病。我看她还真的健谈,另外手脚和精神都很不错,我说给她拍张照片留恋,她还主动将手中的矿泉水和雨伞放在身后的三轮车上站好身姿配合我的拍摄
虽然下了雨,但我依然游泳了,不然带的装备都白带了,俗话说来都来了。并且露营了,吃饭了,还带了西瓜、鸭货、罐装可乐雪碧芬达。注意:户外游玩请一定带走随身垃圾!
然后还进行了小溪垂钓,钓到了非常多的石斑,这里环境的天然让我们惊呼,真的有这么好的水域!
出发前往浙江临安太子尖驿站。240公里左右,3个多小时即到。晚上到达太子尖驿站,这里海拔1350左右,没想到居然有这么多人露营
今晚因为车辆就在帐篷旁边,可以换一个更大的帐篷了,相信可以睡得更好。
今天的行程就很简单,开车一路逛,看遍沿途风景。今天的大部分照片都是相机拍的,一起来欣赏沿途风景吧~
早上在太子尖驿站向下眺望
临安华光潭村
青山绿水,这里实际上我23年12月来过,当时就没有这么好看,毕竟当时是冬季
皖浙天路——安徽和浙江的交界处,牌坊修的不错呐
这一幕总让我想起深山禅院,黑神话悟空之类的概念,看起来就很幽深静谧,宁静美好
古韵悠扬,徽州古村落的经典标志,安徽省三级古树——枫杨
到达了皖浙天路的最高处——饭甑尖
这里的风景令我惊异,比起上次去的徽州天路,这里更加险峻,山体很像天柱山的花岗岩
今天烈日当下,但有蓝天白云,这些照片回头望真的很美,当时晒了点也无妨了
皖浙天路笔架峰
中午在绩溪县家朋乡炒了几个农家菜,吃得很满足。我们询问了周围游客和老板,哪里可以去游泳,哈哈,最终经过这个地方,梯田美景,美不胜收,不虚此行
对面的山,形似“山”字,形象至极
下午我们从宣城绩溪县驾车来到黄山徽州区西溪南古村落,听说今晚这里有鱼灯表演,没看过,自然很吸引我
古村落里也有很多人溯溪
一群嗷嗷待哺的小猫
古徽州的古村落,古村落房子里的细节,有大堂,有牌匾,有壁画,有圆桌,因为现代社会也有了空调,相得益彰
西溪南的游船,颇有皖南风味
夜幕降临,看到有人在售卖鱼灯了
表演开始,成群结队的一行人需要从起点走到终点,我第一次看到这样的文化,真的仿佛回到了从前,社会生产力低下,人们祈福风调雨顺,国泰民安的淳朴向往
此时还有舞蹈表演,围观的人群很多
终点处放起了烟花~ 居然如此浪漫,我赶紧调整了相机的模式,尽量用S挡多捕捉几张美丽的焰火
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
看完西溪南的鱼灯表演,我们准备回到南京了,这次旅行将要画上终点,累也是真的累,幸好我们有两个人轮流开车,可以间歇性休息。
行笔至此,已经花了超过6个小时,回望这次旅行,没有去往远方,但就在皖浙赣,也有非常不错的风景和人文,最初的想法是去避暑,但我们也去了高海拔地区露营,完美实现了心中所念。如果你也有想法出门转转,记得实施你的方案,远方的公路,远方的山水,就在那里。
感谢阅读,有任何想要交流的,欢迎评论区留言。
2025-05-14 09:33:00
如果你畅游社交网络的汽车区,经常有人分享“增程车的增程器就是个充电宝”这样的观点,更有甚者,觉得“1.0L, 1.5L 1.5T 都可以做这个充电宝”。这些排量+是否有涡轮增压的发动机都可以做增程器是不假,但很影响用车体验,并且和车的设计以及定位密切相关,如果是一辆通勤代步小mini车,整车不到4米长,高速需求少,那么增程是非常理想的方案。但是我看大部分买了某 6 7 8 9,以及另一个某8 9 车型的人,是经常跑高速的,这种如果不讨论燃油经济性,也会造成他们的电池很快跑完“可用”循环,并且长时间大功率放电会加速这些电池的衰减。
我从一个点切入,你就知道 1.5T 增程器用在“百万豪车”为何不妥了。
当电池电量 30% 时,三元锂电池整包的放电功率大概只有满电时的60%~70%,如果此时用户正在从【泸定县城】爬往【折多山垭口】,这个例子太具体了,我们换成高速上紧急加速场景。某增程车?6
(?代表一个字符)欣旺达三元锂电池包 36.8度,我查到他峰值是8C的放电倍率(几乎只能维持10+s),但是高负载(能扛住长时间大功率需求)时放电倍率只有3C,满电时放电能力有294.4kW,那么30% SOC 时候放电功率只有 110.4kW,无法满足此时的功率需求。
还有一个重要的点,也许很多人知道但是忽略了,电池包同一时间只能进行充电/放电,不可能既在放电又能充电的。
所以上面的场景下,很大可能是发动机+电池共同出力满足电机需求的。发动机 -> 发电机 -> 驱动电机,如果此部分功率不够,整车系统还会继续从电池中取功率喂给驱动电机。
这部分的能量传输路径是:发动机 - 发电机 - 交流电转直流电(AC to DC)- DCDC控制器 - 直流电转交流电(DC to AC)- 驱动电机 - 减速器/差速器 - 车轮。
能量转换图
发动机 → 发电机(AC) → 整流器(AC/DC) → 高压直流母线 → 逆变器(DC/AC)→ 驱动电机
↓
DCDC(DC/DC)→ 12V系统
所以增程车的增程器只是个充电宝吗?不是,某种意义上他也会参与“直驱”,但是他“直驱”的形式是通过曲轴带动发电机发的电驱动车轮前进。
我们在讨论直驱时,到底是在讨论什么?插混直驱就是发动机曲轴的力通过一些机构直接作用在车轮上,而不经过上面那一大串路径了。城区低速场景,功率需求比较低,大部分时间功率需求都在100kW以内,纯靠电池就能提供,这时候插混和增程是一样的,都是在合适的时间启动发动机专门发电,然后部分功率用于驱动,剩余功率充进电池。
2025-05-12 22:28:00
龙虎巷的高大梧桐树今年被政府砍断了,原本颇有老街风貌的街区瞬间失去了一些色彩,但这里依然还有很多魅力,昨天带上索尼 FE 35mm F1.8 去拍了几张照片,特此分享。
还遇到一个大爷,骑着电瓶车就来我跟前,“小伙子来摄影呀”,还颇健谈,和我讲以前浦镇的神话,甚至邀请我去他家喝酒…… hhhh
2025-05-12 15:46:00
今天看B站动态当中的配图文件格式是 AVIF,瞬间起了兴趣。
然后才发现我的博客这么多图片我一直还在使用 MozJPEG 格式压缩的,虽然 MozJPEG 压缩率已经很高了,但看到更先进的算法不由得还是心动了,于是决定进行一些研究和寻求一些改变。
Squoosh 是 Google chrome labs 推出的,他支持压缩成 AVIF, MozJPEG, BrowserJPEG(就是标准JPEG), WebP 等格式,我一直用他压缩图片。他是开源的,源码在 https://github.com/GoogleChromeLabs/squoosh 支持这么多压缩算法
Squoosh各种压缩算法对比表
算法名称 | 核心技术 | 优势场景 | 劣势 | 兼容性 |
---|---|---|---|---|
AVIF | AV1视频编码 | 超高压缩率(50%+),支持HDR/广色域 | 编码速度慢,旧浏览器不支持 | 需现代浏览器 |
Browser JPEG | 传统JPEG | 快速压缩,广泛兼容 | 压缩率/画质均低于优化算法 | 全平台兼容 |
JPEG XL (beta) | 新一代JPEG | 渐进加载,兼容传统JPEG,超高画质保留 | 尚处beta阶段,生态未普及 | 实验性支持 |
MozJPEG | 优化版JPEG | 比传统JPEG节省20%-30%体积,兼容性好 | 无法突破JPEG格式限制 | 全平台兼容 |
WebP | Google VP8 | 比JPEG小30%+,支持透明通道 | 部分旧设备不支持,不支持渐进加载 | 主流浏览器支持 |
WebP v2 (unstable) | 升级版VP8 | 比WebP体积更小 | 不稳定,可能产生画质异常 | 实验性支持 |
(注:PNG相关算法未列入主推荐,因PNG格式不适合照片压缩)
我的目标是占用存储空间小(用户访问文章图片加载也会更快),画质能接受不能太差,所以最好的方案是 AVIF,但是兼容性差,图床支持也不行。
最佳选择是这样的 优先级排序:AVIF > WebP > MozJPEG
质量等级 65-75
,开启 色域保留
选项。质量等级 75-85
,勾选 自动滤镜优化
。质量等级 75-80
,开启 渐进加载
提升感知速度。下面实测我拍的一张南京长江大桥图片,分别使用 AVIF, MozJPEG, WebP 压缩,每种压缩算法均使用 Squoosh 默认压缩选项,来比比看吧
可以看出,MozJPEG -> WebP -> AVIF 压缩率逐步提升,文件体积不断减小,我看了一下画质均在可接受范围内,其中 WebP 我勾选了【Auto adjust filter strength 自动调整滤镜增强】(不会影响压缩率和文件体积,只会影响画质),一个表格来表达
算法名称 | 压缩率 | 压缩后文件体积 |
---|---|---|
MozJPEG | 88% | 1.09MB |
WebP | 91% | 812KB |
AVIF | 95% | 419KB |
从表格可以看出 AVIF 压缩率和新文件的文件体积都遥遥领先,这正是未来趋势。不过使用 AVIF 压缩时间很久,电脑风扇也会呼呼转,这也是代价。
我使用的图床是 Lsky Pro,不支持 avif,开源版本目前也不会迭代了,更不会增加新需求。综上,我今后将使用 WebP 作为图床图片的格式,虽然比 MozJPEG 也没有强多少,但是总归是要更好的。
2025-04-25 17:18:00
我分享这个 flow 是因为我有分享视频中片段的需求,但是又不想用相机拍摄,相机拍摄效果可能也不好。下载下来再裁剪又太麻烦。尤其是我喜欢看车祸警示录,有时候看到某些事故非常搞笑,我就用这个手段录制下来,视频可能就10s,30s,然后再微信分享,就很 nice 了。如果是分享10min的完整视频那种,就不如直接贴链接,或者直接下载下来再分享,不需要使用本文方案进行录制。
你是否会因为难以下载 YouTube, X(Twitter), 小红书, Instagram, 微博 之类的网站上的视频而发愁呢……虽然下载这些网站的视频大多都有在线工具或者命令行工具,可以在 GitHub 寻找。
但是目前经过我的日常使用,小红书和微博上的视频资源不是很轻松就能下载下来,或者下载用时很久,还可能下载下来文件太大(比如下载时无法执行码率和分辨率),不利于再次分享。
我为了解决这个问题,一开始使用了 NVIDIA Geforce Experience,但是这个只能录制屏幕的完整内容,如果想要录制屏幕当中的某一块区域,英伟达这个软件就不行了。
于是转而使用 Obs Studio。下面这段介绍来自 DeepSeek V3
OBS Studio(Open Broadcaster Software)是一款免费开源的跨平台直播和录屏软件,广泛用于游戏直播、教学演示、视频创作等场景。以下是其核心特点:
官网下载:OBS Project
社区活跃,遇到问题可通过论坛或GitHub快速解决。适合追求高自由度、零成本的用户。
我在使用 Windows 11 电脑。安装好 Obs Studio 之后,打开软件,进行初始化配置,我不直播,所以只进行了 recording 录制相关的初始化,最后 apply settings,应用设置。
添加源。我拿录制B站车祸警示录的视频举例,使用 edge 浏览器播放B站视频,那么来源选择【窗口采集】,选中正在运行的 edge 那个窗口,标题前缀是 [msedge.exe]
,
如果不想录入当前电脑麦克风的声音,请将 Mic 给静音。
此时会录制整个窗口的画面,如果想录制视频播放区域,需要添加一个裁剪/填充
的【滤镜】,如下图,设置好距离左,顶部,右,底部的像素数量关闭即可。
在开始录制前确保输出的视频画面充满整个画布,勾选使用此源的尺寸作为输出分辨率 (重要重要!否则输出的视频可能有很多“留黑”空白区域)
最后再点击【开始录制】,同时播放 edge 浏览器窗口的视频,在视频结束时(或者你想截取的视频片段刚好结束)点击【停止录制】。
最终录制视频呈现的质量,设置项在 【设置】->【输出】->【录制】->【录像质量,录像格式,视频编码器,音频编码器,音轨】等配置。
建议录像格式使用MPEG-4,方便传播,比如微信就可以直接预览 mp4 视频。