takaha.siの技術メモ

勉強したことをお伝えします。ちょっとでも誰かの役に立てればいいな…

ロシアの軍事ドローンのオルラン10(Orlan-10)ってまともに使えないんじゃない?

Twitterにも書いたんだけど、これの補足。

ロシアの軍事ドローンオルラン10(Orlan-10)。偵察用に使うものなのかな?こいつの中身が結構な割合で日本製の部品を使用しているとのこと。カメラ、エンジン周りは全部日本製。民生品を徹底利用してる。

この動画をソフト屋さんの観点からみて「このドローン。画像はさておき動画を見るのは辛いんじゃないか?」という疑惑がふつふつ湧いてきたのでそれについて考えを書きなぐる。

まず、気になったのは民生品のカメラからどうやって画像とか動画とか取り出してるの?っていうところ。カメラはCanonのEOS Kiss X9iが使われてるらしい。私もCanonユーザやって長い(ずっと5dユーザでmark II, mark IIIと持ってる)ですが、Canonのカメラからリアルタイムで動画を取り出すのは結構しんどい。

選択肢はかなり限られて私が思いつく限り以下の2つ。

  1. Webカメラモード
  2. HDMIパススルーモード

ここで、まず(1)はないかなと。Webカメラモードは画質がかなり制限される。これを使うのであればEOS Kissみたいないいカメラ+レンズを使う必要は全く無いので違うのでは?と。

次に(2)は有り得そうかなと。HDMIパススルーモードはかなり良い画質の動画が取れます。しかし、このHDMIパススルーモードを備えたラインナップは限定的で、少なくともEOS Kiss X9iにはその機能はなかったはず。もっとハイエンドの(5d系統以上)カメラじゃないとだめ。非公式の改造ファーム入れるとできるけど…それを使ってるのかしら?

などとぼんやり考えてたら、友達からUnboxing動画があると教えてもらったので見てみた。結構詳しくバラしてて内部基盤とかもちゃんと見れる

www.youtube.com

それで、6:40秒あたりのこれ。多分これが答えかなーと。

多分これが答え。この端子をCanonのカメラに指してSDカード経由で。つまりFATレイヤー経由で取ってきてるんだと。。。おおーなるほど賢い!日曜電子工作勢みたいなことやってるんですね。

ここから考察です。このドローン画像はさておき動画を見るのはかなり辛いんじゃないの?と思いました。見れてもブツブツ途切れてまともに見れなさそう…

そう考える理由ですが、まずFATレイヤーをHookして取り出すとなるとSDカードにデータが降りてくるタイミング、つまりカメラ側がfsync発行するタイミングが完全にカメラ依存になり、そこは制御することはできない。これが結構問題。

すると、再エンコーディングとかで必要なbufferingのタイミングの自由度がかなり下がりそうです。動画を電波で飛ばすための再エンコーディングは必須だと思いますが、その時、通信帯域やCPUパワーが空いてるにも関わらずカメラ側からデータが降りてこず完全に待ちぼうけをくらい、次の瞬間はCPUパワーや通信帯域が一度にさばききれない量のデータがカメラ側から(fsyncされて)どかっと降りてくるみたいなことが普通に起こりそうです。

こういった状況下で安定したストリーミングを行うのは大変そうです。安定配信には輻輳制御はかなり重要で、各々のコンポーネントが互いに調整しあわないとすぐに不安定になると思います。しかし、肝心のカメラ側の書き出しタイミングがいじれない以上選択肢が大幅にさがり、安定した動画再生は難しいのでは?と感じました。

割り切って動画は見れたら嬉しい!基本的に画像だけでなんとかする!みたいな運用をしてるんでしょうかね?

現物を隅から隅までみたわけではないので、動画用のカメラは別にあるとかも考えられると思いますが、以上考察でした。

追記。教えてもらったんですが、このOrlan-10から撮ったであろう動画見るとやっぱりかなりガクガクしてますよね。カメラを安定させるジンバルが不安定である可能性もありますが。。。さて。。。