Launch Week Day 1: Socket for Jira Is Now Available.Learn More
Socket
Book a DemoSign in
Socket

youtube-cue

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

youtube-cue

Generates Cue sheet from Youtube URL

latest
Source
npmnpm
Version
1.0.10
Version published
Maintainers
1
Created
Source

youtube-cue npm Libraries.io dependency status for latest release NPM Snyk Vulnerabilities for npm package Total Dependencies

Generate CUE sheet from timestamps in youtube video description.

What is this for?

  • If you have DJ-mix or album on YouTube that you'd like to generate a CUE sheet for.
  • The video has timestamps in the video description.
  • The video is publicly available on Youtube.

youtube-cue will read the video description, get the timestamps and generate a CUE sheet accordingly. It will also work if track durations are used instead of timestamps.

Anti-features

  • It does not download tracks from YouTube
  • It does not split your tracks
  • It does not tag your tracks.

For all of the above, there are better tools available, such as youtube-dl, m4acut, mp3splt, cuetools, beets and many more. youtube-cue tries to do one thing well.

Installation

npm install -g youtube-cue

Upgrade

npm update -g youtube-cue

Usage

You need to pass 2 parameters, a Youtube URL and a output CUE filename. YouTube short URLs (youtu.be) are accepted. You can additionally pass a audio-file argument which is used for the FILE specified in the CUE file.

youtube-cue [--audio-file audio.m4a] <youtube_url> [output_file]

Options
  --help, Show help
  --audio-file, Input Audio File (optional) that is written to the CUE sheet

The default audio file is set to %VIDEOTITLE.m4a
The default output file is set to %VIDEOTITLE.cue

where $VIDEOTITLE is the title of the YouTube video.

Generally the parser detects whether numbers are positional timestamps or track durations.
To enforce a desired interpretation you can use these flags:

--timestamps Parse as positional timestamps (relative to the start of the playlist)
--durations Parse as track durations

The above 2 are only needed to force behaviour in
very specific edge cases, they should not be required for most files.

Examples
  $ youtube-cue --audio-file audio.m4a "https://www.youtube.com/watch?v=THzUassmQwE"
    "T A Y L O R  S W I F T – Folklore [Full album].cue" saved
  $ youtube-cue "https://youtu.be/THzUassmQwE" folklore.cue
    folklore.cue saved

Personal Usage

I have this in my .bashrc to download, split, tag, and import albums:

function ytdl.album() {
  cd $(mktemp -d)
  youtube-dl -f "bestaudio[ext=m4a]" --output "audio.m4a" "$1"
  youtube-cue --audio-file "audio.m4a" "$1" tracks.cue
  m4acut -C tracks.cue "audio.m4a" && \
  trash audio.m4a && \
  beet import -map .
}

HACKING

  • If it does not work on a specific video, please attach the complete output
  • Pull Requests are welcome that add support for a better parser without breaking the existing tests
  • Please add tests for any new functionality

License

Licensed under the MIT License

Keywords

youtube-cue

FAQs

Package last updated on 26 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts