我希望通过使用网络协议(如RTMP或RTSP等)实现将OpenCV输出帧发送或写入到HTML或任何其他应用程序的例程。
我试过很多次,但我没有找到任何解决办法。
例行公事如下:
RTSP协议从IP摄像机读取帧。(done)到目前为止我做了什么:
WebSocket的服务器将帧发送到网页。(这是非常昂贵的进程,CPU和RAM变得非常慢,并停止处理)。OpenCV VideoWriter类打开流并将框架写入其中,但它没有打开流。现在的问题是:我们可以使用OpenCV内置函数来广播或将帧写入流吗?如果是,那么如何才能做到这一点。如果没有,那么我们如何能够稳定地实现这个例程呢?是否有更好的方法或框架可供使用?
发布于 2018-03-29 12:30:46
command = 'ffmpeg -i - -f flv [streaming_url]'
import subprocess as sp
proc = sp.Popen(command, stdin=sp.PIPE,shell=False)
proc.stdin.write(frame.tostring())使用ffmpeg生成rtmp流。在图像中使用stdin调用ffmpeg命令。
https://stackoverflow.com/questions/47030741
复制相似问题