目次 - 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
  4. SDL_GetCameraFormat
  5. SDL_GetCameraID
  6. SDL_GetCameraName
  7. SDL_GetCameraPermissionState
  8. SDL_GetCameraPosition
  9. SDL_GetCameraProperties
  10. SDL_GetCameras
  11. SDL_GetCameraSupportedFormats
  12. SDL_GetCurrentCameraDriver
  13. SDL_GetNumCameraDrivers
  14. SDL_OpenCamera
  15. SDL_ReleaseCameraFrame

  1. SDL_Camera
  2. SDL_CameraID

構造体

  1. SDL_CameraSpec

列挙体

  1. SDL_CameraPermissionState
  2. SDL_CameraPosition

SDL Wikiへのリンク

SDL3/CategoryCamera - SDL Wiki