背景
最近做毕设需要做用树莓派视频流式处理,copy 了一个 picamera 的[源码]( https://github.com/waveform80/pistreaming)(大致思路是树莓派录制原是视频流 yuv,用 ffmpeg 转成 mpeg1 喂给 jsmpeg)并改造到了 flask 里用,
直接用的效果挺好,前提是不加其他骚操作,但现在需要定时从摄像头提取画面,但这样会造成视频流丢帧
所以我就想到了将视频流复制出来,需要提取的时候就取一帧就好,
问题
现在的问题是被卡在了复制流上
尝试写出了这样的同步代码,但同样会造成丢帧
将输入流写入多个文件流
class Mirror(object):
def __init__(self, items):
self.items = items
def write(self, b):
for x in self.items:
x.write(b)
def flush(self):
for x in self.items:
x.flush()
不知道还有没有什么好办法,python 基础不牢,请大佬们轻拍
ps:开线程的话会造成频繁删建线程,似乎会造成性能问题,SF 上看到的