作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 openCV 捕获实时 youtube 广播。
使用 pafy 我从 youtube 获得 m3u8 播放列表(还没有研究播放列表更新),但是播放列表上的片段分散在多个主机上,这似乎导致与第一个主机不同的片段卡住,然后出现这样的错误:
Cannot reuse HTTP connection for different host: r5---sn-x2pm-f5fs.googlevideo.com:-1 != r4---sn-x2pm-f5fs.googlevideo.com:-1
mPafy = pafy.new('VQOzkTEPCMw')
mStream = mPafy.getbest(preftype="mp4")
capture = cv2.VideoCapture(mStream.url)
while(True):
ret, frame = capture.read()
cv2.imshow('yt', frame)
if cv2.waitKey(20) & 0xFF == ord('q'):
break
capture.release()
cv2.destroyAllWindows()
import pafy
from cv2 import cv2
import subprocess as sp
import numpy as np
mPafy = pafy.new('VQOzkTEPCMw')
mStream = mPafy.getbest(preftype='mp4')
frameSize = 3*mStream.dimensions[0]*mStream.dimensions[1]
pipe = sp.Popen(['./ffmpeg.exe', '-i', mStream.url, '-f', 'image2pipe', '-pix_fmt', 'bgr24',
'-vcodec', 'rawvideo', '-'],
stdin=sp.PIPE, stdout=sp.PIPE, bufsize=frameSize)
while(True):
raw = pipe.stdout.read(frameSize)
frame = np.fromstring(raw, dtype='uint8').reshape(
mStream.dimensions[1], mStream.dimensions[0], 3)
cv2.imshow('yt', frame)
if cv2.waitKey(16) & 0xFF == ord('q'):
break
pipe.terminate()
cv2.destroyAllWindows()
最佳答案
对于 ffmpeg
您可以使用 -http_persistent 0
以避免这个错误。
关于python - OpenCV 视频捕获 : Cannot reuse HTTP connection for different host,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54745306/
我是一名优秀的程序员,十分优秀!