找回密码
 立即注册
查看: 1923|回复: 1

请教如果使用 MPV 按图片宽高比顺序看图

16

主题

293

回帖

504

VC币

白金会员

Rank: 12Rank: 12Rank: 12

积分
55631
StarRingChild 发表于 2021-8-5 20:23:25 | 显示全部楼层 |阅读模式
本帖最后由 StarRingChild 于 2021-8-5 20:39 编辑

排版有点乱,原帖 https://kyoani.notion.site/MPV-5934c403e0814674b517750926aa6415
emmm 先别问为什么。
我现在用的一个 lua script,https://github.com/TheAMM/mpv_sort_script
只能按照 name date size 排序,结合 MPV 大概的用法:
  1. cd Pictures/

  2. mpv --really-quiet rsort-date-:.
复制代码

只需要一行就可以按照日期顺序浏览整个 Pictures 的图片,就像看幻灯片一样方便。
我想加个 ratio 的参数,按照图片宽高比排序,但是我不懂 lua
有人可以帮忙改一下吗?
或者我还有个大概的思路:
1. 获取宽高比数据
2. 处理并排序数据
3. 输出给 MPV
第一步可以用 identify 得到类似这样的信息:
  1. 1348286172984791041_1.jpg JPEG 1124x1740 1124x1740+0+0 8-bit sRGB 101939B 0.000u 0:00.000
  2. 1333029790937333762_1.jpg JPEG 1280x853 1280x853+0+0 8-bit sRGB 206706B 0.000u 0:00.000
  3. 1350005865064001536_1.jpg JPEG 1407x1067 1407x1067+0+0 8-bit sRGB 112359B 0.000u 0:00.000
  4. 1365667835414941697_1.jpg JPEG 1440x1080 1440x1080+0+0 8-bit sRGB 107308B 0.000u 0:00.000
复制代码

identify -format '%w %h' 虽然可以直接得到宽高值,但不知为何速度慢得多
第二步可以用 sed , sort 之类的处理,具体我也不知道怎么写,这是第一个难点;
第三步同样不会。
设想的大概用法:
  1. cd Pictures/
  2. 
identify *png *webp *jpg | sed ~~ | sort ~~ | mpv ~~
复制代码


回复

使用道具 举报

16

主题

293

回帖

504

VC币

白金会员

Rank: 12Rank: 12Rank: 12

积分
55631
StarRingChild  楼主| 发表于 2021-8-8 01:47:17 | 显示全部楼层
本帖最后由 StarRingChild 于 2021-8-8 01:50 编辑

终于写出来了
  1. identify * | \
  2. gawk '{split($3,sizes,"x"); print $1,sizes[1]/sizes[2]}' | \
  3. sed 's/\[.\]//' | sort -gk 2 | gawk '{print $1}' | \
  4. mpv --no-resume-playback  --really-quiet --playlist=-
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表