Git Product home page Git Product logo

ytbdl's Introduction

Project Based Learning 3 Repo: Youtube Downloader

Requirements: C/C++/.NET/Py

  • Connect to Youtube
  • Search Query Processing (Using Google Data API) or (Youtube Data API)
  • Examine HTML to get HTML video's link (OpenSource)
  • Download FLV file - Extract Sound
  • Networking Interface and Download

Plan:

  • Using Youtube Data API to get video's link and search query
  • Change the method: download to server and return file to client
  • Create Quality Selection Menu (1080p, 720p, 480p, 360p, 240p, 144p)
  • Create Extract Sound Menu (Yes/No)
  • Create Video format Menu (mp4, flv, avi, mkv, webm)
  • Create edit video menu (Cut, Merge, Add Sound, Add Subtitle) (1/4 DONE)
  • Store download history

Guide to use Github:

Guide to run the server:

  • Create virutal environment by running python -m venv .venv in the terminal.
  • Make sure you activate the virtual environment before running the server by running .venv/Scripts/activate in the terminal.
  • Run pip install -r requirements.txt to install all the required packages.
  • Run python ytbdl.py to start server and open localhost:80 to use.
  • If you want to use format other than mp4, you need to install ffmpeg and add it to PATH, Guide for installation can be found here.
  • The current repo have 3 main part:
    • ytbdl.py: The server to handle request from client and return video
    • app folder: Contain user interface

Update: 25/12/2023: Thay đổi cách thức hoạt động của server: Tải video về server và send file về client, mục đích tải về server là để có thể xử lý video (cắt, ghép, thay đổi định dạng)

  • Cho phép lựa chọn chất lượng video tải về (FLV) !(tuy nhiên vẫn còn gặp nhiều hạn chế khi chọn các chất lượng không đi kèm với âm thanh)
  • Cho phép lựa chọn tải audio riêng MP3 - Pytube
  • Search Query Processing - Youtube Data API hoặc Pytube
  • Lưu lịch sử tải về
  • Cắt video tại thời điểm được chỉ định (Làm UI cho phần lựa chọn) - Pytube hoặc FFmpeg
  • Cho phép lựa chọn định dạng video tải về (mp4, flv, avi,..) - FFmpeg

ytbdl's People

Contributors

sugarete avatar hnanh99 avatar flordst avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.