opencv、FFmpeg 等工具如何读取 bytes 对象

opencv、FFmpeg 等工具如何读取 bytes 对象

opencvFFmpeg 等工具如何读取视频都是,给一个 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就行了


回答:

如果是流式数据类似264 265等等,可以一帧帧解码的,你就做一个解析,把数据解析成一个个NALU,然后一个个喂到解码函数里,直接用就好。
貌似ffmpeg有直接解析流的api,不过要配合RTMP,RTSP等协议。

以上是 opencv、FFmpeg 等工具如何读取 bytes 对象 的全部内容, 来源链接: utcz.com/p/938291.html

回到顶部