youtube-cue/README.md

76 lines
2.5 KiB
Markdown
Raw Normal View History

2021-05-30 15:31:27 +00:00
# youtube-cue
2017-06-07 20:26:45 +00:00
2021-06-28 08:44:19 +00:00
Generate CUE sheet from timestamps in youtube video description.
2017-06-07 20:26:45 +00:00
2021-06-28 08:44:19 +00:00
## What is this for?
1. If you have DJ-mix or album on YouTube that you'd like to generate a [CUE sheet][cue] for.
2. The video has timestamps in the video description.
3. The video is publicly available on Youtube.
`youtube-cue` will read the video description, get the timestamps and generate a [CUE sheet][cue] accordingly.
## Anti-features
1. It does not download tracks from YouTube
2. It does not split your tracks
3. It does not tag your tracks.
For all of the above, there are better tools available, such as [youtube-dl](https://ytdl-org.github.io/youtube-dl/), [m4acut](https://github.com/nu774/m4acut), [mp3splt](https://sourceforge.net/projects/mp3splt/), [cuetools](https://github.com/svend/cuetools), [beets](https://beets.io) and many more. youtube-cue tries to [do one thing well](https://onethingwell.org/).
2017-06-07 20:26:45 +00:00
## Installation
2021-05-30 15:31:27 +00:00
npm install -g youtube-cue
2017-06-07 20:26:45 +00:00
2021-06-28 08:44:19 +00:00
## Upgrade
npm update -g youtube-cue
2017-06-07 20:26:45 +00:00
## Usage
2021-06-28 08:44:19 +00:00
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][cuefile].
2021-06-28 08:50:10 +00:00
$ youtube-cue [--audio-file audio.m4a] <youtube_url> <output.cue>
2021-06-01 07:02:16 +00:00
Options
--help, Show help
2021-06-28 08:50:10 +00:00
--audio-file, Input Audio File (optional)
2021-06-01 07:02:16 +00:00
Examples
2021-06-28 08:50:10 +00:00
$ youtube-cue --audio-file audio.m4a "https://www.youtube.com/watch?v=THzUassmQwE" output.cue
2021-06-01 07:02:16 +00:00
output.cue saved
2021-06-28 08:50:10 +00:00
$ youtube-cue "https://youtu.be/THzUassmQwE" folklore.cue
folklore.cue saved
2017-06-07 20:26:45 +00:00
2021-06-01 07:09:54 +00:00
## Personal Usage
I have this in my `.bashrc` to download, split, tag, and import albums:
```shell
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 .
}
```
2017-06-07 20:26:45 +00:00
## HACKING
2021-06-28 08:44:19 +00:00
- If this video does not work on a specific video, please attach the complete output
2017-06-07 20:26:45 +00:00
- 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][mit]
[mit]: https://nemo.mit-license.org/
2017-06-07 20:30:26 +00:00
[rdd]: http://tom.preston-werner.com/2010/08/23/readme-driven-development.html
2021-06-28 08:44:19 +00:00
[cue]: https://en.wikipedia.org/wiki/Cue_sheet_(computing)
[cuefile]: https://en.wikipedia.org/wiki/Cue_sheet_(computing)#Essential_commands