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ビューアに簡単に変更できます。

2番目ifのステートメントは、ダウンロードしたファイルがJPGの場合にのみショットウェルが使用されることを保証します。時々、カメラはRaw(CanonのCR2)を生成するように設定されていますが、Shotwellで開くことができないためです。他の視聴者ともコミュニケーションできるように拡張できると思います。

--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で利用できるかどうかはわかりません。

おすすめ記事