问题描述
我正在编写将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 (将#修改为@)