# yt-vlc

> ``` Usage $ yt-vlc

Latest version **0.0.5** (published 2021-04-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install yt-vlc
pnpm add yt-vlc
yarn add yt-vlc
bun add yt-vlc
```

Provides the command `yt-vlc`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.5 |
| Published | 2021-04-18 |
| First published | 2021-04-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 13 |
| Unpacked size | 284.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Anthony Mugendi |
| Maintainers | nguru |
| Keywords | vlc, player, youtube, playlist, query |

## Links

- npm: https://www.npmjs.com/package/yt-vlc
- Repository: https://bitbucket.org/mugendi/yt-vlc
- Homepage: https://bitbucket.org/mugendi/yt-vlc#readme
- npm.io page: https://npm.io/package/yt-vlc

## Dependencies (13)

- [ms](https://npm.io/package/ms.md) ^2.1.3
- [qs](https://npm.io/package/qs.md) ^6.10.1
- [got](https://npm.io/package/got.md) ^11.8.2
- [m3u](https://npm.io/package/m3u.md) ^0.0.2
- [meow](https://npm.io/package/meow.md) ^9.0.0
- [open](https://npm.io/package/open.md) ^8.0.6
- [aproba](https://npm.io/package/aproba.md) ^2.0.0
- [ospath](https://npm.io/package/ospath.md) ^1.2.2
- [unirest](https://npm.io/package/unirest.md) ^0.6.0
- [usetube](https://npm.io/package/usetube.md) ^2.0.5
- [fs-extra](https://npm.io/package/fs-extra.md) ^9.1.0
- [vlc-client](https://npm.io/package/vlc-client.md) ^1.0.6
- [vlc-remote](https://npm.io/package/vlc-remote.md) ^4.2.3

## Alternatives

- [gamedig](https://npm.io/package/gamedig.md) — 29.3K weekly downloads
- [join-monster](https://npm.io/package/join-monster.md) — 12.8K weekly downloads
- [masked](https://npm.io/package/masked.md) — 5.5K weekly downloads
- [@comunica/actor-query-process-explain-logical](https://npm.io/package/@comunica/actor-query-process-explain-logical.md) — 4.7K weekly downloads
- [@veracity/vui](https://npm.io/package/@veracity/vui.md) — 4.6K weekly downloads

## Recent versions

- 0.0.5 (latest) — 2021-04-18
- 0.0.4 — 2021-04-18
- 0.0.3 — 2021-04-18
- 0.0.2 — 2021-04-18
- 0.0.1 — 2021-04-18

## README

# Run VLC & Play YouTube from CLI.
I developed this module because I like to have a background video playing behind my translucent CLI (cmder). 

## How it works
YT-VLC fetches video links from YouTube and sends them over to VLC. It also saves the same as an m3u playlist so you can always stream the same videos using any other player that streams YouTube such as [PotPlayer](https://potplayer.daum.net/).

## Prerequisites
- You will need to install [NodeJs](https://nodejs.org/en/)
- You will also need [VLC](https://www.videolan.org/vlc/)
- Ensure your VLC can stream YouTube and if not, then follow the instructions [HERE](https://forum.videolan.org/viewtopic.php?t=156829#p515642)

- You will also need to enable VLC's Web interface as demonstrated [HERE](https://github.com/azrafe7/vlc4youtube/blob/master/instructions/how-to-enable-vlc-web-interface.md)

  Take note of the password and username you set up as you will need it. Note that username is optional for VLC Web interface.

## Installing 
Run ```npm install --global yt-vlc```

**NOTE:** Not sure why ```yarn global insall``` fails. Any ideas? 

After installation, then the magic starts. Try and run ```yt-vlc --help```;

![alternativetext](assets/1.png)

### Setting Up Your Configurations
It is easier to just save your VLC Web Interface logins once so you wont need to set them again.

To do this you simply type the following commands.

```yt-vlc --set_password "your-vlc-password"``` to set you password config.

```yt-vlc --set_username "this_is_me"``` to set you username config. 

Now you are ready to start playing!

### Streaming
First ensure VLC is running. If you just configured VLC Web Interface, then restart it for the new configurations to take effect.

Below are the commands you need.

1.  ```yt-vlc eminem``` or ```yt-vlc -s eminem ``` Search, save playlist, play eminem videos
2.  ```yt-vlc -s eminem --no-play``` Search, save playlist but don't start playing eminem videos.
3.  ```yt-vlc -s eminem --no-save``` Search and play eminem videos. But don't save the playlist files.

**NOTE:** Always quote multiple word phrases such as ```yt-vlc "eminem latest songs"```

**Need to play entire playlists?** then here is the magic.

4.  ```yt-vlc -l "https://www.youtube.com/watch?v=JGwWNGJdvx8&list=PLhsz9CILh357zA1yMT-K5T9ZTNEU6Fl6n"``` fetches all the videos in playlist, saves playlist file and starts playing.   
  You can also apply other flags above to stop playlist saving or immediate playback.

 **NOTE:** Playlists take **loooong** to process so avoid for now. Will fix this in future release.


### Extra commands

You can remove a config value by calling the set command with a blank value. For example, to remove your password, run :
```yt-vlc --set_password ```

You can also set the **"playlist name"** by using the ```-n, --name``` flag.

Otherwise use ```--help``` to have a look at all available options.

## Extra Resource
Read [This](https://www.vlchelp.com/stop-hd-video-from-freezing-vlc/) to optimize your VLC streaming experience.

---
_Source: https://npm.io/package/yt-vlc · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
