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