Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/totallynotdavid/ytdlp_video_processor

Download, trim and convert YouTube videos easily to video (📺) and audio (📣)
https://github.com/totallynotdavid/ytdlp_video_processor

ffmpeg trim-videos yt-dlp-wrapper

Last synced: about 1 month ago
JSON representation

Download, trim and convert YouTube videos easily to video (📺) and audio (📣)

Awesome Lists containing this project

README

        

[![npm](https://img.shields.io/npm/v/ytdlp_video_processor.svg)](https://www.npmjs.com/package/ytdlp_video_processor) ![ytdlp_video_processor 0.0.1](https://img.shields.io/badge/ytdlp_video_processor-0.0.1-brightgreen.svg)

# ytdlp_video_processor

Module for downloading, processing, and optionally converting YouTube videos. This package uses `yt-dlp` for downloading videos and `ffmpeg` for processing and converting them.

## Installation

Run the following command in your project directory to install the package:

```bash
npm install ytdlp_video_processor
```

## Usage

To use this module, first, import it:

```javascript
const ytdlp_video_processor = require("ytdlp_video_processor")
```

Then, call `ytdlp_video_processor` with the necessary parameters:

```javascript
async function downloadAndProcessVideo() {
const youtubeId = "7W6RCTE0ZKM"
const startTime = 0 // Optional: Start time in seconds for trimming the video
const endTime = 120 // Optional: End time in seconds for trimming the video
const format = "ogg" // Optional: Desired output format (default is 'ogg')

try {
const processedFilePath = await ytdlp_video_processor(
youtubeId,
startTime,
endTime,
format,
)
console.log("Processed video saved at:", processedFilePath)
} catch (error) {
console.error("Error:", error)
}
}

downloadAndProcessVideo()
```

You can find more usage examples in the [examples/index.examples.js](examples/index.examples.js) file in the `examples` folder.

## Features

- Downloads YouTube videos using `yt-dlp`.
- Optionally trims videos using specified start and end times.
- Converts videos to specified formats using `ffmpeg`.
- Returns the absolute path of the processed video file.

## Contributing

Contributions are welcome. Please ensure that your contributions adhere to the project coding standards and include appropriate tests.

When contributing:

- Fork the repository.
- Create a new branch for each feature or improvement.
- Submit a pull request with comprehensive description of changes.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.