Record Videoを直してみた

###Record Videoが使えない?
ChoregrapheにRecord Videoボックスを直してみるまでの流れを初心者目線で書いてみた。
http://qiita.com/tonosamart/items/8b02243abdb9884b3083
とのさまラボさんありがとうございます。

###書いてあること
***
・ログビューアーの使い方。
・簡単なソースの読み方。
・ボックス機能の調べ方。
・FTPの使い方
・ヘルプの検索の仕方
・パラメーターの取得
・パラメーターの新規作成
***
　
　
　
　
　
###エラー改修編
***
###まずは使ってみる
使ってみると早速エラー。
![エラー画面.jpg](https://qiita-image-store.s3.amazonaws.com/0/60999/0dc53c55-80bf-5834-bb22-89705a1c0713.jpeg)
なんか赤い。




###エラーの原因を見てみる。
エラーの原因を見る場合に使うのはログビューアー。
見てみるとこんな記述が。
![ログビューアー.png](https://qiita-image-store.s3.amazonaws.com/0/60999/88614937-0a74-bf9f-f2de-f3f7b786d7c4.png)

どうやらALVideoRecorderが見つからないらしい。
「そんなことを言われても、、よくわからないよ」
と思ったが、Speech Recoボックスをつないだときにも同じようなエラーが出てた気がするので試してみる。

　
　
　
　
　
![ログビューア　スピーチレコ.png](https://qiita-image-store.s3.amazonaws.com/0/60999/ba3dcb5e-45eb-cebc-1287-4dfd46895a87.png)

症状が同じっぽい。
（ちなみに、ログビューアーはctrl+Lでログをクリアできます。）

とりあえず秋葉原の3331にいるのでロボットにつないでみよう。

　
　
　
　
　
###まだまだエラーが
![つないだのにエラー.png](https://qiita-image-store.s3.amazonaws.com/0/60999/ff0c01e2-c10d-e7a7-58f5-29caf94603ef.png)
なんかエラーが出る。

でもglobal nameとか言っているし、これって、変数名がおかしいだけなのでは??
と思い中を覗いてみようとダブルクリックしてみると
![前衛的な配置.png](https://qiita-image-store.s3.amazonaws.com/0/60999/23398d92-1481-aa30-b7b1-002fc4651d62.png)
前衛的な配置

なんだこれ。
waitが宙に浮いてる。

とりあえず無視して赤くなってるところをダブルクリック。

![エラーの位置.png](https://qiita-image-store.s3.amazonaws.com/0/60999/cc10f10e-877b-8dd6-ccb7-e545764f70f5.png)
場所はこれを見ると27行目ってことかな?



![globalname.png](https://qiita-image-store.s3.amazonaws.com/0/60999/64f52cd1-5902-a514-bf1d-b3c740f69290.png)
なんか、videoRecorderとかいうのがあからさまに色が違う。
他の変数はみんな頭に"self."がついてるから、それが原因なんじゃないかな。
とにらんで真似。
どうせ失敗したところでもう一回ボックスライブラリからドラッグ＆ドロップしてくれば済むし。
思い切りが大事。

　
　
　
　
　
![38行目.png](https://qiita-image-store.s3.amazonaws.com/0/60999/102566fa-9f6b-7b57-13a5-717e09cf5b6a.png)

エラーが変わった。
予想が当たった。やったか？（やってない）と思ったけど、まだなんかエラーがあるのか?
TopとかBottomとか書いてあるからカメラの指定がうまくいってないのか？

　
　
　
　
　

すぐ近くに書いてあるところはline301とかline371とか書いてあるけどもボックスのなかにそんなにたくさん
コードは書かれていないので、line38というところにアタリをつけてみる。

![38-32.png](https://qiita-image-store.s3.amazonaws.com/0/60999/8e3895cc-e4a0-3652-c9a0-2cc1e2678d3c.png)

やっぱりカメラの指定をしてるみたい。
32行目で使っているcameraIDはgetParameterで取得しているのかな?

![cameraID.png](https://qiita-image-store.s3.amazonaws.com/0/60999/3e035cb4-a356-2b7e-166f-5c2945f3f711.png)

ということで、ボックスのレンチマークを押してパラメーターを見てみると、CameraがDefaultになったまま。
TopかBottomに設定しろと言われているのにDefaultになってるからまずいんじゃないかと予想。

とりあえずTopに変えて実行。

エラーが出ない。
やったか？

　
　
　
　
　
###FTPでレコードフォルダーをチェック。
![レコードフォルダー2.png](https://qiita-image-store.s3.amazonaws.com/0/60999/e5fe1b9f-4e12-4eb4-8bef-3d6ef66d91f0.png)
ボックスをマウスオーバーして放置すると、レコードフォルダーがでてくるので、中身を見てみる。

![FTP.png](https://qiita-image-store.s3.amazonaws.com/0/60999/87ba87c7-94c1-a0a2-5067-32cec78210a8.png)

choregrapheの標準FTPでアクセスしようとすると、パスワードとユーザー名を聞かれるので
![password.png](https://qiita-image-store.s3.amazonaws.com/0/60999/c2a9f178-5a6f-9f6e-b683-d2a3606fcedd.png)

デフォルトパスワードを検索。（FireFoxでしか検索機能が使えない！！）

Accessing the Pepper Web Pageを読むと
Pass:nao
Account:nao
みたいなので、入力。

動画があるのでダウンロード。喜ぶ。
注意点
①WindowsMediaPlayerでは再生できなかった。VLC media playerだったら再生できた。
②動画はあくまでカメラの映像のみ。ということで音声が入っていない。


　
　
　
　
　
###改良してみる
***
![前衛的な配置.png](https://qiita-image-store.s3.amazonaws.com/0/60999/23398d92-1481-aa30-b7b1-002fc4651d62.png)
とはいえ、先ほどの前衛的な配置といい、録画時間が指定できないあたり、いかがなものかと思うので、改良。

###録画時間を取得できるようにしてみる。
![パラメーター取得.png](https://qiita-image-store.s3.amazonaws.com/0/60999/821c26a3-48c3-2d7f-b62f-0951957c0fdd.png)
get Parameterというボックスを使うと親ボックスで決めたパラメーターできるので、
![parameter.png](https://qiita-image-store.s3.amazonaws.com/0/60999/2eef9143-7f2b-cc64-9060-7796afd9a40f.png)

ここに親ボックスのパラメーターDuration (s)を記入すれば、値を取得できる。
ただ、これだと、せっかく指定した時間がwaitに活かされない。
どうしようかなとひとしきり悩む。


![パラメタ変更.png](https://qiita-image-store.s3.amazonaws.com/0/60999/7e55ae01-db31-80f9-9e09-a1a5dba605fc.png)



取得した値をwaitの待機時間に反映させるためには、レンチマークに線をつないでやるという方法があったのを思い出す。
レンチマークにドラッグしてあげると、こんな風にどのパラメーターにつなげたいのか聞いてくるので、Timeout(s)を選択。

　
　
　
　
　
同時にonStart(再生ボタン)につないでしまうと、パラメーター設定前に再生ボタンが押されてしまう可能性が
あるのでこんな風につないでみる。
![waiting.png](https://qiita-image-store.s3.amazonaws.com/0/60999/1acbdee7-14e1-9386-8c45-54ea4dc65071.png)
上の方のwait(1)は0.1秒でも0.01秒でも構わないけど、「絶対にパラメーター設定よりも後にボタンを押してね!」という
念押しみたいな感じ。

これで録画時間の指定が可能になった。
やったー。

　
　
　
　
　
###パラメーターの変更
とりあえずこれで一応動くのだけど、毎回毎回カメラをdefaultからTopに切り替えるのがめんどうくさい。


![編集.png](https://qiita-image-store.s3.amazonaws.com/0/60999/d2bfbd61-37be-3b76-ad42-3d2d040272a8.png)
ということでパラメーターを変えるためにボックスを編集。


![camera.png](https://qiita-image-store.s3.amazonaws.com/0/60999/34053ff6-a2ff-5492-60ce-876a6aaa6c84.png)
Cameraを作り直すので、まずはいったん-ボタンを押してパラメーターを削除してから+ボタンを押してパラメーターを追加

![Camera2.png](https://qiita-image-store.s3.amazonaws.com/0/60999/652c80ac-f34d-0916-23dd-45441e1ce5a5.png)
NameをCamera
Default valueをTopに
Multiple Choices:を追加してBottomに。してあげる。

これで、Record Videoが使いやすくなったかな。

　
　
　
　
　

###感想
***
画像をいっぱい貼ったら疲れた。
プログラミング歴が3か月ぐらいなので、初心者の気持ちが分かるうちに記事を書いておこうと思ったのだけど、コードを殆ど触らずに機能改善ができることにおどろいた。