This helps with collecting YouTube videos for offline viewing in an easy'ish to use and not so fancy web UI.
Ways of collecting are:
- Searching manually within Tubular.
- Searching by Channel
- Searching from a Playlist
- Bulk collecting via playlist.
- Tracks Downloaded Items via sqlite DB.
Currently thanks to scrapetube and youtube_dl libraries with my own added special sauce. This serves everything through a lightweight FastAPI instance and keeps track of collecting by storing the queue and completed downloads in an sqlite database.
- clone this repo
pip install -r requirements.txt
- Change the variable
download_location
in the tubular.py to the location you want to collect your files. - Run
python tubular.py
- Navigate to
http://{your ip}:8000
version: '3'
services:
app:
image: ghcr.io/beheadedstraw/tubular:dev
container_name: tubular
restart: always
ports:
- 8000:8000
environment:
- HOST=0.0.0.0 # internal ip, leave as is.
- PORT=8000 # internal port
- CONFIG_DIR=/data # internal config path
- DOWNLOAD_DIR=/videos # internal download path
volumes:
- /tubular/config:/data #data folder for app src
- /tubular/videos:/videos #folder to store videos ***CHANGE THIS TO WHERE YOU WANT TO STORE VIDS***
- Python 3.x (tested on Python 3.8)
- you can change the
download_location
variable in the main.py
- You can find them under the packages section to the right or read above.
- Because I hate C#.
- Probably not. This was made in a couple of nights on a few beers and a prayer. If someone wants to help with PR's, it's more than welcome.
- Read above.