gphoto2 후크 스크립트 - 가이드?

gphoto2 후크 스크립트 - 가이드?

나는 이것을 raspberrypi.stackexchange에 게시했지만 여기로 이동되었습니다. 저는 Linux/Unix를 처음 접했고 gphoto2.

gphoto2 --capture-tethered --hook-script=myhookscript.sh \
    --filename="/home/media/usbpendrive/image-%Y%m%d-%H%M%S.jpg" \
    --force-overwrite

이는 내 USB 펜 드라이브에 이미지를 다운로드한 다음 후크스크립트에서 새 명령을 찾는 것으로 가정됩니다.

다음 단계는 qiv유사한 이미지 뷰어를 사용하여 폴더에서 마지막 캡처를 찾은 다음 전체 화면으로 표시하는 것입니다. 누군가가 이 후크 스크립트를 만드는 방법을 간단한 용어로 설명해주길 바랍니다.

답변1

Gphoto는 사용할 수 있는 후크 스크립트를 전달 $ACTION합니다 .$ARGUMENT

예로서:-

#!/bin/bash

if [ $ARGUMENT ]; then
    if [[ $ARGUMENT =~ .+\.[jpg|JPG] ]]
    then
    # Then next few lines are optional
    # Alternatively pass $ARGUMENT directly to your image viewer eg:-
    # /usr/bin/shotwell "$ARGUMENT" &
    DIRNAME=$(dirname "$ARGUMENT")
    BASENAME=$(basename "$ARGUMENT")
    NEWFILENAME="$DIRNAME/my_new_folder/$BASENAME"
    mv "$ARGUMENT" "$NEWFILENAME"
            /usr/bin/shotwell "$NEWFILENAME" &
    fi
fi

이렇게 하면 파일이 에서 열리지 shotwell만 원하는 뷰어로 쉽게 변경할 수 있습니다.

두 번째 if명령문은 때때로 샷웰에서 열리지 않는 원시(캐논의 경우 CR2)를 생성하도록 카메라를 설정했기 때문에 다운로드한 파일이 JPG인 경우에만 샷웰이 사용되도록 합니다. 다른 시청자와 함께 열 수 있도록 확장할 수 있다고 생각합니다.

--filename이미지는 귀하의 경우 에 제공된 인수로 저장됩니다 /home/media/usbpendrive/image-20140616-125500.jpg. 이는 $ARGUMENT후크 스크립트에 저장되어 전달되는 값입니다 .

dirname및를 사용하여 basename이 경로와 파일 이름을 관련 부분으로 분할한 다음 다시 사용하여 이미지의 새 경로와 파일 이름을 만들 수 있습니다.

$dirname /home/media/usbpendrive/image-20140616-125500.jpg
/home/media/usbpendrive 
$basename /home/media/usbpendrive/image-20140616-125500.jpg
image-20140616-125500.jpg

$ARGUMENT는 이미지를 다운로드할 때만 사용할 수 gphoto있으므로 이 경우 확인이 $ACTION중복됩니다.

물론 파일에는 실행 가능한 비트가 설정되어 있어야 합니다.

나는 이것을 발견하고 나서야 사용을 중단했습니다얽힘하지만 Pi에서 사용할 수 있는지 확실하지 않습니다.

관련 정보