LinuxからWifi経由でソニーのカメラに接続する方法


9

ソニーのカメラにはWifi接続が付属していますが、そのソフトウェアはMacとWindowsにのみ配布されます。(www.sony.net/pm/)

Linuxからどのように接続できますか?(具体的には、Fedora 22 <-> DSC-HX60)

Wifiプッシュを有効にすると、最初にUSB経由でデバイス情報を追加する必要があることがカメラから通知されます。これは、上記のPlayMemoriesソフトウェアでのみ可能であるようです。

Linuxで同じようにする方法を誰かが考え出しましたか?

皮肉なことに、カメラ自体はBusyBoxで実行されているようです:/ http://oss.sony.net/Products/Linux/DI/DSC-HX60V.html

PS Windowsソフトウェアを実行するために、WineまたはVMを使用したくない。

回答:


3

このPlaymemories Alternativeプロジェクトをチェックしてみてください。優れた開発者の1人が、Sonyの変更されたPTP / IPプロトコルの専有部分をリバースエンジニアリングし、カスタムPythonスクリプトとGPhoto2の組み合わせでそれを機能させることができました

ソニーが画像を転送する方法は、PTP / IP(Picture Transfer Protocol over Internet Protocol)を経由します。カメラから「コンピューターに送信」オプションを有効にすると、ネットワークを介してUPNP UDPパケットをマルチキャストアドレス(239.255.255.250:1900)にブロードキャストし始めます。これは、Simple Service Discovery Protocol(SSDP)とも呼ばれます。同時に、カメラはポート15740でPTP / IPサーバーを起動します。UPNPパケットには、すべての接続詳細が含まれています。Playmemoriesアプリ(またはsony-pm-alt.py)はこれらのパケットを確認してから、PTP / IPサーバーにヒットし、画像を転送します。

ソニーは、カメラに「送信中...」を表示するためにいくつかの非標準のパケットを必要とします。これは、完了時に自動シャットダウン機能にも適用されます。これがないと、カメラが停止する前に写真を転送するのに約2分かかり、それが機能したことを確認できません。また、カメラはオンのままなので、離れることができません。そうしないと、バッテリーが消耗し続けます。これらのオプションをオンにする魔法のパケットが1つあることを望んでいましたが、そうではないようです。一連のtcpdumpを実行して、どのパケットが機能するかを確認できました。最初は100パケット以上が必要でしたが、最終的に23パケットに絞り込みました(更新:開始する4パケットと終了する3パケット)。また、これらのパケットをgphotoとは異なるtcpセッションを使用してpythonから直接送信できることを期待していましたが、運がありませんでした。そう、この作業を行うために、私は本当にlibgphotoコードをハッキングしてしまいました。libgphotoの開発者は、私と協力して、ハッキングなしで機能するように変更を組み込んでくれました。

私自身はテストしていませんが、@ falk0069がソニーのwifi対応カメラに接続するための開始点を提供するヨーマンの作業を実行したようです。


0

以下は、Sony A7にも当てはまります。他のSonyカメラでも同様だと思いますが、DSC-HX60はわかりません。

カメラには2つのWifi接続モードがあります:(a)APモード(「スマートフォンに接続」)。カメラは接続可能なAPとして機能します。Rawではなく、JPGへのアクセスのみを許可します。APIはプロプライエタリですが、パブリック(https://developer.sony.com/develop/cameras/)(b)インフラストラクチャモード(「コンピューターに接続」)。カメラはAPに接続し、ファイルをコンピューター上のコンピューターにプッシュします。ローカルネットワーク。一部のMTPフレーバーを使用します(PTP / IPに基づく)。

(b)の意味だと思います。PTPを使用して接続できるはずの gphoto2を試すことができます(ただし、5分以内に試してみましたが、機能しませんでした)。Linuxを広範に定義してAndroidを含める場合、raw2dngを使用してrawファイルを携帯電話/タブレットにコピーできます-独自のPTP / IPスタックを使用します(免責事項:私は作成者です)。

ただし、(b)の場合は、何があっても、まずUSBを使用してカメラをコンピューターに「ペアリング」する必要があります。これは、SonyのWin / Macプログラムにのみ実装されている独自のプロトコルです。それが行うすべては、カメラにコンピュータのMACアドレスを保存するように伝えることです。将来の接続では、ホストは最初の接続要求の一部としてMACアドレスを送信します(実際のネットワークインターフェイスから送信される必要はありません)。

raw2dngは、「ペアの」MACアドレスを入力として受け取ることができます。gphoto2も同様です(わからない-試したい場合は、16バイトのUIDです:8 * 0x00 + 2 * 0xFF + MAC)。そのため、アクセスできる可能性のある別のWin / Macコンピュータにカメラをペアリングし、そのコンピュータのMACアドレスを使用してLinuxボックスから接続できる可能性があります...(テストなし)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.