Yt2 / app.py
FASHHaha's picture
Update app.py
ece84d0 verified
Raw
History Blame Contribute Delete
1.21 kB
import streamlit as st
from googleapiclient.discovery import build
from pytube import YouTube
API_KEY = 'YOUR_API_KEY'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'
def get_video_info(url):
video_id = url.split('v=')[1]
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, developerKey=API_KEY)
request = youtube.videos().list(part="snippet,contentDetails,statistics", id=video_id)
response = request.execute()
return response
def download_video(url, resolution):
yt = YouTube(url)
if resolution == 'audio':
stream = yt.streams.filter(only_audio=True).first()
else:
stream = yt.streams.filter(res=resolution).first()
return stream.download()
st.title('All-in-One YouTube Downloader')
url = st.text_input('Enter the URL of the YouTube video')
resolution = st.selectbox('Select Resolution', ['360p', '720p', '1080p', 'audio'])
if st.button('Download'):
if url:
st.write('Starting download...')
info = get_video_info(url)
st.write(info) # Display video information
download_video(url, resolution)
st.success('Download completed!')
else:
st.error('Please enter a valid URL.')