0

我正在开发一个 Mac 应用程序,它需要为主屏幕(桌面)提供 HTTP 实时流(仅最后 2 秒左右)。

我正在考虑以下过程:

  1. 使用 AVCaptureScreenInput 作为输入创建 AVCaptureSession (sessionPreset = AVCaptureSessionPresetPhoto)
  2. 将 AVCaptureVideoDataOutput 输出添加到会话
  3. 在 captureOutput:didDropSampleBuffer:fromConnection: 中捕获帧(采用 kCVPixelFormatType_32BGRA 格式)并将它们写入 ffmpeg 进程以进行分段(使用管道或其他东西),从而创建 MPEG-TS 和播放列表文件。
  4. 使用嵌入式 HTTP 服务器来提供分段文件和播放列表文件。

这是最好的方法吗?是否没有办法绕过 ffmpeg 部分来编码和分割视频流?

将原始帧传输到 ffmpeg 的最佳方法是什么?

4

1 回答 1

1

这听起来是个不错的方法。您可以使用将 ffmpeg 输出到流并使用 Apple 的分段工具对其进行分段。我相信 Apple 工具的复用率稍好一些,但这对您的用例可能无关紧要。

于 2013-03-04T15:52:01.447 回答