kooldark commited on
Commit
4691f14
·
verified ·
1 Parent(s): 69e3f3f

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -0
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import subprocess
2
+ import gradio as gr
3
+
4
+ def get_download_link(url):
5
+ """
6
+ Lấy link tải trực tiếp từ video YouTube.
7
+ """
8
+ if not url.strip():
9
+ return "Vui lòng nhập URL video."
10
+
11
+ try:
12
+ # Lệnh yt-dlp để lấy link tải trực tiếp
13
+ cmd = f'yt-dlp -g {url}'
14
+ result = subprocess.check_output(cmd, shell=True).decode('utf-8').strip()
15
+
16
+ # yt-dlp trả về một hoặc nhiều link, mỗi link trên một dòng
17
+ links = result.split("\n")
18
+ formatted_links = "\n".join([f"- [Tải File {i+1}]({link})" for i, link in enumerate(links)])
19
+
20
+ return f"Các link tải trực tiếp:\n\n{formatted_links}"
21
+ except subprocess.CalledProcessError as e:
22
+ return f"Lỗi khi lấy link tải: {str(e)}"
23
+ except Exception as e:
24
+ return f"Đã xảy ra lỗi: {str(e)}"
25
+
26
+ # Giao diện Gradio
27
+ with gr.Blocks() as demo:
28
+ gr.Markdown("## YouTube Downloader - Lấy Link Tải Trực Tiếp")
29
+ url_input = gr.Textbox(label="Nhập URL video YouTube", placeholder="https://www.youtube.com/watch?v=...")
30
+ download_button = gr.Button("Lấy Link Tải")
31
+ output_display = gr.Markdown()
32
+
33
+ # Kết nối nút với hàm xử lý
34
+ download_button.click(fn=get_download_link, inputs=url_input, outputs=output_display)
35
+
36
+ # Chạy ứng dụng
37
+ if __name__ == "__main__":
38
+ demo.launch()