"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

나는 이번 주말에 똑같은 질문을 가지고 앉아 미친 사람처럼 대답을 찾고 있었는데 우연히 이 기사를 발견했습니다. 마침내 스스로 문제를 해결한 후, 저는 지금 여기로 돌아와서 다른 사람도 같은 문제를 겪을 경우를 대비해 이 질문에 답하기 위해 계정을 만들었습니다.

많은 것들이 실제로는 매우 간단합니다. 엑시프그레프(Exifgrep)가 포함된 엑시프프로브(Exifprobe) 프로그램을 설치해야 합니다.

sudo apt-get install exifprobe

--info 명령은 셸에서 명령을 실행하므로 이것이 제대로 작동하려면 EXIFprobe를 설치해야 합니다. exifprobe/exifgrep의 빌드가 셸에서 작동하지 않습니다. 예를 들어 --info를 사용하면 기본적으로 모든 명령 출력을 인쇄할 수 있습니다.feh --info 'echo "this will be printet on the image"' ./

exifprobe를 설치한 후 다음 feh 명령을 실행하여 필요한 날짜 정보를 얻을 수 있습니다. 예제의 잘라내기 명령은 필요한 경우 사용자가 직접 추가할 수 있도록 날짜 옆에 나타나는 일부 텍스트를 단순히 제거합니다.

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-' ./

이것이 동일한 문제를 찾는 다른 사람들에게 도움이 되기를 바랍니다.

관련 정보