OpenCV流使用H264(mp4)编解码器捕获CAM

时间:2012-07-03 12:17:09

标签: opencv stream ffmpeg live555

我喜欢流式传输opencv捕获的网络摄像头图片。我考虑使用ffmpeg和live555的解决方案(很糟糕,他们不是这么好的文档)。我的问题是:

  1. 如何将捕获的图像转换为H264格式,以便图片/秒匹配。如果它在一个循环中我得到超过25张图片/ sekond而且视频要快。

  2. 如何通过rtp / rtps或类似工具直接在网络上传输转换后的H264流。

  3. 感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

  1. 这是一个常见问题。
    • 如果您不需要分发您的软件(私人使用/服务器端/开源),您可以使用FFMpeg编译的x264 encoder,在FFMpeg的配置脚本中有一个配置标志
    • 如果您确实需要分发您的软件,我不知道任何LGPL许可的库,我相信没有这样的库。你必须使用一些付费解决方案。
  2. 您应该实现DeviceSource.cpp,请参阅DeviceSource.hh并将其用作FramedSource。
  3. 编辑:Apple发布视频编码器API,允许访问iOS8中的h264帧流

答案 1 :(得分:1)

有关如何使用x264和Live555编码和流式传输帧的示例,请参阅以下内容:

  1. spyPanda开源项目。
  2. How to write a Live555 FramedSource to allow me to stream H.264 live问题。