Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dmotts/yt-to-cloud-uploader

This application allows users to download YouTube videos or playlists and upload them directly to their Google Drive. #hacktoberfest
https://github.com/dmotts/yt-to-cloud-uploader

google-drive hacktoberfest open-source youtube

Last synced: 2 months ago
JSON representation

This application allows users to download YouTube videos or playlists and upload them directly to their Google Drive. #hacktoberfest

Awesome Lists containing this project

README

        

๐Ÿ“ฝ๏ธ๐Ÿ“ฅ YouTube to Cloud Uploader ๐Ÿช‚๐ŸŒฅ๏ธ



logo


Request Feature
ยท
Report Bug

Contributing Guidelines & Code of Conduct


[![Open Source Love svg1](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)
![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)
![GitHub forks](https://img.shields.io/github/forks/dmotts/yt-to-cloud-uploader)
![GitHub Repo stars](https://img.shields.io/github/stars/dmotts/yt-to-cloud-uploader)
![GitHub contributors](https://img.shields.io/github/contributors/dmotts/yt-to-cloud-uploader)
![GitHub last commit](https://img.shields.io/github/last-commit/dmotts/yt-to-cloud-uploader)
![GitHub repo size](https://img.shields.io/github/repo-size/dmotts/yt-to-cloud-uploader)
![GitHub total lines](https://sloc.xyz/github/dmotts/yt-to-cloud-uploader)
![Github](https://img.shields.io/github/license/dmotts/yt-to-cloud-uploader)
![GitHub issues](https://img.shields.io/github/issues/dmotts/yt-to-cloud-uploader)
![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/dmotts/yt-to-cloud-uploader)
![GitHub pull requests](https://img.shields.io/github/issues-pr/dmotts/yt-to-cloud-uploader)
![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/dmotts/yt-to-cloud-uploader)


This application allows users to download YouTube videos or playlists and upload them directly to their Google Drive.

## Features ๐Ÿ“ฐ
โœ… **Google Sign-In**: Users can authenticate with their Google account to grant the app access to their Google Drive.

โœ… **Download YouTube Content**: Supports downloading individual videos or entire playlists.

โœ… **Organize and Upload**: Automatically creates a 'Youtube Videos' folder in Google Drive and organizes playlist videos into subdirectories.

## Technologies Used ๐Ÿ›ธ
- [**yt-dlp**](https://github.com/yt-dlp/yt-dlp#readme): For downloading videos and playlists from YouTube.
- [**Streamlit**](https://docs.streamlit.io/): For creating a user-friendly web interface.
- [**Google Drive API**](https://developers.google.com/drive/api): For managing and uploading files to Google Drive.
- [**OAuth2**](https://oauth.net/2/): For Google user authentication and permissions.

## Prerequisites ๐Ÿฃ

- Python 3.x
- Google Cloud Project with the Drive API enabled
- OAuth 2.0 credentials from Google (client_id.json, token.json)
- Streamlit

## Setup Instructions ๐Ÿ“œ

1. **Clone the repository:**
```bash
git clone https://github.com/dmotts/yt-to-cloud-uploader.git
cd yt-to-cloud-uploader
```

2. **Install dependencies:**
```bash
pip install -r requirements.txt
```

3. **Configure OAuth 2.0 credentials:**

4. **Run the application:**
```bash
streamlit run main.py
```

5. **Access the Streamlit app:**
Open your web browser and go to `http://localhost:8501` to use the application.

## Usage ๐Ÿ•น๏ธ

- **Authenticate with Google**: On first run, click on the "Sign in with Google" button to authenticate and authorize the application to access your Google Drive.
- **Download and Upload**: Enter the URL of the YouTube video or playlist, click "Download and Upload", and the app will download the content and upload it to your Google Drive in a 'Youtube Videos' folder.

## Help Wanted ๐Ÿชง

- [ ] **OneDrive API Setup**: Add OneDrive as a cloud storage option.
- [ ] **Dropbox API Setup**: Add Dropbox as a cloud storage option.
- [ ] **Landing Page**: Convert the frontend from streamlit to a user-friendly, attractive and simple landing page.
- [ ] **Authentication**: Add user sign in authentication.

## Report A Bug ๐Ÿชฐ

If you encounter any issues or have questions, feel free to [open an issue](https://github.com/dmotts/yt-to-cloud-uploader/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+) or reach out to the maintainers.

## Contributions ๐Ÿง‘โ€๐Ÿ”ง๐Ÿ‘ทโ€โ™€๏ธ๐Ÿ—๏ธ๐Ÿข

Contributions are welcome! It only takes five (5) steps!

To contribute:

1) Fork the repository.

2) Create a new branch: `git checkout -b my-feature-branch`.

3) Make your changes and commit them: `git commit -m 'Add some feature'`.

4) Push to the branch: `git push origin my-feature-branch`.

5) Open a pull request.

Please read our Contributing Guidelines to get started! ๐Ÿš€

Say 'Hi' To Our Contributors!



dmotts


Brijeshthummar02


swarupn17


HomerusJa


shawaiz-khan


KrinsKumar


Akshay-66


๐Ÿซถ Thank you for your support! ๐Ÿ™Œ




๐ŸŒŽ Let's Stay Connected ๐Ÿคœ๐Ÿค›

If you like this project and would like to see more features or show your support.


Feel free to reach out to the developer(s) and give this project a โญ!