HTTP Live Streaming Mac应用程序

时间:2013-03-04 14:19:50

标签: objective-c cocoa ffmpeg avfoundation http-live-streaming

我正在开发一款Mac应用程序,需要为主屏幕(桌面)提供HTTP直播流(最近2秒左右)。

我在考虑以下过程:

  1. 使用AVCaptureScreenInput作为输入创建AVCaptureSession(sessionPreset = AVCaptureSessionPresetPhoto)
  2. 将AVCaptureVideoDataOutput输出添加到会话
  3. 捕获captureOutput:didDropSampleBuffer:fromConnection中的帧(以kCVPixelFormatType_32BGRA格式):并将这些帧写入ffmpeg进程,以便分段(使用管道或其他东西)创建MPEG-TS和播放列表文件。
  4. 使用嵌入式HTTP服务器为分段文件和播放列表文件提供服务。
  5. 这是最好的方法吗?是否有办法绕过ffmpeg部分来编码和分割视频流?

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

1 个答案:

答案 0 :(得分:1)

听起来这是一个很好的方法。您可以将ffmpeg输出用于流,并使用Apple的分段工具对其进行分段。我相信Apple工具的多路复用率略高一些,但对你的用例来说可能无关紧要。