djnago StreamingHttpResponse显示正在加载

问题描述

我正在编写将RTSP转换为HTTP URL的api

我使用Django StreamingHttpResponse对其进行了转换。我将在下面附上代码

def gen(url):
    """Video streaming generator function."""
    cap = cv2.VideoCapture(url)
    while (cap.isOpened()):
        ret,img = cap.read()
        if ret == True:
            img = cv2.resize(img,(0,0),fx=1.5,fy=1.5)
            frame = cv2.imencode('.jpg',img)[1].tobytes()
            yield (b'--frame\r\n'b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
            time.sleep(0.1)
        else:
            break


@api_view(['GET'])
@permission_classes([])
def video_Feed(request,cam_id):
    """
        Converting RTSP stream to HTTP stream
        https://publicurl/api/video_Feed/camera_id
    """
    try:
        camera = Camera.objects.get(pk=cam_id)
        response = StreamingHttpResponse(gen(camera.CameraUrl),content_type='multipart/x-mixed-replace; boundary=frame')
        response["Access-Control-Allow-Origin"] = "*"
        response["Access-Control-Allow-Headers"] = "*"
        return response
    except Exception as ex:
        logging.getLogger("error_logger").exception(repr(ex))
        return Response({msg: validation["FDP23"]},status=status.HTTP_400_BAD_REQUEST)

还安装了Django核心标头

在浏览器中调用api http://127.0.0.1:8000/api/video_feed/1(我的公共URL为https)时,我正在获取视频,但是尝试在urlstreaming链接中使用时,没有视频显示。仅显示正在加载

我该如何解决

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)