【发布时间】:2013-02-18 15:59:00
【问题描述】:
我正在开发一个 Mac 应用程序,它需要为主屏幕(桌面)提供 HTTP 实时流(仅最后 2 秒左右)。
我正在考虑以下过程:
- 使用 AVCaptureScreenInput 作为输入创建 AVCaptureSession (sessionPreset = AVCaptureSessionPresetPhoto)
- 将 AVCaptureVideoDataOutput 输出添加到会话中
- 在 captureOutput:didDropSampleBuffer:fromConnection: 中捕获帧(采用 kCVPixelFormatType_32BGRA 格式)并将其写入 ffmpeg 进程以进行分段(使用管道或其他东西),从而创建 MPEG-TS 和播放列表文件。
- 使用嵌入式 HTTP 服务器来提供分段文件和播放列表文件。
这是最好的方法吗?没有办法绕过 ffmpeg 部分来编码和分割视频流吗?
将原始帧传输到 ffmpeg 的最佳方式是什么?
【问题讨论】:
标签: objective-c cocoa ffmpeg avfoundation http-live-streaming