ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
連係カメラをmacOS Appに導入する
連係カメラ搭載のMac Appで、iPhoneを外部カメラとして使用する方法をご覧ください。テレビ会議ソフトウェアを構築する場合でも、カメラを工夫して使用するAppを開発する場合でも、カメラの自動切り替え機能を使用して、Appの体験を向上させる方法を紹介します。また、ユーザー優先またはシステム優先のカメラを識別する方法をはじめ、iPhoneのビデオストリームから高解像度かつ高品質の写真をキャプチャするAPIなども紹介します。 カメラキャプチャの詳細については、WWDC22の「iOSカメラキャプチャの進歩を知る」をご覧ください。
リソース
関連ビデオ
WWDC23
WWDC22
WWDC21
-
ダウンロード
♪ 明るい音楽 ヒップホップミュージック♪ ♪ こんにちは Karen Xingと申します Camera Softwareチームで エンジニアをしています 「連係カメラを macOS Appに導入する」 へようこそ このセッションを始める前に 連係カメラとは 何か話していきます 次に Appで 連係カメラを 使用した 自動カメラ選択体験を構築する 方法について説明します そして最後に 連係カメラの macOS 13で 新しいAPIについて 見ていきます ウェブカメラとして iPhoneを使用できます 設定はシームレスです ただiPhoneをMacに 近づけるだけです ワイヤレスで作動し 通話にすぐ参加できます さまざまな条件下で 外部のカメラや マイクとして iPhoneがMac上に 表示されます まず初めに macOS 13とiOS 16を 搭載する必要があります MacおよびiPhoneはどちらも 2段階認証を使用して 同じApple IDでサインイン する必要があります 有線接続の場合 USBを介してMacに電話を 接続する必要があります またはワイヤレス接続では 2つのデバイスを近づけ BluetoothおよびWi-Fiのどちらも オンにする必要があります 説明するよりも デバイスで連係カメラが どのように機能するのか をお見せします ここにMacBook Proおよび iPhone 13 Proがあります どちらのデバイスも同じ Apple IDでサインインしています
携帯電話はMacBookに接続した スタンドに置いています 本日は同僚のEricと 一緒にビデオ会議に参加し Zoomで連係カメラを 使用する方法を紹介します
Appはまず 内蔵カメラを 使用して起動し 新しいカメラで 何ができるかを説明する オンボーディングダイアログが 表示されます MacをmacOS 13に アップグレードした後 初めてカメラAppを開き 連係カメラ対象となる iPhoneがある場合に 1度だけダイアログが 表示されます
こんにちは Eric Karen! こんにちは! 導入後 ダイアログは システム上に表示され 連係カメラ およびマイクデバイスは すべてのAppで 利用可能になります
このカメラに切り替え どのように 起動しているか見ていきましょう
連係カメラはiPhoneのバック カメラシステムを使用するため iPhoneで期待する 優れた動画の質を 同様に取得できます 携帯電話の4方向 すべてで機能します
縦向きは横向きに比べ よりズームされた ビューを取得する ことができます
連係カメラでは いくつかの新しい 動画エフェクトを含む 今までのウェブカメラでは 不可能だったことを可能にします iOS 14.5とmacOS 12.3で 導入された センターフレームとポートレートの 動画エフェクトは すでにご存知かと思います そうでない場合は WWDC 2021の 「カメラキャプチャの新機能」 のセッションを見て システム動画エフェクトや Appでの 操作方法について 学ぶことを強く推奨します コントロールセンターで 連係カメラの システム動画エフェクト を有効にします
センターフレームは シーンで移動しても フレームに収まるようにします
ポートレートは背景をぼかし 自然に自身に フォーカスします ポートレートはAppleシリコン搭載 Macにのみ対応していましたが 連係カメラでは IntelとAppleシリコン搭載のMac 全てに対応することが 可能になりました
スタジオ照明は新しい システム動画エフェクトであり macOS 13で 利用可能です iPhone 12以降を 使用した際に 連係カメラによって 対応されています 画面上に最高の画像を作成したい場合 これを有効にすることができます 背景を暗くし 顔を明るくする 圧倒的な照明効果を 実現します スタジオ照明は 窓の前にいるときなど 困難な照明の状況に最適です 明確に比較するために 各動画エフェクトを 個々に紹介していますが どの動画エフェクトも一緒に使えます
どのエフェクトの 組み合わせでも 同時に適用することができます
ここに お見せしたい 連係カメラの 興味深い機能があります デスクの上にあるものを共有し 同時に仕事をしたい場合に デスクビューが 利用可能になりました デスクビューAppは macOS 13に搭載されており このコントロールセンターで 起動可能です
オーバーヘッドカメラの 設定のように機能し 複雑な機材は全く 必要ありません iPhoneは超広角カメラの 動画を2つにフィードし 同時にデスクと顔を映し出す ことができるため 学校のプロジェクトにおいて キャリブレーションしたり 編み物を友人に教えたり することができます 超広角カメラによる 垂直方向の広い視野を活かし 切り出したフレームに 遠近感のゆがみ補正を施し フレームを回転させることで デスクビューを作成しました 多くの動画会議Appにある 共有ウインドウ機能を使って メイン動画のカメラフィードに 並行して実行し このデスクビューフィードを 共有することができます
デスクビューは メインカメラから ストリーミングを同時に行わず 単独で使用することも 可能です デスクビューと メインカメラの両方から 配信する場合は より良いフレーミングで 顔や体を撮影するために メインカメラの センターフレームを 有効にすることを推奨します この機能は 携帯電話を 横向きと縦向きの どちらにでも 対応しています 縦方向の視野が広いため 最も汎用性が高くなります デスクビューカメラAPIも 搭載されており Appに適した カスタマイズされた 統合を提供します 後ほどAPIについて 話していきます Macでの動画会議の際に セッションに集中して 取り組みたいものですが 大切なことを 見逃していないか 確認したいとも 思うかもしれません 連係カメラの 使用中の際は 携帯電話の通知は すべて消音となり 重要な電話の通知はMac上で 転送されます Eric さようなら! Karen さようなら!
Appに 一行も新しいコードを書くことなく ユーザーに素晴らしい体験を すべて提供可能であること をお話ししてきました しかし 新しいAPIをいくつか 採用することで Appで連係カメラ の体験を より幻想的で洗練されたものに することができます 現在では多くのユーザーが Macで少なくとも 2台のカメラデバイスを 利用するようになり 私たちはカメラの管理方法 についてより深く考えています macOS 13以前では デバイスが取り外されたり より良いカメラが システム上で 利用可能になったりした際に 通常 Appで 手動の選択ステップが 必要でした Appで自動的に カメラを切り替えることで 幻想的な体験を 提供したいと思っています この機能をAppに 構築するために AVFoundationフレームワークに 2つの新しいAPI AVCaptureDeviceの userPreferredCameraと systemPreferredCameraという クラスプロパティを追加しました userPreferredCameraは 読込/書込みプロパティです ユーザーがAppで カメラを選択するたびに このプロパティを 設定する必要があります これにより AVCaptureDeviceクラスは ユーザーの好みを学習し Appの起動や再起動をすることで Appごとに カメラのリストを保存し その情報を使ってカメラを 提案することができます どのカメラが接続され 切断された状態になるか においても考慮されます このプロパティは キー値を観測することができ ユーザーの好みに基づいて 最適な選択を インテリジェントに返します 直近の優先デバイスが 切断された際 リストにある次に利用可能な カメラに自発的に 切り替わります ユーザーの選択履歴 がない場合や 優先機器が1台も 接続されていない場合でも プロパティは常に使用可能な カメラ機器を返そうとし 以前の配信で使われたことのある カメラを優先的に表示します システム上に 利用可能なカメラがない 場合にのみnilを返します systemPreferredCameraは 読み取り専用のプロパティです userPreferredCameraと 他のいくつかの 要素を組み込み システム上に存在するカメラ の最適な選択を提案します 例えば 自動的に選択される べきことを示す信号を 連係カメラが 表示した場合 このプロパティはuserPreferredCamera とは異なる値を返します プロパティはデバイスのサスペンション を内部で追跡しているため サスペンドされたデバイスよりも されていないデバイスを優先的に処理します MacBookを閉めたことで 内蔵カメラがサスペンドした場合 別のカメラに切り替える 自動切り替え動作を 構築するのに便利です 連係カメラは 携帯電話を横向きに 固定したスタンドに置くか 画面を消した状態にするか USBを介して Macと接続するか Macの近くに置くと 自動的に選択されるよう 信号を送ります このシナリオでは ユーザーは 連係カメラとして 使用することであることは 明らかです
systemPreferredCamera API を採用する場合 常にこのプロパティを キー値観測し それに応じて AVCaptureSessionの 動画入力デバイスを 更新することで 幻想的なカメラ選択体験を 提供する必要があります userPreferredCameraおよび systemPreferredCameraは すでにファーストパーティ Appで採用されています 今後 これらのAPIを 採用する Appが 増えることで Appleデバイスにおける 普遍的で一貫性のある カメラ選択の方法を提供する ことが可能になります 連係カメラによる 自動切り替えが FaceTimeで どのように見えるか デモをお見せします
ここではFaceTimeで Automatic Camera Selection モードにします 手動と自動の両方の 動作を提供したい Appには 自動モードを 有効または無効にするための 新しいUIを追加することを 推奨します
FaceTimeは現在 内蔵カメラを使用します デスクにある電話を手に取り MacBookの後ろの スタンドに置いて…
...FaceTimeはシームレスで 連係カメラから 切り替えます このように 新しいクラス プロパティである systemPreferredCamera が組み込まれています プロパティは携帯電話がストリーミング 可能な位置にある際に 連係カメラに 切り替えます 同じような方法でApp を構築したいと思われるかもしれません ここでは Automatic Camera Selectionと 手動選択モードの実装方法 について私の方法で紹介します Automatic Camera Selection がオンの場合 systemPreferredCameraの プロパティのキー値観測を開始します セッションの入力デバイス を更新することで 切り替えをする際は systemPreferredCameraを使用します 自動モードでも ユーザーが自身で カメラを選べるような 選択肢を用意することを 強く推奨します 別のカメラが選択された場合 userPreferredCameraを そのデバイスに設定すると それがsystemPreferredCamera プロパティ値に 反映されます Automatic Camera Selectionが オフの場合 systemPreferredCameraのプロパティの キー値観測を終了します systemPreferredCamera を使用する代わりに セッションの入力デバイスを ユーザーが選んだ 手動モードのカメラで 更新する必要があります 自動モードと同様に ユーザーが 別のカメラを選ぶ度に userPreferredCamera プロパティを 設定する必要があります ユーザーのカメラの 履歴を維持し Automatic Camera Selection モードに 戻ったときに適切な カメラを提案します userPreferredCameraと systemPreferredCameraの APIの組み込み方の ベストプラクティスは 新しいサンプルApp 「Continuity Camera Sample」をご確認ください Macに幻想的なウェブカメラ 体験をもたらすだけでなく MacAppで 連係カメラは iPhone特有の カメラ機能のパワーを 活用する新しい機会を 提供します macOS 13では Appで 連係カメラデバイスを より活用できるように いくつかAVCapture APIが 追加されました iPhoneの画像キャプチャの 驚くべき品質を 連係カメラによって macOSに組み込みます まず 高解像度の画像の キャプチャをサポートします これまでmacOSは 動画解像度での 画像キャプチャにだけ 対応していました macOS 13から 連係カメラで 最大12メガピクセルまでの写真を 撮影できるようになります これは キャプチャセッション を開始する前に まずAVCapturePhotoOutput オブジェクトの highResolutionCaptureEnabled をtrueに設定し その後 キャプチャごとに photoSettingsオブジェクトの highResolutionPhotoEnabled プロパティを trueに設定することで 有効化が可能です 高解像度写真の キャプチャに加え 連係カメラは 写真の品質と 速度の優先順位を制御する ことができます まずphotoOutput オブジェクトに 写真の最大品質の優先順位を設定し 次にAVCapturePhotoSettings オブジェクトの photoQualityPrioritization プロパティで キャプチャごとに優先順位を 選択することができます Appに適した 優先順位の選択についての詳細は WWDC2021の 「ビデオフォーマットを使った ハイクォリティな写真の撮影」 をご確認ください 写真関連の機能として フラッシュキャプチャがあります photoSettings オブジェクトに flashModeを 設定することで フラッシュのオンやオフ またはシーンや照明条件による 自動選択のいずれか を管理できます キャプチャセッションで 生成される 時間指定メタデータを 処理できるように macOSでAVCaptureMetadataOutputを 利用できるようにもします 現在では iPhoneから 顔のメタデータオブジェクト 人体のメタデータオブジェクトを ストリーミング可能になりました セッションを設定して 顔のメタデータオブジェクトを 受け取る方法を見ていきます 適切な動画入力と出力で セッションを設定後 AVCaptureMetadataOutput を作成し addOutputを呼び出し セッションに追加する必要があります 特に顔のメタデータを 受け取るために 顔のオブジェクトタイプを含む オブジェクトタイプ配列を 出力に設定できます availableMetadataObjectTypes プロパティを 確認することで メタデータのタイプ/リクエストが サポートされていることを確認してください 次に メタデータのコールバックを 受け取るためにデリゲートを設定します セッションの実行開始後 リアルタイムに生成される 顔のメタデータ オブジェクトを コールバックで 受け取ることができます 連係カメラは 先ほど説明した AVCapturePhotoOutput AVCaptureMetadataOutputの他に ビデオデータ出力 ムービーファイル出力 AVCaptureVideoPreviewLayer にも対応しています このカメラをApp に組み込む際に留意したい 連係カメラにより サポートされている 動画のフォーマットの 一覧があります 640×480から 1080pまでの 16×9の3つのフォーマットと 1920×1440 4×3の1つのフォーマット に対応しています 必要に応じて 毎秒30フレーム 60フレームに対応した フォーマットを 選択することができます Desk View device APIも 他の大きな追加要素です デスクビューカメラは別で AVCaptureDeviceとして露出されます このデバイスを検索する ことができる2つの方法があります まず1つ目は デバイス ディスカバリーセッションで AVCaptureDeviceType DeskViwCamera を検索する方法です また メイン動画のカメラの AVCaptureDevice オブジェクトを既に知っている場合 そのデバイスの companionDeskViewCamera プロパティを使って デスクビューデバイスに アクセスすることができます このAPIは複数の連係カメラ デバイスが存在する場合に メインカメラと デスクビューデバイスを ペアリングするために対応します 目的のデスクビュー カメラの AVCaptureDevice オブジェクトを取得すると 他のカメラデバイスのように キャプチャセッションの AVCapture動画データ出力 ムービーファイル出力 動画プレビューレイヤーで 使用することができます デスクビューデバイスは最新の 420vピクセルフォーマットの 1つのストリーミング フォーマットに対応しています フォーマットの解像度は 1920×1440で 最大フレームレートは 30fpsです これがセッションの 終わりです 連係カメラ macOS上で 幻想的なカメラ設定を 構築する方法 そしてMacAppに 連係カメラを統合する 新しいAPIについて学びました 皆さまが これらすべての APIを採用するのを楽しみにしています 引き続き素晴らしいWWDCを ♪
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。