hkvideo.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. import json
  10. router = APIRouter()
  11. @router.get('/get_video_url_by_id')
  12. async def get_video_url_by_id(
  13. request: Request,
  14. id: str,
  15. protocol: str = 'hlss',
  16. db: Session = Depends(get_db)
  17. ):
  18. video_url = hk_video_api.get_video_url(id=id, protocol=protocol)
  19. print('video_url', video_url)
  20. return {
  21. "code": 200,
  22. "msg": "操作成功",
  23. "data": video_url
  24. }
  25. @router.get("/get_ptz_info")
  26. async def get_ptz_info(
  27. request: Request,
  28. code: str,
  29. db: Session = Depends(get_db)
  30. ):
  31. try:
  32. data = PTZApi.get_ptz_info(code)
  33. return {
  34. "code": 200,
  35. "msg": "操作成功",
  36. "data": data
  37. }
  38. except:
  39. return {
  40. "code": 500,
  41. "msg": "操作失败"
  42. }
  43. @router.get("/indexCode")
  44. async def indexCode(
  45. request: Request,
  46. code: str,
  47. db: Session = Depends(get_db)
  48. ):
  49. try:
  50. data = hk_video_api.indexCode(code)
  51. return {
  52. "code": 200,
  53. "msg": "操作成功",
  54. "data": data
  55. }
  56. except:
  57. return {
  58. "code": 500,
  59. "msg": "操作失败"
  60. }
  61. @router.post("/controlling")
  62. async def controlling(
  63. request: Request,
  64. body=Depends(remove_xss_json),
  65. db: Session = Depends(get_db)
  66. ):
  67. try:
  68. cameraIndexCode = body['cameraIndexCode']
  69. action = body['action']
  70. command = body['command']
  71. speed = body['speed']
  72. presetIndex = body['presetIndex']
  73. data = hk_video_api.controlling(cameraIndexCode, action, command, speed, presetIndex)
  74. return {
  75. "code": 200,
  76. "msg": "操作成功"
  77. }
  78. except:
  79. return {
  80. "code": 500,
  81. "msg": "操作失败"
  82. }