non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

homebridge-camera-isightで外付けUSBカメラ(Microsoft® LifeCam HD-3000)を使うには

おはようございます。ようやく次男の発熱が長引いた次男と実家で奥さん長男と離れての生活が終わって、自宅に戻って来た@kjunichiです。

背景

クッキングタイマーくらいしか便利な役目がなかったSiri。しかし、

このツイートちょっと込み入っているが、子供達にも評判のいいアマゾンのアレクサに追加機能を自作しようと調べていたら、 AppleのHomeKitをサポートするhomebridgeを知った。

github.com

開発者登録等をせずにhomebridgeであれこれできるのが非常に驚きだった。

Mac miniにつないでるMicrosoft® LifeCam HD-3000をHomeKitに対応したカメラデバイスにした

以下の、homebridge-camera-isightをhomebridgeのプラグインとして追加するとHomeKitに対応した カメラデバイスができることを知った。

github.com

外付けのWebカメラでも使えそうな説明があった

iSightと名前に入ってはいるが、READMEにはmacOSであれば、外付けのカメラでも 以下のように、カメラのデバイスインデックスを調べて、設定ファイルの指定すれば 使えそうだった。

ffmpeg -f avfoundation -list_devices true -i ""

ffmpegのエラーが出る

上記のffmpegのコマンドでカメラのデバイスインデックスを設定ファイルに記入したところ、 Homeアプリに表示されるカメラの静止画は正常に表示された。

しかし、画像をクリックすると、 以下のように、「The activeVideoMinFrameDuration passed is not supported by the device.」と文句を言われ、 ストリーミング映像が出てこなかった。まぁ、静止画だけでも大満足だったけど。。

解決した

結果的にはFPSを下げればよかった。もともと30の指定を半分の15にしてダメでさらに下げて10にしたらエラーが解消された。

{
      "platform": "Camera-iSight",
      "name": "iSight Camera",
      "fps": 10,
      "video_device": 0,
      "audio_device": 0
}

f:id:kjw_junichi:20180217081957j:plain

参考資料

stackoverflow.com

関連記事

13年前の記事

10年前の記事

7年前の記事

5年前の記事