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명령문은 다운로드한 파일이 JPG인 경우에만 샷웰이 사용되도록 보장합니다. 때로는 카메라가 Raw(Canon의 CR2)를 생성하도록 설정되어 있지만 샷웰에서 열 수 없기 때문입니다. 다른 시청자들과도 소통할 수 있도록 확장될 수 있다고 생각합니다.

--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에서 사용할 수 있는지 확실하지 않습니다.

관련 정보