dp3/README.md

152 lines
7.8 KiB
Markdown
Raw Normal View History

2022-02-25 01:54:16 +00:00
# .[d]. ircd.chat/6697 #tcpdirect
```
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh+MMMMMMMMMMMMMMhsMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMm/ oMMMMMMMMMMMMMMm +NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy` yMMMMMMMMMMMMMMM- -mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMs+dMMMMMMMMMM+ sMMMMMMMMMMMMMMM- `dMMMMMMMMMMms/NMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMM+ .omMMMMMM: -MMMMMMMMMMMMMMo `yMMMMMMMy: `dMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMM- /dMMM+ sMMMMMMMMMMMMh `hMMMNo` sMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMd :dm `mMMMMMMMMMMN. .NNo` .MMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMM: - :MMMMMMMMMMs :` sMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMs ymNMMMMMNm. NMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMy `-/-` .MMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMo .NMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMNh+. :sdMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMhso+:. `-/+syMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMM- dMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMM` `.:+/. `/s+:. sMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMNo -oms. .//-` `:/:` `+md+` .hMMMMMMMMMMMMMMM
MMMMMMMMMMMMMNs` .odNdo. .ohmd+` :dMMMMMMMMMMMMM
MMMMMMMMMMMNo` .. .- :hMMMMMMMMMMM
MMMMMMMMMd+` -sNMMMMMMMM
MMMMMMNs- `.. `/-. `+dMMMMMM
MMMNy: ./sdNMMMh: `sNMMMNds/. .odMMM
MM+ :ymMMMMMMMMMMh. +NMMMMMMMMMMmo- /NM
MMMh: .sNMMMMMMMMMMMMMMN- `hMMMMMMMMMMMMMMMm+` :hMMM
MMMMMd:` ``-:+shmMMMMMMMMMMMMMMMMMMN. hMMMMMMMMMMMMMMMMMMMmhs+/-..``````./dMMMMM
MMMMMMMMMNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMo .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN. /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN+` `+NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNs. -hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMdyymMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
```
2022-03-01 01:27:35 +00:00
## summary
2022-02-25 01:54:16 +00:00
```
2022-04-10 08:12:43 +00:00
dp3 v2.0 - parallel music ripping batch processing automation utility
2022-02-25 01:54:16 +00:00
```
2022-04-10 08:12:43 +00:00
## changelog - v2.0
- fixed some automation bugs
- added an auto-redownload feature for missed files, REDOWNLOAD_LIMIT variable is at top of code
2022-03-19 17:51:18 +00:00
## changelog - v1.8
- updated progress indicators to reflect differences in webm/youtube, aiff/bandcamp, wav/soundcloud
2022-03-19 17:24:47 +00:00
## changelog - v1.7
- added a sense of progess indication to the site indexing, helpful if you are ripping channels
- updated the dp3 tagging tool, mishandled unicode splitting and would omit downloaded files
- altered some ui elements, examples, indications and color coding
- updated the tmux layout, it wasn't tiling in fractions between perfect vertical/horizontal splits
- updated the way file progress is realized so window panes close accordingly
- changed some flags to youtube-dl so that stale downloads were not hanging large batches
## changelog - v1.6
- added MULTI-LINE mode - rather than feeding arguments as parameters you can paste a bunch on boot
- added mixed processing - can MULTI-LINE playlists from soundcloud/youtube/bandcamp intermingled
2022-03-01 13:37:23 +00:00
- sets/playlists/channels - these now all operate no differently than a single media link
- stepped up parallelism
2022-03-01 03:53:35 +00:00
- increased thread count - variable set at top of dp3.sh
- added archive prefix - variable set at top of dp3.sh
2022-03-01 03:30:06 +00:00
- added soundcloud
- added bandcamp
- changed archive method to include original playlist url into the process log
- changed archive method to also include the coverart into the archive as well as encoded into id3tag
- updated progress/download windows
2022-02-25 01:54:16 +00:00
## screenshots
2022-03-01 13:48:28 +00:00
---
```
2022-03-19 17:24:47 +00:00
MULTI-LINE mode
2022-03-01 13:48:28 +00:00
```
---
2022-03-01 13:37:23 +00:00
![screenshots](screenshots/ssa.jpg)
![screenshots](screenshots/ssb.jpg)
![screenshots](screenshots/ssc.jpg)
![screenshots](screenshots/sse.jpg)
2022-03-01 13:48:28 +00:00
---
```
command line mode
```
---
2022-02-25 03:01:20 +00:00
![screenshots](screenshots/ss1.jpg)
![screenshots](screenshots/ss2.jpg)
![screenshots](screenshots/ss3.jpg)
![screenshots](screenshots/ss4.jpg)
![screenshots](screenshots/ss5.jpg)
![screenshots](screenshots/ss6.jpg)
2022-03-01 01:27:35 +00:00
## overview
2022-02-25 01:54:16 +00:00
```
2022-03-01 01:30:36 +00:00
you supply this script a playlist from either bandcamp, soundcloud or youtube and it will mass download
all of that media content in parallel. the files will then be renamed to a different naming method, the
2022-03-01 01:27:35 +00:00
information like coverart, name, artist, url, notes and other text are encoded into the mp3s as well
2022-03-01 01:31:31 +00:00
as the urls as to where the content came from. a playlist is created and then the content is archived.
2022-03-01 14:02:07 +00:00
[ batch / rip / encode / rename / art / tag / playlist ]
2022-02-25 01:54:16 +00:00
```
## prerequisites
2022-03-01 01:27:35 +00:00
- `python3`
- `python3-pip`
- `tmux`
- `parallel`
- `jq`
- `elinks`
- `youtube-dl`
- `ffmpeg`
## content
- dp3.sh - *main file*
## usage
2022-03-01 13:44:15 +00:00
```
command line mode
```
2022-03-01 01:27:35 +00:00
- syntax: `bash dp3.sh name_of_playlist genre_of_playlist url_to_playlist`
- example: `bash dp3.sh dr1pp1ng techno https://www.youtube.com/playlist?list=PLrdcKN79B4UG1xoQ8-L3eiaI1cYzFCiW`
2022-03-01 13:44:15 +00:00
```
2022-03-19 17:24:47 +00:00
MULTI-LINE mode
2022-03-01 13:44:15 +00:00
```
2022-03-19 17:24:47 +00:00
- syntax: `bash dp3.sh` - *without arguments* - when the script loads it will be accepting MULTI-LINE input
- example: MULTI-LINE paste.. first line - playlist name, 2nd line - genre, rest of the lines can be intermingled
2022-03-01 13:44:15 +00:00
```
`bash dp3.sh`
2022-03-19 17:24:47 +00:00
[ ENTER MULTI-LINE PLAYLISTS, PRESS CTRL+D WHEN YOU'RE DONE OR CTRL+C TO ABORT ]
2022-03-01 13:44:15 +00:00
dr1pr3kt_dp3_t3st
mixed
https://www.youtube.com/playlist?list=PLrdcKN79B4UEatA0qrCJkxQrWGoIP4h3T
https://www.youtube.com/playlist?list=PLrdcKN79B4UEUJWovJJpG6nGpy9eVpP9T
https://www.youtube.com/channel/UCT__fJTyOLsXxzyfeJllGJA
https://soundcloud.com/whiteeyes
https://www.youtube.com/c/eliozie
https://the--hacker.bandcamp.com/
https://saralandry.bandcamp.com/
https://schwefelgelb.bandcamp.com/
https://www.youtube.com/channel/UClaFw_6RjEF-LVFMe_3V2KQ
https://soundcloud.com/phosgore
https://snts.bandcamp.com/album/the-unfinished-fight-against-humanity-lp
https://soundcloud.com/vanta_sec
https://soundcloud.com/daxj
https://blackdresses.bandcamp.com/album/forget-your-own-face?from=hp
https://bspliveseries.bandcamp.com/album/bsp-live-series-2021-09-04-kharkiv?from=hp
https://ohmresistance.bandcamp.com/album/heroes-of-snake-island-i?from=hp
https://youwillloveeachother.bandcamp.com/album/disco4-part-ii?from=hp
https://svaj.bandcamp.com/album/rewind-ep?from=hp
https://gregpuciato.bandcamp.com/album/mirrorcell?from=hp
https://jkflesh.bandcamp.com/album/new-religions-old-rules?from=hp
https://shilparay.bandcamp.com/album/portrait-of-a-lady?from=hp
^D
```
2022-02-25 01:54:16 +00:00
## setting up environment
- `git clone --recursive https://git.tcp.direct/decoded/dp3.git`
2022-02-25 03:18:41 +00:00
## notes
2022-03-01 01:27:35 +00:00
- playlist/genre names dont matter but the url must be valid otherwise there is nothing to download
2022-02-25 03:18:41 +00:00
- if a window seems hung leave it alone, some files probably still encoding
2022-03-01 13:37:23 +00:00
- if it does indeed crash it's probably because the playlist is private, it needs to be public or unlisted