• Stars
    star
    290
  • Rank 142,981 (Top 3 %)
  • Language
    JavaScript
  • License
    Other
  • Created almost 9 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[MIRROR]

Oddworks

pipeline status Dependency Status

Oddworks is an open source video distribution platform built to destroy the barriers to streaming television. Use it to:

  • Deliver your video content to TV connected platforms like Apple TV and Roku.
  • Proxy, cache, and bend the space time continuum between your content management system and existing online video platform (Vimeo, YouTube, Ooyala, Brightcove).
  • Aggregate usage metrics from your video apps to expand viewership and create custom viewing experiences.
  • Distribute content from multiple sources out to your social channels.

Become your own video distribution channel!

Table of contents

Documentation

Oddworks is made up of several loosely coupled services. All of these services are automatically installed as dependencies when you install Oddworks. Oddworks uses NPM for dependency and package management (see Technology below).

stores

The content server is also database agnostic in which you can store your entities in whatever database engine you like or a combination of any.

Currently Oddworks has support for the following:

  • memory (best used for development and testing)
  • redis
  • redis-search (a full text search implementation based on the N-gram algorithm)
  • DynamoDB

The implementation of these can be found in the ./lib/stores directory.

services

  • catalog (responsible for views, collections, and videos)
  • identity (responsible for channels, platforms, viewers, authentication, and entitlements)
  • server (a Node.js HTTP server)

The implementation of these can be found in the ./lib/services directory.

middleware

The available middleware is used when setting up an Express.js HTTP server.

The implementation of these can be found in the ./lib/middleware directory.

Platform

The Oddworks Platform consists of two main concepts:

  1. The Oddworks Content Server which maintains a database of your content and provides it to your apps via a strictly specified JSON API.
  2. The Oddworks platform SDKs which are designed to consume the content from the Oddworks Content Server as well as report usage data back to it.

Using oddworks

Installing

> npm install @oddnetworks/oddworks

In your server script:

const oddworks = require('@oddnetworks/oddworks');

CLI

The Oddworks CLI is also available

> npm install -g @oddnetworks/oddworks-cli

Example Content Server Implementations

Current example content server implementations can be found (with their instructions) here:

platform SDKs

In addition to the SDKs there are plans to have open source sample apps which leverage the SDKs available to you as well. You could use these as reference implementations, a hobby project, or make some tweaks and ship your own streaming channel!

Although the source repositories are not open source yet there are some downloads available now from the website.

Technology

The Oddworks Platform is written for the Node.js runtime, and uses the well known Express.js framework for HTTP communication.

Oddworks is designed to be database agnostic so long as the underlying database can support JSON document storage, including some RDMSs like PostgreSQL. Currently the only supported and tested database is Redis.

Although communication between the platforms and the REST API is typically done in a synchronous way, the inner guts of the system is designed to communicate via asynchronous message passing. This makes it easier to extend the platform with plugins and other loosely coupled modules without worrying about upstream changes like you would in tightly coupled platforms.

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Oddworks is maintained under the Semantic Versioning guidelines.

Motivation

The Oddworks Platform was designed and developed by Odd Networks to lower the barrier for developers and content owners to create your own streaming content channel. Based on our experience in video gaming we thought that TV could use a big improvement. We believe in the future of television and, with the Oddworks open source platform, we hope you'll make that future a reality.

We proudly stand behind our open source work and, in addition to maintaining the Oddworks project, Odd Networks also provides hosted services, a Pro Dashboard, a Live Stream Generator, and a Recommendation Service.

Check out www.oddnetworks.com

Community

Get updates on Odd Networks's development and chat with the project maintainers and community members.

More Information

For additional help getting up and running with Oddworks have a look at this blog post

Changelog

License

Apache 2.0 ยฉ Odd Networks

More Repositories

1

oddcast

[MIRROR]
JavaScript
29
star
2

oddworks-ios-tvos-sdk

[MIRROR]
Swift
24
star
3

parallax_uiview

A class extension to UIView and sample tvOS app to add a parallax type motion effect
Swift
22
star
4

oddworks-android-sdk

[MIRROR]
Kotlin
20
star
5

push-notifications-service

Node app to manage iOS and Android device tokens, coordinate with Amazon SNS, and send push notifications
JavaScript
14
star
6

oddnetworks.github.io

HTML
14
star
7

sync-service

Sync Service - Synchronizes the catalog with external sources
12
star
8

odd-schemas

Schema validator for Oddworks entities.
JavaScript
12
star
9

oddcast-aws-transport

[MIRROR]
JavaScript
9
star
10

roku-cli

A cross platform Roku CLI written in Go.
Go
8
star
11

dynamodb-engine

A promisified Node.js engine for AWS DynamoDB.
JavaScript
8
star
12

header-parser

JavaScript
4
star
13

addbom-webpack-plugin

Adds a Byte-Order-Mark to compiled assets
JavaScript
3
star
14

tinypass

Tinypass client for node
JavaScript
3
star
15

example-single-process

[MIRROR]
JavaScript
3
star
16

oddworks-livestream-provider

[MIRROR]
JavaScript
3
star
17

oddworks-vimeo-provider

[MIRROR]
JavaScript
2
star
18

oddworks-go

Experimental Oddworks in Go...cuz
Go
2
star
19

roku_iap_elixir

Roku IAP in Elixir
Elixir
1
star
20

oddworks-brightcove-provider

[MIRROR]
JavaScript
1
star
21

dockerfiles

Shell
1
star
22

odd-go-sdk

Odd Go SDK
Go
1
star
23

oddworks-ooyala-provider

[MIRROR]
JavaScript
1
star
24

oddworks-jwplayer-provider

[MIRROR]
JavaScript
1
star
25

amazon-rvssandbox

1
star
26

example-auth-provider

[MIRROR]
JavaScript
1
star
27

odd-api-client-node

An Odd Networks API client in Node.js
JavaScript
1
star