opencv
、FFmpeg
等工具如何读取视频都是,给一个 filename,让他们自己去硬盘上读取视频文件。
但是我有如下场景:一个 http
服务,客户端传过来一个视频文件,这个时候收到后已经是一个在内存中的 bytes
对象了,如果要用 opencv、FFmpeg 对视频做处理的话,就需要先把视频 bytes 写到硬盘,再给 filename 给 opencv、FFmpeg。
我感觉不如直接把内存中的 bytes 对象给 opencv、FFmpeg 更好,但是 opencv、FFmpeg 貌似是不支持这么做的!
有什么解决办法吗?
参考文章:
Streaming video in memory with OpenCV VideoWriter and Python BytesIO
ffmpeg支持喂管道,通过管道喂给ffmpeg就行了