Giter Site home page Giter Site logo

youtuber's Introduction

YouTuber

License: MIT GitHub commits since latest release (by date including pre-releases) .NET-CI Release

Introdution

๐Ÿš€ YouTuber is a fast command line for downloading YouTube videos. YoutTuber is a cross platform (Windows and Ubuntu) Open Source software licensed under MIT License. It is highly encouraged to read and respect YouTube policy and other content creators and owners copyright.

Download and install

You can find downloadyoutube.7z and download YouTuber via Releases.

Extract the zip file and extract the version that fits your operating system. Follow the examples below under How to use.

Avaibale versions:

  • DownloadYouTube.exe from win-x86 folder for Windows OS 10, 11
  • DownloadYouTube.exe from win-x64 folder for Windows OS 10, 11
  • DownloadYouTube from linux-x64 folder for Ubuntu OS
  • DownloadYouTube from osx-x64 folder for Mac OS

How to use

Example 1, Help

./DownloadYouTube --help

Result

  -a, --audio    Extract only audio. -a mp3 or -a m4a.

  -l, --list     Required. Download single or multiple youtube by url or id, use
                 ; as separator.
                 ./DownloadYouTube -l xxxxxxxxxxx;xxxxxxxxxxx;xxxxxxxxxxx
                 ./DownloadYouTube -l xxxxxxxxxxx

  --help         Display this help screen.

  --version      Display version information.

Example 2, Download a single video based on youtube url

./DownloadYouTube -l https://www.youtube.com/watch?v=Kv3RfdHZ25c

It will download following link:

https://www.youtube.com/watch?v=Kv3RfdHZ25c

Example 3 Download multiple videos based on youtube video id

./DownloadYouTube -l Kv3RfdHZ25c;dVsZm7_sqfw;3rJfBFamlIw

It will download 3 youtube videos of following link:

https://www.youtube.com/watch?v=Kv3RfdHZ25c
https://www.youtube.com/watch?v=dVsZm7_sqfw
https://www.youtube.com/watch?v=3rJfBFamlIw

Example 4 Download multiple videos based on youtube video url

./DownloadYouTube -l dummy

It will download 3 samples videos. It will create download.txt list file of the 3 videos (You can add your own videos).

Example 5 Download multiple videos based on youtube video url

./DownloadYouTube -l ./download.txt

It will download what ever youtube link from download.txt file.

Example 6 Download and extract only Audio of the youtube video

./DownloadYouTube -l ./download.txt -a mp3

Will convert to mp3

./DownloadYouTube -l ./download.txt -a m4a

Will convert to m4a

Note: Audio conversion might take longer time than downloading the video.

Example 7 Download multiple videos of different variation

./DownloadYouTube -l Kv3RfdHZ25c;https://www.youtube.com/watch?v=dVsZm7_sqfw;https://youtu.be/3rJfBFamlIw

It will download 3 youtube videos of following link:

https://www.youtube.com/watch?v=Kv3RfdHZ25c
https://www.youtube.com/watch?v=dVsZm7_sqfw
https://www.youtube.com/watch?v=3rJfBFamlIw

Website

https://maythamfahmi.github.io/YouTuber

Versions

GitHub commits since latest release (by SemVer)

List of improvement


Developer

How to start

OS target

  • Tested on Windows 10 and 11
  • Ubuntu 20.xx

Language

  • C# Sharp
  • Standard 2
  • Dotnet 6

3rd party dependency

Third party packages/libraries:

  • VideoLibrary
  • Xabe.FFmpeg
  • Xabe.FFmpeg.Downloader
  • CommandLineParser

Xabe is used for audio convertion feature. It is only for none commerical use, else contact Xabe.FFmpeg

Create Release

From you console:

After merging to main, create tag release:

git tag 3.x.x -a -m "Release version 3.x.x"
git push --tags

For pre-release, just tag with .0-pre like v3.x.x.0-pre.

Example:

git tag 3.x.x.0-pre -a -m "Release version 3.x.x.0-pre"
git push --tags

Note: remove cached tags git fetch -p -P origin in case of mistake or clean up and git push --tags

Rememebr to update readme badge and versions.

Testing with Ubuntu on Windows environment

docker run -it --rm -v $pwd`:/app mcr.microsoft.com/dotnet/sdk:6.0 cd /app

Example of testing release in Ubuntu docker instance:

dotnet publish /p:PublishProfile=Release-win-x64 -c Release

Check this dotnet/sdk#23627

It requries docker desktop.

Issues

Please report issues here.

Contributing

I need your help, so if you have good knowledge of C# and Cryptography just grab one of the issues and add a pull request. The same is valid, if you have idea for improvement, adding new feature or even documentation improvement and enhancemnet, you are more than welcome to contribute.

How to contribute:

Here is a link to learn how to contribute if you are not a ware of how to do it.

youtuber's People

Contributors

maythamfahmi 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.