media-server / README.md
jbilcke-hf's picture
jbilcke-hf HF staff
add explanations about the architecture
634ff01
|
raw
history blame
1.48 kB
---
title: Media Server
emoji: πŸ“‘
colorFrom: gray
colorTo: black
sdk: docker
pinned: false
app_port: 8000
---
Media server πŸ“‘
The main code of the webtv is located inside the [media-server](https://huggingface.co/spaces/jbilcke-hf/media-server/tree/main) :
manual steps:
- human input to write a short paragraph describing a multi-shot video sequence
- manual submit it to GPT-4 to generate a list of video captions for each shot (the system instructions are extracts from a stable diffusion guide)
- commit the captions to the [playlist database](https://huggingface.co/spaces/jbilcke-hf/media-server/raw/main/database.json)
Inside the `media-server` space (generation process running in the background):
- for each prompt in the database
- generate a silent 3 seconds video clip with Zeroscope V2 576w (hosted on Hugging Face Spaces)
- upscale the clip with Zeroscope V2 XL (also a HF Space)
- perform frame interpolation with FILM (also a HF Space)
- storage in the Persistent Storage of the media-server Space
Inside the `media-server` space (streaming process running in the foreground):
- for each video file in the persistent storage folder
- add it to a new FFmpeg playlist (it's just a .txt file)
- broadcast it over the RTMP protocol using FFmpeg (in FLV format)
- diffusion of the stream using node-media-server
Inside the `AI-WebTV` space:
- display the stream using `mpegts.js`
- this doesn't work on iPhone, but now there is also a Twitch mirror