メイン画面(デスクトップ)にHTTPライブストリーム(最後の2秒程度)を提供する必要があるMacアプリを開発しています。
私は次のプロセスを考えていました:
- AVCaptureScreenInputを入力として使用してAVCaptureSessionを作成します(sessionPreset = AVCaptureSessionPresetPhoto)
- AVCaptureVideoDataOutput出力をセッションに追加します
- フレームをcaptureOutput:didDropSampleBuffer:fromConnection:で(kCVPixelFormatType_32BGRA形式で)キャプチャし、MPEG-TSおよびプレイリストファイルを作成するセグメント化(パイプなどを使用)のためにこれらをffmpegプロセスに書き込みます。
- 組み込みHTTPサーバーを使用して、セグメント化されたファイルとプレイリストファイルをサーバー化します。
これは最良のアプローチであり、ビデオストリームをエンコードおよびセグメント化するためのffmpeg部分を回避する方法はありませんか?
生のフレームをffmpegにパイプする最良の方法は何ですか?