All Projects → tritonmedia → triton

tritonmedia / triton

Licence: MIT license
Media Processing Pipeline

Programming Languages

HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to triton

media-command
Imports files as attachments, regenerates thumbnails, or lists registered image sizes.
Stars: ✭ 40 (-36.51%)
Mutual labels:  media
media-player
An modern, clean media player built using web technologies
Stars: ✭ 44 (-30.16%)
Mutual labels:  media
lk
Simple Web Image Viewer
Stars: ✭ 22 (-65.08%)
Mutual labels:  media
MJMediaPicker
A Custom Class to select media from camera ,video or photo library by just adding a single file
Stars: ✭ 15 (-76.19%)
Mutual labels:  media
react-native-vlc-media-player
React native media player for video streaming and playing. Supports RTSP, RTMP and other protocols supported by VLC player
Stars: ✭ 221 (+250.79%)
Mutual labels:  media
server-media
This repository collects icons, logos & information about game servers.
Stars: ✭ 29 (-53.97%)
Mutual labels:  media
TonUINO
Alternative TonUINO Firmware
Stars: ✭ 112 (+77.78%)
Mutual labels:  media
thunder-distribution
A Drupal-based platform for professional publishers
Stars: ✭ 31 (-50.79%)
Mutual labels:  media
Mp3Info
The fastest PHP library to extract mp3 meta information (duration, bitrate, samplerate and so on) and tags (id3v1, id3v2).
Stars: ✭ 114 (+80.95%)
Mutual labels:  media
focuspoint
Erweitert den Medienpool um die Fähigkeit, den Fokuspunkt eines Bildes zu bestimmen.
Stars: ✭ 57 (-9.52%)
Mutual labels:  media
Transcoder
Docker container to transcode videos in mounted volume to H265 using FFMPEG
Stars: ✭ 13 (-79.37%)
Mutual labels:  media
large-video-upload-python
Sample Python code for uploading video up to 140 seconds and/or up to 512Mb.
Stars: ✭ 109 (+73.02%)
Mutual labels:  media
omnic
Stateless microservice for on-the-fly thumbs and conversions of a wide variety of file types, utilizing conversion graph.
Stars: ✭ 17 (-73.02%)
Mutual labels:  media
reactjs-media
The reactjs media is a react package with awesome HTMLMediaElements that are recreated into react components with a good looking UI and fast UX.
Stars: ✭ 15 (-76.19%)
Mutual labels:  media
speke-reference-server
Secure Packager and Encoder Key Exchange (SPEKE) is part of the AWS Elemental content encryption protection strategy for media services customers. SPEKE defines the standard for communication between our media services and digital rights management (DRM) system key servers. This project provides the basic framework that partners can specialize a…
Stars: ✭ 91 (+44.44%)
Mutual labels:  media
macOSAppsOpenSource
No description or website provided.
Stars: ✭ 33 (-47.62%)
Mutual labels:  media
BinaryStream
BinaryStream - a writer and reader for binary data. Best replacement for pack()/unpack().
Stars: ✭ 44 (-30.16%)
Mutual labels:  media
node-datachannel
Easy to use WebRTC data channels and media transport. libdatachannel node bindings.
Stars: ✭ 135 (+114.29%)
Mutual labels:  media
utopia-crm
Utopía is an open source platform for community based newsrooms to manage their subscriptions
Stars: ✭ 15 (-76.19%)
Mutual labels:  media
Rise-Media-Player
One media player for everything you own or stream; whether it's music or videos, online or offline Rise Media Player does it all. And it's beautiful and native with the latest version of WinUI.
Stars: ✭ 600 (+852.38%)
Mutual labels:  media

Build Status License

The final media center

What is TRITON?

TRITON is a media pipeline that aims to go one step further than services like Jellyfin and Plex provide. Media is fetched from a magnitude of supported protocols (HTTP, S3-compatible, Usenet, etc), converted into multiple different quality levels, and then uploaded to a S3-compatible storage provider in an organized fashion. This enables cheap storage and ensures that buffering is never a problem. On top of all of this, a frontend allows users to watch your media on the go.

Installing Triton

We have a few installation options:

Quick Evaluation

NOTE: This is not a production setup. It has insecure credentials, and no data persistence.

$ docker-compose up

Kubernetes

Clone the charts repo.

$ git clone [email protected]:tritonmedia/charts
$ cd charts
$ helm install ./tritonmedia

You should now have the triton platform running!

Docker

NOTE: This is intended for a single-node setup.

$ cd contrib/docker-compose

You should checkout the config/config.yaml and the docker-compose.yaml here to assume that you are OK with the CHANGME access_key and secret_key being set for minio, as well as the postgres passwords.

When you are:

$ docker-compose up -d

The pipeline is now running! The API is accessible at <ip>:3401

Developing on Triton

Dependencies

Take a look at the config in ./config/config.example.yaml. That contains information on what the config stucture is, then look at ./config/config.yaml. This is the config that will be used in this environment.

Then run the development script, which will pull down the latest versions of all services.

./bin/download-test-file.sh # Optional: Used to download a test file (used by ./bin/emulate-webhook.sh)
./development.sh

That's it, the services are now running

Hacking on a service

Clone the service into this dir.

git clone [email protected]:tritonmedia/<service>

# Stop the running service
docker-compose stop <service>

# Export CONFIG_PATH (in the development repo, base, run this)
export CONFIG_PATH="$(pwd)/config/config.yaml"

Then run the service like normal. Yep. It's that simple.

API Documentation

Services are "documented" in their Paw files located in ./paw. Paw is an awesome API client that can be located here: https://paw.cloud/. They have a free trial which can be used to export to Postman if you do not want to purchase this client.

Architecture

For now all we have documented is this graph:

service arch

Important Things

  • Config field is denoted by the NODE_ENV variable, assumes debug if not set. For production use NODE_ENV=production.
  • Most applications use the PORT variable to determine which port to run on, you should set this when running locally.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].