目次 - SDL 3.0 API(機能別) - ビデオキャプチャ

ビデオキャプチャ

概要

ビデオキャプチャのSDLライブラリ.

このAPIはウェブカメラのようにアプリケーションにビデオソースから入力を読み込ませる. カメラデバイスに対して, 一覧の獲得, 問い合わせ, オープンを行うことができる. オープンすると, ビデオから入力があるたびに新しいフレームがSDL_Surfaceオブジェクトとして提供される. これらのサーフェイスはSDL_Textureやメモリ上のピクセル群にすることもできる.

一部の環境では, アプリケーションがカメラにアクセスしようとするとユーザに警告する. さらに一部の環境では, アプリケーションが映像を獲得することを許可するかをユーザに尋ねるダイアログを表示し, 拒否されることもある. カメラのオープンに成功しても許可が確定するまで映像は提供されない. アプリケーションは, カメラデバイスをオープンした後, SDL_GetCameraPermissionState()関数のポーリングでアクセス可能になるまで待つことや, SDL_EVENT_CAMERA_DEVICE_APPROVEDまたはSDL_EVENT_CAMERA_DEVICE_DENIEDイベントを待つことが可能である. ユーザの許可を必要としない環境では, 即座に許可される.

SDLカメラは, 動画ファイル形式でエンコードした全フレームではなく, 映像を1フレームずつ提供することに注意すること. そのため, アプリケーションは必要なフレームをあらゆる形式に自由にエンコードできる. さらに, カメラハードウェアからの音声もこのAPIでは提供されない. 多くのウェブカメラがマイクを搭載していないだけでなく, ストリーム配信からZoomまで大半のユーザはカメラとは別のマイクを使いたいだろう. いずれにせよ, カメラハードウェアのマイクの搭載に関わらず, 入力された音声はSDLのオーディオAPIを通して利用する.

キャプチャ

一般向けのカメラハードウェアは, デバイスをオープンした後に使用できるまで時間がかかることがある. 一般的にほとんどのカメラアプリケーションには写真を撮るUI(photo boothの様なレビューの表示と撮影ボタン, ユーザがポーズを取るためのカウントダウン)があり, ユーザが操作するか, 長時間留まる(Pokemon Goなど)場合が多い.

新規にオープンしたカメラが, 真っ暗なフレームに続いて露光不足の映像を送ることは珍しいことではない. もし自動的に1枚のフレームを撮る場合や, ユーザにプレビューを提供せずに録画する場合は, カメラの画像を使用する前に最初の数フレームを無視するのはよい方法である(最初の数秒のフレームに価値がない場合は).

関数

  1. SDL_AcquireCameraFrame - カメラにビデオフレームを要求する
  2. SDL_CloseCamera - カメラ処理を終了しカメラデバイスをクローズする
  3. SDL_GetCameraDriver - SDLに組み込まれたカメラドライバの名前を得る
  4. SDL_GetCameraFormat - カメラが画像を生成するとき使用するスペックを得る
  5. SDL_GetCameraID - オープンしたカメラのインスタンスIDを得る
  6. SDL_GetCameraName - カメラの人が読めるデバイス名を得る
  7. SDL_GetCameraPermissionState - ユーザによるカメラの使用許可状態をチェックする
  8. SDL_GetCameraPosition - ハードウェア上のカメラの位置を得る
  9. SDL_GetCameraProperties - カメラに関連付けられたプロパティを得る
  10. SDL_GetCameras - 接続されているカメラの一覧を得る
  11. SDL_GetCameraSupportedFormats - カメラのハードウェアが対応する形式/サイズの一覧を得る
  12. SDL_GetCurrentCameraDriver - 現在のカメラドライバの名前を得る
  13. SDL_GetNumCameraDrivers - SDLに組み込まれたカメラドライバの数を得る
  14. SDL_OpenCamera - ビデオ録画デバイス(カメラ)をオープンする
  15. SDL_ReleaseCameraFrame - カメラに要求したビデオフレームを返却する

  1. SDL_Camera - オープンしたSDLカメラの識別のために使用する不透明型
  2. SDL_CameraID - システムに接続されたカメラデバイスのユニークなIDの型

構造体

  1. SDL_CameraSpec - カメラデバイスの出力形式の詳細の構造体

列挙体

  1. SDL_CameraPermissionState - カメラのアクセス許可状態の列挙体
  2. SDL_CameraPosition - ハードウェア上のカメラの位置の列挙体

SDL Wikiへのリンク

SDL3/CategoryCamera - SDL Wiki