octoprintのタイムラプスをstreamableに自動アップロード

2017-02-28 15:07:34   #3DPrinter  #flyingbear  #octoprint  #golang 

octoprintをつかってタイムラプスを取るのは楽しいですが、
どうにもサイズがでかいのでSDカードを逼迫するような気もします。

ところでstreamableってサービスをご存知でしょうか?
imgurの動画版みたいなやつです。
とりあえず動画をアップして共有しようというサービスです。

そこでこいつに自動アップロードする機能をoctoprintにつけられないかな?と思いました。
作りました。

golangのライブラリが提供されていたのでアホみたいに簡単なので、 正直ツール化する意味はあるのかという気もしますが。

先ずはstreamable/signupからアカントを作っておきます。
そうしないと削除できないので。

octoprintが動いているサーバ(raspberypiかorangepi等のarm環境限定です)から以下のコマンドで取得します
またoctoprintを動かすユーザはoctoprintだと仮定しています

sudo su - octoprint
cd ~/bin
wget  https://github.com/m0a/up2streamable/releases/download/0.1/up2streamable
chmod +x up2streamable

以下のコマンドを実行します

up2streamable -path ~/.octoprint/timelapse -u userid -p password

~/.octoprint/timelapseに動画が格納されていればuploadが成功します

成功したらcronで設定しておきます。


HOME=/home/octoprint
*/15  * * * * $HOME/bin/up2streamable -path $HOME/.octoprint/timelapse  -u username -p password -delete

以上です。オプションに -deleteを指定することで自動削除します。