GithubHelp home page GithubHelp logo

mps-youtube's Introduction

mps-youtube

Wheel Status

Features

  • Search and play audio/video from YouTube
  • Search tracks of albums by album title
  • Search and import YouTube playlists
  • Create and save local playlists
  • Download audio/video
  • Convert to mp3 & other formats (requires ffmpeg or avconv)
  • View video comments
  • Works with Python 3.x
  • Works with Windows, Linux and Mac OS X
  • Requires mplayer or mpv

This project is based on mps, a terminal based program to search, stream and download music. This implementation uses YouTube as a source of content and can play and download video as well as audio. The pafy library handles interfacing with YouTube.

FAQ / Troubleshooting common issues

Screenshots

Search

http://mps-youtube.github.io/mps-youtube/std-search.png

A standard search is performed by entering / followed by search terms.

Local Playlists

http://mps-youtube.github.io/mps-youtube/local-playlist.png

Search result items can easily be stored in local playlists.

YouTube Playlists

http://mps-youtube.github.io/mps-youtube/playlist-search.png

YouTube playlists can be searched and played or saved as local playlists.

Download

http://mps-youtube.github.io/mps-youtube/download.png

Content can be downloaded in various formats and resolutions.

Comments

http://mps-youtube.github.io/mps-youtube/comments.png

A basic comments browser is available to view YouTube user comments.

Music Album Matching

http://mps-youtube.github.io/mps-youtube/album-1.png

http://mps-youtube.github.io/mps-youtube/album-2.png

An album title can be specified and mps-youtube will attempt to find matches for each track of the album, based on title and duration. Type help search for more info.

Customisation

http://mps-youtube.github.io/mps-youtube/customisation2.png

Search results can be customised to display additional fields and ordered by various criteria.

This configuration was set up using the following commands:

set order views
set columns user:14 date comments rating likes dislikes category:9 views

Type help config for help on configuration options

Installation

Linux

Note: ~/.local/bin should be in your PATH for --user installs.

Using pip:

$ pip3 install --user mps-youtube

To install the experimental development version and try the latest features:

$ pip3 install --user -U git+https://github.com/mps-youtube/mps-youtube.git

Installing youtube-dl is highly recommended:

$ pip3 install --user youtube-dl
and to upgrade:
$ pip3 install --user youtube-dl --upgrade

(youtube-dl version dowloaded directly from youtybe-dl website can't be used by mps-youtube. While the version in the repositories is usually outdated)

For mpris2 support, install the python bindings for dbus and gobject:

$ pip3 install --user dbus-python pygobject

Ubuntu

You can install mps-youtube directly from the official repositories:

[sudo] apt install mps-youtube

Arch Linux

You can install mps-youtube directly from the official repositories:

[sudo] pacman -S mps-youtube

macOS X

Install mpv (recommended player) with Homebrew:

brew cask install mpv

Alternately, you can install mplayer with MacPorts:

sudo port install MPlayer

Or with Homebrew:

brew install mplayer

Install mps-youtube using Homebrew:

brew install mps-youtube

Additional Windows installation notes

As an alternative to installing with pip, there is a standalone binary available. Go to Releases and download mpsyt-VERSION.exe under downloads for the latest release.

Install the python colorama module to get colors (optional):

pip3 install colorama

Mpsyt requires a player to use as a backend, with either mpv or mplayer supported. Mpv is the recommended option.

Mpv can be downloaded from https://mpv.srsfckn.biz/

Extract both mpv.exe and mpv.com to the same folder as mpsyt.exe or to a folder in the system path.

Alternately, mplayer can be downloaded from http://oss.netfarm.it/mplayer

Extract the mplayer.exe file, saving it to the folder that mpsyt.exe resides in (usually C:\PythonXX\Scripts\) or to a folder in the system path.

Run via Docker container

Using Docker, run with:

sudo docker run --device /dev/snd -it --rm --name mpsyt rothgar/mpsyt

Additional Docker notes

If you would like to locally build the container you can run the following steps

Check out this repo:

git clone https://github.com/mps-youtube/mps-youtube.git

Enter the directory and run docker build:

cd mps-youtube
sudo docker build -t mpsyt .

Now run the container interactively with:

sudo docker run -v /dev/snd:/dev/snd -it --rm --privileged --name mpsyt mpsyt

In order to have access to the local sound device (/dev/snd) the container needs to be privileged.

Upgrading

Upgrade pip installation:

[sudo] pip3 install mps-youtube --upgrade

Usage

mps-youtube is run on the command line using the command:

mpsyt

Enter h from within the program for help.

IRC

An IRC channel #mps-youtube for the project is available on Freenode (chat.freenode.net:6697). You can join directly by clicking this link.

How to Contribute

Contributions are welcomed! However, please check out the contributing page before making a contribution.

mps-youtube's People

Contributors

akawolf avatar alexnisnevich avatar blackcapcoder avatar fernandolguevara avatar gnojus avatar hrnr avatar ids1024 avatar jas32096 avatar jkatzwinkel avatar kraetzin avatar kz6wk9 avatar laxa avatar mevcj avatar mtahmed avatar nishanthkarthik avatar np1 avatar orschiro avatar paulnicolet avatar punchagan avatar rien333 avatar ritiek avatar rohanjadvani avatar rothgar avatar srvanrell avatar thomasleveil avatar tommysolsen avatar vikramkashyap avatar vn-ki avatar vrihub avatar zgrimshell avatar

Stargazers

 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.