Skip to content
Kieran Kunhya edited this page Apr 9, 2014 · 110 revisions

Note: This is the Open Broadcast Encoder code wiki. There are a range of OBE sites for different user-groups:

Corporate

http://www.obe.tv

Technical wiki (e.g. STB compatibility)

http://wiki.obe.tv

Community Portal

http://ob-encoder.ning.com

Introduction

Open Broadcast Encoder is a fresh implementation of an open source decoder/encoder/transcoder/transmuxer. It is designed from the ground up to be both flexible and scalable enough for use in both 24/7 live streaming and offline operations. Open Broadcast Encoder aims to be compliant with all relevant broadcast industry standards and practices, with a special emphasis on quality and stability.

Open Broadcast Encoder is based on existing high-quality open source projects including x264, FFmpeg and libmpegts.

The project is divided into two subprojects that share core components: OBE-RT for real-time 24/7 operation and OBE-VoD when dealing with file-based workflows.

System Requirements OBE-Video on Demand

  • Supported on Windows, Mac OSX and Linux.

Usage scenarios for OBE-VoD

  • Existing File -> Demuxer -> Decoder/Filtering -> Encoder -> Muxer -> Save to File

OBE-Realtime Platform

  • Ubuntu 12.04 64-bit
  • Other Linux configurations may work but are unsupported
  • HD/SD-SDI card for SDI input
  • DVB card for DVB input
  • ASI card for ASI input and/or output

More specific hardware information will be listed as support is added.


Usage scenarios for OBE-RT

  • Uncompressed SDI -> Filtering -> Encoder -> Muxer -> IP/ASI output
  • Live Stream (IP or ASI) -> Demuxer -> Decoder/Filtering -> Encoder -> Muxer -> IP/ASI output

OBE-RT-TODO


Planned Features

Input

Sources

  • SDI and HD-SDI
    Embedded audio and correct VANC processing where possible
    4:2:2 sampling
  • IP streams
    Raw UDP, RTP/UDP, MXF (multicast and unicast)
  • DVB-ASI
    Passthrough or transcoding of H.264/MPEG-2 (SPTS and MPTS)
    ATSC PSIP
    Datacasting
  • AES3
    PCM and all non-PCM embedded formats
  • DVB-T/C/S
    Support for V4L2-DVB

Audio Formats
Passthrough or transcode

  • AC-3 Audio
  • "E-distribution audio"
    Commercially known as "Dolby E" - Contact kierank for more information about licensing.
  • MPEG/MP2 Audio
    Includes 4x MP2 channels to simulate a 5.1+2.0 mix

Anciliary Streams

  • DVD Subtitles (for VoD)
  • DVB Subtitles
  • DVB-TTX (Teletext)

Output

Video Encoders

  • x264 - H.264 AVC encoder (includes 10-bit mode for high-quality applications)
  • x262 - MPEG-2 encoder (in development)

Statmux pools for both MPEG-2 and H.264 AVC (in development)
Speedcontrol to increase encoding complexity when CPU capacity is available (in development)

Video Filters

  • 10-bit to 8-bit dithering
  • 4:2:2 to 4:2:0 resampling using libswscale
  • Filters via libavfilter
    Noise reduction, etc.
  • Handling for 3DTV formats

Audio Encoders

  • FFmpeg - AC-3/E-AC3 and AAC/HE-AAC
  • Twolame - MP2

Audio Filters

  • "E-distribution" to AC-3 metadata passthrough
  • SMPTE 337M audio passthrough for AC-3 or MPEG audio

Subtitles/Captioning

  • DVB subtitles
  • CEA subtitles

Miscellaneous

  • Active Format Description
    Insertion and passthrough
  • VBI services

Muxers

  • libmpegts - ATSC/CableLabs/DVB/ISDB compatible MPEG-2 Systems multiplexer
    • SMPTE 302M
    • LATM

Output Modules

  • DVB-ASI
  • SMPTE 310M
  • SMPTE 2022
  • Possibility for software DVB modulation
  • UDP/IP & RTP/UDP/IP Multicast

Miscellaneous

Monitoring and Control

  • SNMP
  • LCD Display
    Likely using LCDproc or similar

User Interaction

  • Command line interface
  • Web-based interface
  • GUI interface
  • Integrated system benchmarks for determining viable real-time performance capabilities
  • General system information
    Kernel version, CPU/memory usage, buffer sizes, etc.
Clone this wiki locally