Adjusts in project
This commit is contained in:
@@ -9,10 +9,6 @@ from moviepy import TextClip
|
||||
|
||||
font = "./Montserrat.ttf"
|
||||
|
||||
def normalize_filename(filename):
|
||||
name = unicodedata.normalize('NFKD', filename).encode('ASCII', 'ignore').decode('ASCII')
|
||||
return name.lower()
|
||||
|
||||
def cut_video_new_clip(input_path: str, start: float, end: float, output_path: str):
|
||||
video_codec = "libx264"
|
||||
|
||||
@@ -108,11 +104,11 @@ def timestamp_to_seconds(ts):
|
||||
else:
|
||||
raise ValueError(f"Timestamp inválido: {ts}")
|
||||
|
||||
def process_full_video(filename: str, title: str, times: list = None) -> list:
|
||||
def process_full_video(filename: str, times: list = None) -> list:
|
||||
os.makedirs("temp", exist_ok=True)
|
||||
|
||||
times = times or []
|
||||
video_path = f"videos/{title}"
|
||||
video_path = f"videos/{filename}"
|
||||
processed = []
|
||||
|
||||
video_codec = "libx264"
|
||||
|
||||
@@ -6,10 +6,9 @@ services:
|
||||
ports:
|
||||
- "5000:5000"
|
||||
volumes:
|
||||
# - /home/well/outputs:/app/outputs
|
||||
# - /home/well/videosDownload:/app/videos
|
||||
# - /home/well/tempVideos:/app/temp
|
||||
- ".:/app" # descomentar somente se for rodar no windows/linux local
|
||||
- "/root/videos:/app/videos"
|
||||
- "/root/temp:/app/temp"
|
||||
- "/root/outputs:/app/outputs"
|
||||
# gpus: all
|
||||
# environment:
|
||||
# - NVIDIA_VISIBLE_DEVICES=all
|
||||
|
||||
15
main.py
15
main.py
@@ -1,8 +1,6 @@
|
||||
import os
|
||||
import requests
|
||||
import threading
|
||||
import glob
|
||||
import shutil
|
||||
|
||||
os.environ["IMAGEIO_FFMPEG_EXE"] = "/usr/bin/ffmpeg"
|
||||
|
||||
@@ -12,19 +10,18 @@ from components.video import process_full_video
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
def process_and_call_webhook(url, video_id, times, webhook_url, row_number, filename, title):
|
||||
def process_and_call_webhook(url, video_id, times, webhook_url, filename):
|
||||
try:
|
||||
os.makedirs("videos", exist_ok=True)
|
||||
os.makedirs("temp", exist_ok=True)
|
||||
|
||||
print(f"Working on video {filename}")
|
||||
processed_files = process_full_video(filename, title, times)
|
||||
processed_files = process_full_video(filename, times)
|
||||
|
||||
payload = {
|
||||
"videosProcessedQuantity": len(processed_files),
|
||||
"filename": filename,
|
||||
"processedFiles": processed_files,
|
||||
"rowNumber": row_number,
|
||||
"url": url,
|
||||
"videoId": video_id,
|
||||
"error": False,
|
||||
@@ -43,7 +40,6 @@ def process_and_call_webhook(url, video_id, times, webhook_url, row_number, file
|
||||
"videosProcessedQuantity": 0,
|
||||
"filename": filename,
|
||||
"processedFiles": processed_files,
|
||||
"rowNumber": row_number,
|
||||
"url": url,
|
||||
"videoId": video_id,
|
||||
"error": str(e),
|
||||
@@ -70,24 +66,19 @@ def process_video():
|
||||
|
||||
url = data.get("url")
|
||||
video_id = data.get("videoId")
|
||||
title = data.get("title", "")
|
||||
times = data.get("times", [])
|
||||
webhook_url = data.get("webhookUrl")
|
||||
row_number = data.get("rowNumber")
|
||||
|
||||
if not webhook_url:
|
||||
return jsonify({"error": "Informe 'webhookUrl'"}), 400
|
||||
|
||||
if not row_number:
|
||||
return jsonify({"error": "Informe a linha da planilha"}), 400
|
||||
|
||||
filename = data.get("filename")
|
||||
if not filename:
|
||||
return jsonify({"error": "Informe 'filename'"}), 400
|
||||
|
||||
threading.Thread(
|
||||
target=process_and_call_webhook,
|
||||
args=(url, video_id, times, webhook_url, row_number, filename, title),
|
||||
args=(url, video_id, times, webhook_url, filename),
|
||||
daemon=True
|
||||
).start()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user