Spaces:
Paused
Paused
from vitpose import VitPose | |
import requests | |
import os | |
from config import API_URL,API_KEY | |
from fastapi import UploadFile | |
import logging | |
logging.basicConfig(level=logging.INFO) | |
logger = logging.getLogger(__name__) | |
def process_video(file_name: str,vitpose: VitPose,user_id: str,player_id: str): | |
video_path = file_name | |
contents = open(video_path, "rb").read() | |
with open(video_path, "wb") as f: | |
f.write(contents) | |
logger.info(f"file saved {video_path}") | |
logger.info(f"starting task {video_path}") | |
new_file_name = os.path.join("static", video_path) | |
logger.info(f"new file name {new_file_name}") | |
vitpose.output_video_path = new_file_name | |
annotated_frames = vitpose.run(video_path) | |
vitpose.frames_to_video(annotated_frames) | |
logger.info(f"Video processed {video_path}") | |
with open(new_file_name, "rb") as f: | |
contents = f.read() | |
url = API_URL+ "/excercises/webhooks/video-processed" | |
logger.info(f"Sending video to {url}") | |
files = {"file": (video_path, contents, "video/mp4")} | |
logger.info(f"video_path: {video_path}") | |
response = requests.post(url, files=files, | |
data={"user_id":user_id,"typeMessage":"video_processed","file_name":video_path, | |
"player_id":player_id}, | |
stream=True, | |
headers={"token":API_KEY}) | |
logger.info(f"Response: {response.status_code}") | |
logger.info(f"Response: {response.text}") | |
logger.info(f"Video sent to {url}") | |