小型ドローンWeekender Q4i FPVで遊ぶ
先日購入したWeekenderのQ4i FPVというドローンですが、 小型ながらWi-Fiで映像を見ながらコントロールすることができる優れものです。
前回は分解した記事を書きましたが、こんどはソフト的な側面から書きたいと思います。
通信内容を見てみる
提供されているアプリはAndroidなので、簡単にパケットをキャプチャして見ることができます。まぁなにやらTCP/IPでごにょごにょ通信している模様。
動画はh264
パケットの内容を見てみると0x00000001で始まるパケットがかなり流れてきていることがわかります。調べてみるとh264のフォーマットであることがわかり、まぁなんというかそのまんま流れてきているみたいです。
軽く組んでみる
というわけで、流れてくるh264のパケットを再生するためにプログラムを組んでみました。
ドローン⇔自作プログラム⇔VLCプレイヤー
という感じで、ドローンとの通信を行いつつもVLCプレイヤーにストリームのデータを受け渡してやる中継器みたいなプログラムを組みました。
なんでVLCの機能を使って直接ドローンから動画をダウンロードしにいかないのかというと、動画ストリーミング開始コマンド(?)のパケットを最初に流し込んでやる必要があるためです。VLCでそういうことができるのかどうかについてはよく知らないのでプログラムを組んだほうが早かった。
問題
割とすんなり再生はできました(プログラムを経由する分、ラグが発生するけど)。が、30秒前後でストリーミングが途切れてしまう問題に直面しました。
それについては再度パケットをキャプチャしてみました。
実をいうと、このドローンから動画をストリーミングするには2本の通信を確立せねばなりません。キャプチャしたパケットではストリーミングとは別の通信のほうで定期的にパケットをやりとりしており、それが今回の問題の解決策でした。
というわけで別の通信で特定のパケットを定期的に送ってあげればストリーミングは途切れなく再生することができました。(20分ぐらいは再生できたかな)
というわけで
動画ができたので次はコントロールを!って感じですけど、さすがにそれは厳しい気がするので気が向いたらやるってことにしておきます(笑)
Weekender Q4i FPV WE-FPV-01 [日本正規品]
- 出版社/メーカー: ハイテック マルチプレックス ジャパン
- 発売日: 2015/12/31
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る