擅长:python、mysql、java
<p>只需稍作改动即可正常工作:
这将在循环中读取流并每次显示最后一个图像</p>
<pre><code>adbCmd = ['adb', 'exec-out', 'screenrecord', ' output-format=h264', '-']
stream = sp.Popen(adbCmd, stdout = sp.PIPE)
ffmpegCmd =['ffmpeg', '-i', '-', '-f', 'rawvideo', '-vf', 'scale=324:576',
'-vcodec', 'bmp', '-']
ffmpeg = sp.Popen(ffmpegCmd, stdin = stream.stdout, stdout = sp.PIPE)
while True:
fileSizeBytes = ffmpeg.stdout.read(6)
fileSize = 0
for i in xrange(4):
fileSize += array.array('B',fileSizeBytes[i + 2])[0] * 256 ** i
bmpData = fileSizeBytes + ffmpeg.stdout.read(fileSize - 6)
image = cv2.imdecode(np.fromstring(bmpData, dtype = np.uint8), 1)
cv2.imshow("im",image)
cv2.waitKey(25)
</code></pre>