cali72mero commited on
Commit
1f9414d
·
verified ·
1 Parent(s): 2f62e47

Upload 5 files

Browse files
Files changed (5) hide show
  1. README.md +7 -7
  2. app.py +14 -0
  3. gitattributes +35 -0
  4. requirements.txt +1 -0
  5. youtube_video.py +34 -0
README.md CHANGED
@@ -1,13 +1,13 @@
1
  ---
2
- title: Youtube Downloder
3
- emoji: 🏆
4
- colorFrom: indigo
5
- colorTo: blue
6
- sdk: streamlit
7
- sdk_version: 1.36.0
8
  app_file: app.py
9
  pinned: false
10
- license: apache-2.0
11
  ---
12
 
13
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Youtube Video Downloader
3
+ emoji: ⬇️
4
+ colorFrom: yellow
5
+ colorTo: gray
6
+ sdk: gradio
7
+ sdk_version: 4.31.0
8
  app_file: app.py
9
  pinned: false
10
+ license: creativeml-openrail-m
11
  ---
12
 
13
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from youtube_video import download_youtube_video
2
+ import gradio as gr
3
+
4
+ def app(video_link):
5
+ video_path = download_youtube_video(video_link)
6
+ return video_path
7
+
8
+ interface = gr.Interface(
9
+ fn=app,
10
+ inputs=gr.Textbox(label="Enter YouTube link 🔗 To Download Video⬇️ "),
11
+ outputs=gr.Video(label = "video_path")
12
+ )
13
+
14
+ interface.launch(debug=True)
gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ pytube
youtube_video.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pytube
2
+ import os
3
+ from pytube import YouTube
4
+
5
+
6
+ def download_youtube_video(youtube_url):
7
+ """Downloads a YouTube video, renames it to the first three characters, and returns the downloaded file path."""
8
+
9
+ try:
10
+ # Create a YouTube object
11
+ yt = pytube.YouTube(youtube_url)
12
+
13
+ # Get the highest resolution progressive stream
14
+ video = yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first()
15
+
16
+ # Download the video
17
+ print("Downloading...")
18
+ video.download()
19
+
20
+ # Get the original filename
21
+ original_filename = video.default_filename
22
+
23
+ # Extract the first three characters and keep the file extension
24
+ new_filename = original_filename[:12] + os.path.splitext(original_filename)[1]
25
+
26
+ # Rename the downloaded file
27
+ os.rename(original_filename, new_filename)
28
+
29
+ print("Download complete! Video saved to:", new_filename)
30
+ return new_filename
31
+
32
+ except Exception as e:
33
+ print("An error occurred:", e)
34
+ return None