Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jamalsoueidan/tiktok-stream-recording

This app allows users to follow TikTok users and automatically records any live streams whenever they go live. Users will never miss another stream as the recordings are stored and made accessible within the app.
https://github.com/jamalsoueidan/tiktok-stream-recording

azure-container-instances azure-container-registry azure-storage convex docker ffmpeg mantine remix tiktok

Last synced: 16 days ago
JSON representation

This app allows users to follow TikTok users and automatically records any live streams whenever they go live. Users will never miss another stream as the recordings are stored and made accessible within the app.

Awesome Lists containing this project

README

        

# TikTok Stream Recording and Upload Project

![Followers](screenshots/followers.png)
![Videos](screenshots/videos.png)

This project is designed to automate the process of recording live TikTok streams, storing them in Azure Blob Storage, and managing video access through expiring URLs. Setup the project, and then just follow tiktok users in the web app, and then it will automatically record their stream when they are live.

## Features

- **Automated Stream Recording**: Record TikTok live streams automatically when a streamer goes live.
- **Azure Container Instance Orchestration**: Boot up container instances dynamically to start recording streams, and delete them when the recording is complete.
- **Video Storage in Azure Blob Storage**: Upload recorded streams and thumbnails to Azure Blob Storage for storage.
- **Expiring Access URLs**: Generate expiring SAS (Shared Access Signature) URLs for secure access to recorded videos.
- **Optional Thumbnail Generation**: Generate a video thumbnail for a preview frame from the recorded stream.
- **Cleanup**: Delete unused container instances and clean up old images in the container registry.

## Setup Instructions

### Prerequisites

- **Azure Subscription** with access to **Container Instances**, **Blob Storage**, and **Container Registry**.
- **Convex** backend for logic and scheduling.
- **FFmpeg** installed in the container for stream recording.
- **Azure CLI** for managing resources.
- **Node.js** environment for backend services.

### Environment Variables

To configure the project, you will need to set the following environment variables:

```bash
CREDENTIAL_TENANT_ID=
CREDENTIAL_CLIENT_ID=
CREDENTIAL_CLIENT_SECRET=
SUBSCRIPTION_ID=
RESOURCE_GROUP=
STORAGE_ACCOUNT_NAME=
STORAGE_ACCOUNT_KEY=
CONTAINER_REGISTRY_NAME=
CONTAINER_REGISTRY_USERNAME=
CONTAINER_REGISTRY_PASSWORD=
IMAGE_NAME=
LOCATION=
CONVEX_SITE_URL=
```