Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/anandpiyush1521/video-stram-backend


https://github.com/anandpiyush1521/video-stram-backend

Last synced: 4 days ago
JSON representation

Awesome Lists containing this project

README

        

Video Streaming API


Powered by Spring Boot
Backend with Spring Boot


Video Streaming API

## Overview

This API provides endpoints for managing video uploads, retrieving video metadata, and streaming videos. It is implemented using Spring Boot and supports video file storage, metadata management, and efficient streaming.

## Features

- **Video Upload**: Allows users to upload video files with associated metadata.
- **Metadata Retrieval**: Provides details about the uploaded videos.
- **Video Streaming**: Supports streaming videos directly by their ID.
- **Chunked Streaming**: Allows partial content delivery and seeking within videos.

## System Overview


Video Streaming API

## Setup and Installation

### Prerequisites

- Java 11 or higher
- Maven
- PostgreSQL (optional, depending on your storage choice)

### Backend Setup

1. **Clone the Repository**

```bash
git clone https://github.com/your-repo/video-streaming-api.git
cd video-streaming-api
```

2. **Install Dependencies**

```bash
mvn install
```

3. **Set Up Environment Variables**

Create a `application.properties` file in the `src/main/resources` directory and add the following variables:

```properties
spring.datasource.url=jdbc:postgresql://localhost:5432/yourdatabase
spring.datasource.username=postgres
spring.datasource.password=yourpassword
```

Replace `yourpassword` and `yourdatabase` with your PostgreSQL password and database name.

4. **Run the Application**

```bash
mvn spring-boot:run
```

### Usage

1. **Access the API**

The API will be accessible at `http://localhost:8080`.

2. **Upload Videos**

Use the `/api/v1/videos` endpoint to upload videos.

3. **Stream Videos**

Stream videos using the `/api/v1/videos/stream/{videoId}` endpoint.

4. **Retrieve Metadata**

Get video metadata using the `/api/v1/videos` endpoint.

## Contributing

Contributions are welcome! Please open an issue or submit a pull request for any enhancements or bug fixes.