几帧后,OpenCV HLS youtube流停止

时间:2019-10-23 16:15:48

标签: python opencv youtube http-live-streaming pafy

我正在尝试使Youtube实时流与openCV一起使用,但是在10帧之后,它只是停止并在2分钟后重新启动。

错误消息:

[tls @ 000001676fa27400] Unable to read from socket
[tls @ 000001676fa27400] Writing encrypted data to socket failed
[tls @ 000001676fa27400] Failed to send close message

使用的代码:

import cv2
import pafy

url = 'https://youtube.com/watch?v=51djMAqsmIQ'
vPafy = pafy.new(url)
play = vPafy.getbest()

print(play.url)

cap = cv2.VideoCapture(play.url)
while (True):
    ret,frame = cap.read()

    cv2.imshow('frame',frame)
    if cv2.waitKey(20) & 0xFF == ord('q'):
        break    

cap.release()
cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:0)

我也确实遇到了来自YouTube的实时HSL流的问题。

我确实使用了以下方法:

https://github.com/streamlink/streamlink/issues/857

在这种情况下,我使用streamlink来制作文件/ tmp / stream。 使用opencv我正在读取文件/ tmp / stream ..

(缺点:您必须停止流,否则文件会变大)