Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chrisvilches/youtube-podcast
System for scraping Youtube videos and converting them into podcasts (or music files).
https://github.com/chrisvilches/youtube-podcast
express microservices-architecture nodejs redis scraper socket-io youtube
Last synced: 2 months ago
JSON representation
System for scraping Youtube videos and converting them into podcasts (or music files).
- Host: GitHub
- URL: https://github.com/chrisvilches/youtube-podcast
- Owner: ChrisVilches
- Created: 2023-01-06T18:23:26.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-27T11:04:23.000Z (7 months ago)
- Last Synced: 2024-06-28T14:48:04.281Z (7 months ago)
- Topics: express, microservices-architecture, nodejs, redis, scraper, socket-io, youtube
- Language: TypeScript
- Homepage:
- Size: 382 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Youtube Podcast
System for scraping Youtube videos and converting them into podcasts (or music files).
Transcription, frontend and content summarization features coming soon.
## Run
Installation:
```sh
nvm use
npm install
```Configure the `.env` file.
Make sure `ffmpeg` is installed.
```sh
ffmpeg -version
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
```API:
```sh
npm run dev:api
```Worker:
```sh
npm run dev:worker
```Socket Process:
```sh
npm run dev:websocket
```## Using Docker
```sh
docker compose up -d
```## Tools Used
* TypeScript
* Node.js + Express
* MongoDB
* Redis
* MinIO
* Jest
* ffmpeg
* Other libraries (Bull, Youtube.js, RxJS, Mongoose, Typegoose, etc)## Limitations
* Videos may be unavailable for download depending on the server location (region).
* Cached data (such as transcriptions, video metadata, etc) may never be re-fetched (e.g. doesn't re-fetch even if new transcriptions are added to the video).