ネットワークカメラの調査 – Sony アクションカム その1

Sonyのアクションカム(FDR-X3000)を購入して、ネットワーク機能を調査してみます。

LiveCapture3での使用に関しては、執筆時点のバージョン(v3.1.02.18190)では接続できませんが、次に説明する「Camera Remote API」に対応することで、次期バージョンのLiveCapture3では使用できるようになりそうです!

Sony Camera Remote API

実はSony製のカメラには、ネットワーク経由で様々な操作が可能な「Camera Remote API」という機能が付いています。

アクションカムはもちろん、αシリーズなどのカメラにもこのAPIが入っていて、ネットワーク経由での写真撮影や設定変更、ファインダービュー(ライブビュー)の取得などを行うことができます。

さらに、このAPIの仕様は、一般に公開されていて、誰でもSony製カメラに接続して遠隔操作を行うアプリケーションを開発することができるようになっています。

APIの仕様は、下記のSony Developer Worldというページにあります。

Sony Developer World

このページには、このCamera Remote APIだけでなく、様々なソニー製品に接続する為の仕様などが公開されており、なかなか面白いので、いろいろと見てみてください。

今回はアクションカムを操作するための「Camera Remote API」のページを開きます。

そこに「Download SDK」というボタンがありますので、選択してSDK一式を取得します。

このSDKの中には、APIの詳細な仕様書だけでなく、JAVAのサンプルプログラムまでついていて、非常に丁寧にAPIの使い方が説明されています。

残念ながら、「Archived」になっていて、今後の更新はないようですが、APIの機能は、現状サポートされてるカメラで引き続き機能するようですので、まだまだ十分使えそうです。

Camera Remote API has been archived

From now on, updates and active support for Camera Remote API at Developer World are no longer available. However, the API still functions as expected on its supported devices. For a full list of supported features for each device, please visit Supported API features.

Thanks to all of you who supported and showed interest in Camera Remote API.

この仕様書を確認しながら、LiveCapture3で使うために、どんな追加機能が必要かを調査していきます。

アクションカムの設定

まずはアクションカムの設定を行います。

アクションカムの設定を行うためには、Sonyが提供している「Imaging Edge Mobile」というアプリを使用します。

Sony Imaging Edge Mobile

このアプリを使用して、アクションカムと接続すると、カメラのライブビューや、各種設定をスマホから行えるようになります。

ただし、通常の状態では、アクションカムがWiFiのアクセスポイントになって、そこにスマホが接続する、という形になっています。

このままでは、PCなどと接続して調査することができませんので、「マルチカメラコントロール」という機能を使って、接続方法を変更します。

「マルチカメラコントロール」とは、複数のアクションカムを、一つのスマホで操作するための機能です。

マルチカメラコントロールで複数のカメラを操作する方法

この機能を有効にすると、アクションカムがWiFiクライアントとなって、スマホのテザリング(アクセスポイント)に接続する形になります。

取扱説明書には、スマホのテザリングを有効にして云々、とありますが、WiFiクライアントであるアクションカムからすれば、スマホのテザリングも、通常のWiFiルータも一緒です。

なので、マルチカメラコントロールの設定を行う際、スマホのテザリングのSSIDやパスワードを入力するときに、WiFiルータのSSIDやパスワードを入力すれば、アクションカムを指定したWiFiルータに接続させることができます。

つまり、下記のような構成を作って、PC上からアクションカムのAPIにアクセスすることが可能になるのです。

 

まずは、Imaging Edge Mobileやアクションカムの取扱説明書に従って、上記のような構成を作ります。

その際の注意点としては、アクションカムは2.4GHz帯しかサポートしていない、というところです。

最近のWiFiルータは5GHz/2.4GHzの両対応のものがほとんどだと思いますが、2.4GHzの方に接続してください。

接続確認

アクションカムが正しくWiFiルータに接続できたかどうかは、アクションカムの液晶パネル上からは判断できませんので、正しく接続できているかどうかをPC上から確認します。

Remote Camera APIが入ったカメラは、SSDP(Simple Service Discovery Protocol)を使って探し出すことができるようになっています。
このSSDPとはLAN 内のデバイスが提供しているサービスを発見したり、サービスがネットワークに参加したことを通知したりするUDPベースのプロトコルです。
 
UPnP(Universal Plug and Play)や、それをベースとしたホームネットワーク規格のDLNA(Digital Living Network Alliance)などでも広く使われているプロトコルですですが、Camera Remote APIの仕様書を見ると、サービスのタイプとして「ScalarWebAPI」というサービスになるようです。
 
ということで、下記のツールを使って、ネットワーク上に接続されたアクションカムを探してみます。
 
 
Developer Tools for UPnP Technologies
 
このツールは、Intelが開発していたUPnP用の開発ツールで、今はOpen Sourceとして公開されています。
これをインストールして、いくつかあるツールの中の「Device Spy」という、UPnPデバイスを発見するツールを起動します。
 
起動すると、同一ネットワーク上に存在するUPnPデバイスが表示されますので、その中にアクションカムがあるかを確認します。
 
 

ありました!!

これで、PCからアクションカムに接続して調査ができる環境が整いました。

ちなみに、SSDPに答えてくれるUPnPデバイスは、結構あります。

私の家にはTVやBDレコーダなどもSony製でDLNA対応しているので、DeviceSpyを起動するとそれらのデバイスも列挙されます。また、WiFiルータなどもUPnP対応しているものが多く、そうしたデバイスもこのDeviceSpyで探し出すことができます。

これらのデバイスをコントロールするとなると、プログラムを作ったりする必要があるので若干ハードルが上がりますが、家の中にあるデバイスを自分のプログラムでコントロールできると、結構楽しいもんです。

興味のある方はぜひ挑戦してみてください!

調査開始!

環境が整いましたので、LiveCapture3でライブビューを表示するために必要な機能は何かを調査します。

初めにも書きましたが、本記事執筆時点でのLiveCapture3(v3.1.02.18190)では、アクションカムに接続することはできません。

ただ、Camera Remote APIの仕様書を見てみると、アクションカムからのライブビューストリームは、MotionJPEGではないのですが、かなり近いフォーマットのようですので、そのあたりの機能を追加することで、LiveCapture3でもアクションカム(や、それ以外のSony製のカメラ)との接続が可能になりそうです。

ちょっと長くなってきましたので、調査内容に関しては別記事で説明しようと思います。

 

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です