IkaLog解析してみた。実際にゲームをやってみて、raspberry pi2で録画して、ちゃんとraspberry pi2で解析できるかどうかを試してみた。
ここまでくれば計算能力の低さ以外はなんとかなるはずである。10分録画して解析してみた。
3時間38分かかってる。
一つ誤検出があった。
は、一四式竹筒乙ではなく、シャープマーカーであった。
反省点
ここまでくれば計算能力の低さ以外はなんとかなるはずである。10分録画して解析してみた。
$ sudo chomod a+rw /dev/vchiq $ raspivid -o video.h264 -t 600000 $ export DISPLAY=:1 $ Xvfb :1 -screen 0 1024x768x16 & $ export PYTHONPATH=/usr/local/lib/python3.4/site-packages;$PYTHONPATH $ workon ikalog $ LANG=ja_JP.UTF-8 /usr/bin/time python3.4 IkaLog.py --input_file video.h264 ...中略... ゲーム開始。ステージ: モズク農園, ルール: ガチヤグラ Go! やられた! votes={'bamboo14mk2': 1, 'splatroller_collabo': 1, 'pablo': 6, 'hokusai': 2, 'pablo_hue': 4, 'squiclean_b': 14, '52gal': 1, 'h3reelgun_d': 2, 'prime': 1, 'l3reelgun_d': 1, 'barrelspinner': 1} Cause of death: squiclean_b やられた! votes={'bamboo14mk2': 4, 'sharp_neo': 1, 'pablo': 1, 'carbon': 1, 'hokusai': 1, 'dualsweeper': 1, 'sharp': 21, '96gal_deco': 5} Cause of death: sharp たおした! たおした! やられた! votes={'bamboo14mk2': 1, 'hoko_shot': 2, 'pablo': 1, 'daioika': 30} Cause of death: daioika やられた! votes={'sharp': 35, 'pablo': 1} Cause of death: sharp やられた! votes={'splatroller_collabo': 1, 'pablo': 4, 'squiclean_b': 16, 'pablo_hue': 2, '52gal': 1, 'liter3k': 1, 'hokusai': 2} Cause of death: squiclean_b やられた! votes={'sharp_neo': 1, 'pablo': 4, 'splashbomb': 18, 'splatcharger': 1, 'h3reelgun': 2, 'quickbomb': 1, 'h3reelgun_d': 1, 'prime': 2, 'nova': 1} Cause of death: splashbomb やられた! votes={'bamboo14mk2': 1, 'splatroller_collabo': 1, 'pablo': 7, 'hokusai': 1, 'squiclean_b': 20, 'kyubanbomb': 1, '52gal': 2, 'barrelspinner': 2} Cause of death: squiclean_b やられた! votes={'sharp_neo': 2, 'longblaster': 3, 'hotblaster_custom': 12, 'longblaster_custom': 15, 'splatcharger': 1, 'prime': 1, 'propeller': 1} Cause of death: longblaster_custom やられた! votes={'pablo': 2, 'sharp': 4, '96gal_deco': 6, 'bamboo14mk2': 9, 'sharp_neo': 6, 'carbon': 3, 'hydra': 1, 'hokusai': 1, 'hissen': 1, 'daioika': 1, 'liter3k': 1, 'nova': 1} Cause of death: bamboo14mk2 やられた! votes={'splatroller_collabo': 1, 'pablo': 2, 'prime': 1, 'splatcharger': 3, 'hokusai': 1, 'daioika': 1, 'splashbomb': 25, 'nova': 1} Cause of death: splashbomb やられた! votes={'dynamo': 1, 'pablo': 1, 'hydra': 1, 'quickbomb': 1, 'sshooter_collabo': 1, 'sharp': 31} Cause of death: sharp たおした! やられた! votes={'dynamo': 2, 'sharp_neo': 1, 'pablo': 2, 'sharp': 26, 'nova': 1, 'liter3k': 4} Cause of death: sharp We lost the lead! We lost the lead! たおした! たおした! やられた! votes={'bamboo14mk2': 4, 'sharp_neo': 4, 'pablo': 1, 'carbon': 1, 'hissen': 2, 'dualsweeper': 1, 'sharp': 6, 'hoko_shot': 1, '96gal_deco': 5} Cause of death: sharp Game End. trigger event 596.864s <ikalog.scenes.game.timer_icon.GameTimerIcon object at 0x76850890> ...中略... 5630.80user 703.61system 3:38:17elapsed 48%CPU (0avgtext+0avgdata 84332maxresident)k 419769616inputs+736outputs (1943222major+36994125minor)pagefaults 0swaps
3時間38分かかってる。
一つ誤検出があった。
votes={'pablo': 2, 'sharp': 4, '96gal_deco': 6, 'bamboo14mk2': 9, 'sharp_neo': 6, 'carbon': 3, 'hydra': 1, 'hokusai': 1, 'hissen': 1, 'daioika': 1, 'liter3k': 1, 'nova': 1}
Cause of death: bamboo14mk2
やられた!
は、一四式竹筒乙ではなく、シャープマーカーであった。
反省点
- 6分程度の動画を解析するのに3時間38分はかかりすぎ!次はこの対策を考える。
- もっとビットレートを下げて録画してもよい。ffmpeg -i の結果は、Stream #0:0: Video: h264 (High), yuv420p, 1920x1080, 25 fps, 25 tbr, 1200k tbn, 50 tbc
- 上のおかげで処理時間がやたらかかっているし、microSDにも負担がかかっている。I/Oが足かせでなければ、もっとCPUが使われているはずである。
- 動画だけをストリーム配信して、Macをホストにしてikalogを走らせる、というのもアリだと思われる。
- 720p30じゃなくて1080p25になってた?? (raspividのパラメータがおかしかった、デフォルトで引き伸ばされるらしい) ご検出はこれが原因か?
- サンプル動画は、1280x720 [SAR 1:1 DAR 16:9], 2509 kb/s, 30 fpsであった
※コメント投稿者のブログIDはブログ作成者のみに通知されます