如何呈现带有“feh”并在照片上显示日期戳的幻灯片?

如何呈现带有“feh”并在照片上显示日期戳的幻灯片?

我想以幻灯片形式展示我的照片,并为每张照片显示日期。我用 尝试过feh,它是用exif=1

  • 我找到了--info--drawexif但无法让它工作。

    feh -d  --draw-exif '-Directory<DateTimeOriginal>' -F --recursive Pictures/lokalt/pictures/
    

    左上角显示图片名称和图片路径全部EXIF 数据位于左下角。

  • 尝试了我看到“无处不在”的例子:

    feh --info "exifgrep '(Model|DateTimeOriginal|FNumber|ISO|Flash)' %F | cut -d . -f 4-" .
    

    这显示了没有文字的图片,当我退出时,我看到我有 2 个注释:

    sh: 1: exifgrep: not found
    sh: 1: exifgrep: not found
    

我应该如何格式化 EXIF 部分以仅显示照片日期?或者还有别的办法吗?

答案1

这个周末我带着完全相同的问题坐在那里,像疯子一样寻找答案,并偶然发现了这篇文章。在我自己终于弄清楚之后,我现在回到这里,创建一个帐户只是为了回答这个问题,如果其他人可能有同样的问题。

很多事情实际上都很简单。您需要安装 exifprobe 程序,exifgrep 是该程序的一部分。

sudo apt-get install exifprobe

--info 命令在 shell 中执行该命令,因此您需要安装 exifprobe 才能使其正常工作。 exifprobe/exifgrep 中的构建在 shell 中不起作用。例如,使用 --info 基本上可以让它打印任何命令输出feh --info 'echo "this will be printet on the image"' ./

安装 exifprobe 后,您可以运行以下 feh 命令并获取所需的日期信息。示例中的 cut 命令只是删除日期旁边显示的一些文本,以便您可以根据需要自行添加。

feh --info "exifgrep 'DateTimeOriginal' %F"

然而

实际上我最终为自己找到了不同的解决方案。你看,exifgrep 无法处理路径名中的空格因此,如果您有一条名为的路径,"~/Photos/My Favorit Cats/cat.jpg"它将无法工作,并且无论我如何尝试转义路径名,它都会中断。

相反,我最终发现exiftool你可以通过以下方式安装

sudo apt-get install exiftool

exiftool正确处理空格并且可以做很多很酷的事情,请查看手册。对您来说最重要的可能是列出照片的所有标记名,如果您想要的不仅仅是日期,请编写以下内容。

exiftool -s "~/Photos/My Favorit Cats/cat.jpg" 

-s 用于获取实际的标签名称,没有它,您将获得人类可读的名称。

然后使用这个工具我最终得到了下面的 feh 命令。请注意最后的点斜杠,这仅表示显示此文件夹中的所有照片。 cut 命令同样只是删除字符串输出中实际日期前面的标签名称。

feh --info 'exiftool -DateTimeOriginal %F | cut -d : -f 2-' ./

我希望这对寻找同样问题的其他人有所帮助。

相关内容