Spaces:
Paused
Paused
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:
|