Update app.py
Browse files
app.py
CHANGED
@@ -9,16 +9,18 @@ def enhance_video(input_file):
|
|
9 |
# Kiểm tra xem input_file có tồn tại không
|
10 |
if not input_file:
|
11 |
return "Không có file video nào được tải lên."
|
12 |
-
|
13 |
# Sử dụng đường dẫn file do Gradio cung cấp
|
14 |
input_path = input_file
|
15 |
output_path = "enhanced_output.mp4"
|
16 |
-
|
17 |
# Định nghĩa các bộ lọc ffmpeg
|
18 |
filters = [
|
19 |
-
"
|
20 |
-
"
|
21 |
-
"
|
|
|
|
|
22 |
]
|
23 |
|
24 |
# Kết hợp các bộ lọc thành chuỗi
|
@@ -27,10 +29,13 @@ def enhance_video(input_file):
|
|
27 |
# Xây dựng lệnh ffmpeg
|
28 |
command = [
|
29 |
"ffmpeg",
|
30 |
-
"-i", input_path,
|
31 |
-
"-vf", filter_chain,
|
32 |
-
"-c:
|
33 |
-
|
|
|
|
|
|
|
34 |
]
|
35 |
|
36 |
try:
|
|
|
9 |
# Kiểm tra xem input_file có tồn tại không
|
10 |
if not input_file:
|
11 |
return "Không có file video nào được tải lên."
|
12 |
+
|
13 |
# Sử dụng đường dẫn file do Gradio cung cấp
|
14 |
input_path = input_file
|
15 |
output_path = "enhanced_output.mp4"
|
16 |
+
|
17 |
# Định nghĩa các bộ lọc ffmpeg
|
18 |
filters = [
|
19 |
+
"scale=1920:1080", # Upscale lên Full HD
|
20 |
+
"nlmeans=s=3:p=3:r=3", # Giảm nhiễu
|
21 |
+
"unsharp=5:5:1.0", # Làm sắc nét
|
22 |
+
"eq=contrast=1.2:brightness=0.1",# Điều chỉnh tương phản/sáng
|
23 |
+
"yadif=mode=1" # Deinterlace
|
24 |
]
|
25 |
|
26 |
# Kết hợp các bộ lọc thành chuỗi
|
|
|
29 |
# Xây dựng lệnh ffmpeg
|
30 |
command = [
|
31 |
"ffmpeg",
|
32 |
+
"-i", input_path, # File đầu vào
|
33 |
+
"-vf", filter_chain, # Áp dụng các bộ lọc
|
34 |
+
"-c:v", "libx265", # Codec HEVC (hiệu quả hơn H.264)
|
35 |
+
"-crf", "23", # Chất lượng video (thấp hơn = tốt hơn)
|
36 |
+
"-preset", "medium", # Tốc độ mã hóa (medium là cân bằng)
|
37 |
+
"-c:a", "copy", # Sao chép âm thanh nguyên bản
|
38 |
+
output_path # File đầu ra
|
39 |
]
|
40 |
|
41 |
try:
|