12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- from raven import Client
- import os, subprocess
- from app.core.celery_app import celery_app
- from app.core.config import settings
- import requests
- from pathlib import Path
- from urllib.parse import urlparse, urljoin
- from .aianchor import make_video_from_zip
- import gc
- import dataset
- from app.db.session import SessionLocal
- from app.models import video
- from app import crud
- import gc
- download_to_local_url = urljoin(settings.SERVER_HOST, settings.API_V1_STR+"/videos/worker")
- upload_to_server_url = urljoin(settings.SERVER_HOST, settings.API_V1_STR+"/videos/worker")
- LOCAL_ZIP_STORAGE = Path("/").joinpath(settings.LOCAL_ZIP_STORAGE)
- CELERY_ZIP_STORAGE = Path("/").joinpath(settings.CELERY_ZIP_STORAGE)
- CELERY_VIDEO_STORAGE = Path("/").joinpath(settings.LOCAL_VIDEO_STORAGE)
- LOCAL_VIDEO_STORAGE = Path("/").joinpath(settings.LOCAL_VIDEO_STORAGE)
- STORAGE_IP = '192.168.192.252'
- BACKEND_IP = '172.'
- if not STORAGE_IP:
- raise Exception
- @celery_app.task(acks_late=True, bind=True, track_started=True)
- def make_video_test(self, title=None, anchor_id=None, lang_id=None)->int:
- print(title, anchor_id, lang_id)
- return 0
- @celery_app.task(acks_late=True, bind=True, track_started=True)
- def make_video(self, *, video_id, stored_filename=None, user_id=None, anchor_id=None, membership=None, available_time=None, **others) -> int:
-
-
-
- '''
- r = requests.get(download_to_local_url, stream=True)
- with open(str(VIDEO_STORAGE/zip_filename), 'wb') as f:
- r.raise_for_status()
- for chunk in r.iter_content(chunk_size=1024):
- f.write(chunk)
- '''
-
-
- zip_filename = stored_filename + ".zip"
- r = subprocess.run(["sshpass", "-p", "choozmo9",
- "scp", "-o", "StrictHostKeyChecking=no", f"root@{STORAGE_IP}:{str(LOCAL_ZIP_STORAGE/zip_filename)}", f"{str(CELERY_ZIP_STORAGE/zip_filename)}"])
- print(f'get from local storage: {r.returncode}')
- print(f"video_id: {video_id}, file name: {stored_filename}")
-
-
-
-
- watermark_path='medias/logo_watermark.jpg'
- content_time = 0
- try:
- if membership=="infinite":
- watermark_path=None
- content_time = make_video_from_zip(working_dir=CELERY_ZIP_STORAGE,style=Path("app/style/choozmo"),
- inputfile=zip_filename,
- opening=False,
- ending=False,
- watermark_path=watermark_path,
- available_time=available_time)
- except Exception as e:
- print(f"error:{e}")
-
-
- else:
-
- video_filename = stored_filename + ".mp4"
- r = subprocess.run(["sshpass", "-p", "choozmo9",
- "scp", "-o", "StrictHostKeyChecking=no", f"{str(CELERY_ZIP_STORAGE/'output.mp4')}", f"root@{STORAGE_IP}:{'/var/www/videos/'+video_filename}"])
- print(f"return to local storage: {r.returncode}")
- print(f"video_id: {video_id}, file name: {stored_filename}")
-
-
-
- gc_num = gc.collect()
- print(f"gc_num: {gc_num}")
- return int(content_time)
- @celery_app.task(acks_late=True, bind=True, track_started=True)
- def super_resolution(self, dirname, filenames):
-
- r = subprocess.run(["sshpass", "-p", "choozmo9",
- "scp", "-o", "StrictHostKeyChecking=no", "-r", f"root@{STORAGE_IP}:{str(LOCAL_ZIP_STORAGE/dirname)}", f"{str(CELERY_ZIP_STORAGE)}"])
-
- r = subprocess.run(["python", "/root/github/GFPGAN/inference_gfpgan.py", "-i", f"{str(CELERY_ZIP_STORAGE/dirname)}", "-o", f"{str(CELERY_ZIP_STORAGE/dirname)}", "-v", "1.4", "-s", "2"])
-
- r = subprocess.run(["sshpass", "-p", "choozmo9",
- "scp", "-o", "StrictHostKeyChecking=no", "-r", f"{str(CELERY_ZIP_STORAGE/dirname)}", f"root@{STORAGE_IP}:{str(LOCAL_ZIP_STORAGE)}"])
|