Realtime Prerequisites

From OBE Wiki
Jump to: navigation, search

CPU

A 64-bit x86 CPU is mandatory for use.

SD CPU Requirements - Any recent quad core CPU. (Suggested) HD CPU Requirements - Haswell Intel Xeon E1340v3 Quad Core, 4GB of RAM

Ubuntu 12.04 64-bit recommended.

Frame synchronisation

Frame synchronisation of the SDI into OBE is strongly recommended at this time. This is largely owing to the closed nature of the SDI cards OBE depends on. Some success has been had with merely Genlocking the signal at its output.

Time

It is vitally important that your encoder has the correct time for RTP and some DVB transport streams. ntpd is strongly recommended as it will slowly move the clock towards correctness. You should NOT use ntpdate for updating time while obe-rt is running.

Yasm

Unfortunately the yasm package installed with most distributions is too old. Download the latest yasm with:

wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

Extract using:

tar -zxvf yasm-1.2.0.tar.gz

Build using:

cd yasm-1.2.0/ && ./configure --prefix=/usr && make -j5 && sudo make install

Git

OBE uses git for source code management. On Fedora 17:

yum install git

Twolame

Install the package for libtwolame development for your distribution.

On Ubuntu:

sudo apt-get install libtwolame-dev

libfdk-aac

OBE uses libfdk-aac to encode aac audio. Checkout the libfdk-aac repo using the following command:

git clone https://github.com/ob-encoder/fdk-aac.git

On Ubuntu:

sudo apt-get install autoconf libtool

On Fedora 17:

yum install libtool

Run the following to configure:

autoreconf -i && ./configure --prefix=/usr --enable-shared

Build and install with:

make -j5 && sudo make install

NOTE: This creates a binary that is not redistributable outside of your organisation

libav (ffmpeg fork)

OBE uses the libav library (for arbitrary reasons). OBE builds only include supported features. Checkout the libav repo using the following command:

git clone https://github.com/ob-encoder/libav-obe.git

Run the following configure settings (NOTE this has been updated):

./configure --prefix=/usr --enable-gpl --enable-nonfree --enable-libfdk-aac --disable-swscale-alpha --disable-avdevice

Build and install with:

make -j5 && sudo make install


libx264

OBE uses a customised libx264 build with speedcontrol and other minor additions. Checkout the x264-obe repo using the following command:

git clone https://github.com/ob-encoder/x264-obe.git

Run the following configure settings:

cd x264-obe/ && ./configure --prefix=/usr --disable-lavf --disable-swscale --disable-opencl

Similarly, build and install with:

make -j5 && sudo make install-lib-static

libmpegts

Checkout libmpegts with the following command:

git clone https://github.com/ob-encoder/libmpegts-obe.git

Run the following configure settings:

cd libmpegts/ && ./configure --prefix=/usr

Similarly, build and install with:

make -j5 && sudo make install

Blackmagic Decklink Drivers

Blackmagic Decklink (includes Multibridge) drivers are currently the only supported range of SDI cards for OBE. Drivers can be downloaded from http://www.blackmagic-design.com/support/

Download and unpack driverset

Download the latest drivers from the Blackmagic website. Also remember to check the firmware version is the latest by running:

BlackmagicFirmwareUpdater status

VBI Support (via libzvbi)

Install the package for libzvbi which might also be found as part of the GNU Zapping application.

On Fedora 17

yum install zvbi-devel

On Ubuntu

sudo apt-get install libzvbi0 libzvbi-dev libzvbi-common

Misc packages

On Ubuntu

sudo apt-get install libreadline-dev