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

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

  • TA的每日心情
    开心
    2023-1-26 20:58
  • 签到天数: 77 天

    [LV.6]常住居民II

    13

    主题

    250

    回帖

    456

    VC币

    金牌会员

    Rank: 6Rank: 6

    积分
    36212
    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 ~~
    复制代码


    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-1-26 20:58
  • 签到天数: 77 天

    [LV.6]常住居民II

    13

    主题

    250

    回帖

    456

    VC币

    金牌会员

    Rank: 6Rank: 6

    积分
    36212
    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=-
    复制代码

    回复

    使用道具 举报

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

    本版积分规则

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