Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dolbyio/real-time-media-extensions
Real-Time Media Extensions (RTME) is an open-source framework designed to improve real-time media engagement. It integrates AWS Transcribe and Gladia.io for live transcription, and is built to be easily extensible, allowing for custom enhancements.
https://github.com/dolbyio/real-time-media-extensions
Last synced: 4 days ago
JSON representation
Real-Time Media Extensions (RTME) is an open-source framework designed to improve real-time media engagement. It integrates AWS Transcribe and Gladia.io for live transcription, and is built to be easily extensible, allowing for custom enhancements.
- Host: GitHub
- URL: https://github.com/dolbyio/real-time-media-extensions
- Owner: DolbyIO
- License: mit
- Created: 2023-07-27T15:04:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-11T22:59:27.000Z (about 1 year ago)
- Last Synced: 2023-10-12T02:17:19.228Z (about 1 year ago)
- Language: C++
- Size: 542 KB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# :warning: This repository is no longer maintained :warning:
[![Build Realtime Media Extensions](https://github.com/DolbyIO/real-time-media-extensions/actions/workflows/build.yml/badge.svg)](https://github.com/DolbyIO/real-time-media-extensions/actions/workflows/build.yml)
[![Documentation](https://github.com/DolbyIO/real-time-media-extensions/actions/workflows/deploy-to-github-pages.yml/badge.svg)](https://github.com/DolbyIO/real-time-media-extensions/actions/workflows/deploy-to-github-pages.yml)
[![License](https://img.shields.io/github/license/DolbyIO/real-time-media-extensions)](LICENSE)##### Table of Contents
- [Running RTME docker](#runningdocker)
- [Building RTME plugin](#buildplugin)
- [Running RTME natively](#runningnatively)# Dolby.io Real-time Media Extensions
The Dolby.io Real-time Media Extensions (RTME) provide a complete solution for
automated, real-time media processing in the Dolby.io infrastructure. Each
component provides its own API, but the project as a whole provides also the
ready-to-use application, as well as the Docker image and Kubernetes pod
definition.The RTME application can be run directly on the Ubuntu host (build machine) or
as a docker image. Running from the docker container exposes some REST API
endpoints, while running directly allows for quick iteration times.
Installation procedures are available in the [documentation](https://api-references.dolby.io/real-time-media-extensions/docs/introduction).## Running using the Docker container
The docker application requires the following environment variables:- `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_SESSION_TOKEN` if using AWS transcribe
- Optional `TRANSCRIPT_DESTINATION` that can either be the URL for which the transcribed data
will be submitted using the HTTP POST method or the PubNub channel.Run the application as in the following example:
```
docker run -p 8080:8080 -e AWS_ACCESS_KEY_ID=... -e AWS_SECRET_ACCESS_KEY=... -e AWS_SESSION_TOKEN=... transcription
```The Docker application does not automatically start the transcription. It exposes
the following REST API endpoints on port 8080 for controlling its tasks:- `/health`
- `/ready`
- `/terminate`
- `/start`
- `/stop`The `/start` endpoint can be used to start the transcription. The query parameters
are:| Item | Meaning |
|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `alias` | The Communications API conference [alias](https://docs.dolby.io/communications-apis/docs/guides-creating-a-conference) RTME runtime should connect to. When a conference with a specific alias does not exist, using the alias results in creating the conference. Therefore, we recommend using alias only for local testing. |
| `id` | The Communications API conference [ID](https://docs.dolby.io/communications-apis/docs/guides-creating-a-conference) RTME runtime should connect to. |
| `token` | The Communications APIs [client access token](https://docs.dolby.io/communications-apis/docs/guides-client-authentication) required to connect to a conference. RTME does not support any form of token refresh, therefore, we recommend using a token with a sufficient expiration time to stay in a conference until the end. |
| `username` | The user name representing the RTME runtime in the Communications APIs conference. |
| `service` | The transcription service to use, either `aws` or `gladia` |
| `gladiakey` | The Gladia.io API key. |
| `sendmechanism` | The mechanism used to send data from outside the RTME application, either `http` or `pubnub` |
| `publishkey` | The publish key for PubNub if it is used as send mechanism. |
| `subscribekey` | The subscribe key for PubNub if it is used as send mechanism. |Use the `/stop` or `/terminate` endpoint to terminate the application or
stop transcribing.For more information, see the RTME [documentation](https://api-references.dolby.io/real-time-media-extensions/docs/Installing%20and%20executing/docker-container).
## Building
If you would like to build the sources from scratch and/or modify the components, see the [Building](https://api-references.dolby.io/real-time-media-extensions/docs/Installing%20and%20executing/Linux/building) and [Modifying Components](https://api-references.dolby.io/real-time-media-extensions/docs/Installing%20and%20executing/Linux/modifying-components) instructions.## Running natively
If you would like to run the application natively on Ubuntu 20.04, refer to the [instruction](https://api-references.dolby.io/real-time-media-extensions/docs/Installing%20and%20executing/Linux/running-natively).