Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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).

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).