hkvideo.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. from fastapi import APIRouter, Request, Depends
  4. from database import get_db
  5. from sqlalchemy.orm import Session
  6. from utils import hk_video_api
  7. from common import PTZApi
  8. from utils.StripTagsHTMLParser import *
  9. router = APIRouter()
  10. @router.get('/get_video_url_by_id')
  11. async def get_video_url_by_id(
  12. request: Request,
  13. id: str,
  14. protocol: str = 'hlss',
  15. db: Session = Depends(get_db)
  16. ):
  17. video_url = hk_video_api.get_video_url(id=id, protocol=protocol)
  18. print('video_url', video_url)
  19. return {
  20. "code": 200,
  21. "msg": "操作成功",
  22. "data": video_url
  23. }
  24. @router.get("/get_ptz_info")
  25. async def get_ptz_info(
  26. request: Request,
  27. code: str,
  28. db: Session = Depends(get_db)
  29. ):
  30. try:
  31. data = PTZApi.get_ptz_info(code)
  32. return {
  33. "code": 200,
  34. "msg": "操作成功",
  35. "data": data
  36. }
  37. except:
  38. return {
  39. "code": 500,
  40. "msg": "操作失败"
  41. }
  42. @router.get("/indexCode")
  43. async def indexCode(
  44. request: Request,
  45. code: str,
  46. db: Session = Depends(get_db)
  47. ):
  48. try:
  49. data = hk_video_api.indexCode(code)
  50. return {
  51. "code": 200,
  52. "msg": "操作成功",
  53. "data": data
  54. }
  55. except:
  56. return {
  57. "code": 500,
  58. "msg": "操作失败"
  59. }
  60. @router.post("/controlling")
  61. async def controlling(
  62. request: Request,
  63. body=Depends(remove_xss_json),
  64. db: Session = Depends(get_db)
  65. ):
  66. try:
  67. cameraIndexCode = body['cameraIndexCode']
  68. action = body['action']
  69. command = body['command']
  70. speed = body['speed']
  71. presetIndex = body['presetIndex']
  72. data = hk_video_api.controlling(cameraIndexCode, action, command, speed, presetIndex)
  73. return {
  74. "code": 200,
  75. "msg": "操作成功"
  76. }
  77. except:
  78. return {
  79. "code": 500,
  80. "msg": "操作失败"
  81. }