OpenCV 流使用 H264 (mp4) 编解码器捕获 CAM
Posted
技术标签:
【中文标题】OpenCV 流使用 H264 (mp4) 编解码器捕获 CAM【英文标题】:OpenCV stream captured CAM with H264 (mp4) codec 【发布时间】:2012-07-03 21:00:02 【问题描述】:我喜欢流式传输由 opencv 捕获的网络摄像头图片。我考虑使用 ffmpeg 和 live555 的解决方案(不幸的是,它们的文档记录不太好)。我的问题是:
如何将捕获的图像转换为 H264 格式,以便图片/秒匹配。如果它处于循环中,我会获得超过 25 张图片/秒,并且视频速度很快。
如何通过 rtp / rtps 或类似的方式在网络上直接流式传输转换后的 H264 流。
感谢您的帮助!
【问题讨论】:
【参考方案1】:-
这是一个常见问题。
如果您不需要分发您的软件(私人使用/服务器端/开源),您可以使用用x264 encoder 编译的FFMpeg,在 FFMpeg 的配置脚本中有一个配置标志。
如果您确实需要分发您的软件,我不知道任何 LGPL 许可库,我相信没有这样的库。您必须使用一些付费解决方案。
您应该实现 DeviceSource.cpp,参见 DeviceSource.hh 并将其用作 FramedSource。
编辑:Apple 公开了视频编码器 API,允许在 ios8 中访问 h264 帧流
【讨论】:
【参考方案2】:有关如何使用 x264 和 Live555 编码和流式传输帧的示例,请参见以下内容:
-
spyPanda 开源项目。
How to write a Live555 FramedSource to allow me to stream H.264 live所以问题。
【讨论】:
以上是关于OpenCV 流使用 H264 (mp4) 编解码器捕获 CAM的主要内容,如果未能解决你的问题,请参考以下文章
opencv 中 mpeg 解码器的 4 char id 是啥
使用 FFMpeg 将 FLV 流式传输到 RTMP,使用 H264 编解码器和 C++ API 到 flv.js
“无法解码媒体资源 FILEPATH/FILENAME.mp4。”尝试在 Firefox 35 上播放 h264 编码文件时