Inspiration
- The potential of real-time transcription to enhance user engagement and accessibility.
- The need for accessible transcription for live video content (for non-native speakers and the hearing impaired.
What it does
- Provides real-time transcription of live video streams on Thetacloud.
- Consists of a server for stream ingestion, transcription, and data storage.
- Includes a client application to display the live video stream alongside its transcription.
- Refetch the transcription done by plugging in m3u8 url across multiple sessions.
How we built it
- Server: Built with FastAPI, handles stream ingestion, transcription, and data storage.
- Client: Developed using Svelte, displays the live video stream and its transcription.
- Transcription: Utilizes HLS (HTTP Live Streaming) for real-time video and transcription display.
- Storage: Transcription data is stored in a filesystem, organized by unique task IDs.
- Stream Ingestion: The server ingests live video streams using Thetacloud's streaming APIs.
- Stream Management: Thetacloud APIs are used to start and manage new streams with account credentials.
- Video Playback: The client application uses Thetacloud's m3u8 URLs to play live video streams.
- Authentication: Thetacloud account credentials are used to authenticate and start new streams.
Challenges we ran into
- Ensuring real-time transcription accuracy and speed.
- How to code this in most efficient manner.
- Managing multiple concurrent transcription viewers.
- Handling asynchronous processing of video streams.
Accomplishments that we're proud of
- Successfully implemented real-time transcription for live video streams.
- Achieved seamless integration between the server and client applications.
- Enabled support for multiple languages in transcription.
- Built the architecture in an easy to extend format
What we learned
- Deepened our understanding of FastAPI and Svelte.
- Gained insights into real-time video streaming and transcription.
- Learned to manage asynchronous tasks and data storage efficiently.
What's next for Livestream transcription
- Enhance transcription accuracy and speed.
- DEPLOY it ON GPU.
- Add translation feature.
- Improve the user interface for better accessibility and user experience -- put the stream initializer in the same UI as the live transcript player.
- Add autoscaling
Built With
- ai
- fastapi
- ffmpeg
- livestream
- python
- svelte
- theta
- thetacloud
- whisper
Log in or sign up for Devpost to join the conversation.