モノトーンの伝説日記

Apex Legends, Splatoon, Programming, and so on...

<mini> OBS Studio のビデオ パイプラインメモ

 単なるメモです。

+obs_video_thread (obs-video.c)
  +render_displays
  +output_frame
    +render_video
    | +render_main_texture (1)
    | | +obs_view_render [main_view のレンダリング] (obs-view.c)
    | |   +obs_source_video_render [source のレンダリング] (obs-view.c)
    | |     +obs_source_video_render (obs-source.c)
    | |       +以下ごにょごにょ
    | +render_output_texture (2)
    | +render_convert_texture (3)
    | +stage_output_texture (4)
    +download_frame (5)

 流れとしては

  1. メインの描画をする。transition などもここで処理される。【今のメインデータ】として 1 フレームが完成する。
  2. 出力用の画面を【以前のメインデータ】から【今の出力データ】コピー。
  3. 出力画面をリサイズする用。【以前の出力データ】から【今のリサイズされた出力データ】へ。(GPU が有効であれば)←※
  4. 最後に【以前のリサイズされた出力データ】(GPU 無効化時: 【以前の出力データ】)から【今のコピー用データ】へコピー。
  5. 【以前のコピー用データ】をダウンロード。

※ 個人的にやっぱりこの工程いらないと思うんよなぁ。

 あくまで雑記です。ここをみてどういう風にするか考えていくので。