• Stars
    star
    157
  • Rank 237,011 (Top 5 %)
  • Language
    Python
  • Created almost 13 years ago
  • Updated about 2 years ago

Reviews

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

Repository Details

The Open Outside Broadcast project for radio contribution links and studio-transmitter links.

OpenOB

PyPI version Build Status

There is a mailing list available for OpenOB users to share experiences and discuss future development.

OpenOB (Open Outside Broadcast) is a simple Python/GStreamer based application which implements a highly configurable RTP-based audio link system.

It is primarily designed for broadcast applications including (but not limited to) contribution links, emission links, talkback, and intranet audio distribution systems.

NOTICE

The openob project is not being actively maintained or developed. Use at your own risk.

Due to time constraints and focus elsewhere I'm simply not able to do the major refactoring required to update OpenOB for modern GStreamer/Python, let alone the tidying up and improvements that it could really use under the hood.

It's open source - if you'd like to take it on, fork away!

Features

  • IETF standard Opus codec - variable bandwidth and bitrate, 16-384kbps
  • Linear PCM mode for transparent audio transit over 1600kbps capable connections (LANs, fast wifi)
  • Trivial configuration and setup via command line
  • Transmitter-configured receivers for standalone receiver operation and control
  • Low latency performance (codec internal latency under 5ms PCM, under 25ms Opus) with variable jitter buffer (0-150ms)
  • System latency in low hundreds to tens of milliseconds for most applications; more over the internet/lossy links
  • Automatic link recovery in the event of failures

Licensing and Credits

OpenOB was developed by James Harrison, with chunks of example code used from Alexandre Bourget and various other GStreamer documentation sites such as the PyGST manual.

Copyright (c) 2018, James Harrison

License is 3-clause BSD:

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the OpenOB project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JAMES HARRISON OR OTHER OPENOB CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

More Repositories

1

conduit

A simple Liquidsoap based online stream encoder for broadcast audio sources with redundancy, processing and telemetry
21
star
2

otdrs

SOR file (Bellcore/Telcordia SR-4731 optical time domain reflectometry (OTDR)) parser written in Rust to convert SOR files to JSON equivalent for analysis and storage
Rust
19
star
3

evemetrics_uploader

The EVE Metrics Uploader, Take 2
Python
14
star
4

iris

The Interchangeable Radio Ingest System - Playout-agnostic content management for radio stations and other broadcast platforms
JavaScript
10
star
5

rb-gsl

A ruby 1.9.1 compatible fork of rb-gsl bindings for the Gnu Scientific Library
C
8
star
6

eve_killmail_parser

A Rails plugin/class which handles parsing of the killmail export from the game EVE Online
Ruby
7
star
7

eve_corplogo_generator

Image generator which builds EVE Online Corporation Logos from composite images into logos with transparency support
Ruby
7
star
8

changeling

A simple jingle-based MQTT-controllable broadcast profanity delay
C++
7
star
9

evemetrics_amqptools

Example clients and tools in PHP, Python, Ruby, and Java for working with the EVE Metrics AMQP feed
Ruby
7
star
10

faderuby

Fadecandy/Open Pixel Control protocol client for Ruby
Ruby
6
star
11

recache

Transparent cache layer for the Reve EVE-Online API gem
Ruby
4
star
12

radiovis-generator

Generates images and text for RadioVIS and performs publishing via Stomp
Ruby
3
star
13

rivendell-rb

Ruby wrappers for the database used by the Rivendell Broadcast Automation System
Ruby
3
star
14

otdr-fixer

Simple command line tool for editing OTDR (.SOR) Bellcore/Telcordia files
Rust
3
star
15

flickrcaptionr

A simple gem to pull down images from places, which also lets you resize them and write witty things on them with ImageMagick.
Ruby
3
star
16

otdr-viewer

Basic viewer for OTDR files
Vue
2
star
17

gone

Go solver in C++, my final year project at RHUL (and my first C++ project. Be gentle.)
C++
2
star
18

omniauth-redux

A simple BBC Redux strategy module for the OmniAuth authentication framework
Ruby
1
star
19

rarity

Rarity is a bulk image optimisation tool
Ruby
1
star
20

mentionedonthebbc

Mucking around with location extraction from topics mentioned on BBC channels. Experimental, probably broken in lots of interesting ways.
Ruby
1
star
21

emf-tidal-barstats

Bar tracking app for EMFcamp 2022
Python
1
star
22

ardugpio

Arduino based Serial GPIO system
Arduino
1
star