-
Notifications
You must be signed in to change notification settings - Fork 20
Home
Note: This is the Open Broadcast Encoder code wiki. There are a range of OBE sites for different user-groups:
http://code.google.com/p/open-broadcast-encoder/
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, libmpegts, and aften.
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 toFile
System Requirements OBE-Realtime
- Red Hat 5.x or Centos 5.x 64-bit or Ubuntu 10.x 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
- Core 2 Quad or better for OBE-RT
Core i7 recommended for HD
More specific hardware information will be listed as support is added.
Usage scenarios for OBE-RT
- Live Stream -> Demuxer -> Decoder/Filtering -> Encoder -> Muxer -> Live Stream
- Live Stream -> Demuxer -> Decoder/Filtering -> Encoder -> Muxer -> Save to File
- Existing File -> Muxer -> Streamer
Input
Sources
- SDI and HD-SDI
Embedded audio and correct VANC processing where possible
4:2:2 sampling - IP streams
Raw UDP, RTP/UDP, Multicast IGMP v2, Unicast, RTSP, RTMP - 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 - Files from disk
MKV, YUV2, Y4M, etc.
Audio Formats
Passthrough or transcode
- AC-3 Audio
- "E-distribution audio"
Commercially known as "Dolby E" - Contact kierank for more information about this. - MPEG/MP2 Audio
Includes 4x MP2 channels to simulate a 5.1+2.0 mix
Anciliary Streams
- DVD Subtitles
- 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)
- xvp8 - VP8 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 the high-speed libswscale package
- Filters via libavfilter
Basic deinterlacing, noise reduction, etc. - Handling for 3DTV formats
Audio Encoders
- FFmpeg - AC-3 (future E-AC3 support)
- Twolame - MP2
- QuickTime - AAC/HE-AAC (experimental)
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
Muxers
- libmpegts - ATSC/CableLabs/DVB/ISDB compatible MPEG-2 Systems multiplexer
- SMPTE 302M
- LATM
- rtmp
For connection to an RTMP streaming server or a CDN such as Akamai - Possibly also split mp4 files (Youview)
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.