Framework for video instant replay on Linux
C++ C Python
Latest commit 9109b6a Mar 4, 2011 @asquared Implement DSK command-line options and auto-DSK
This resolves issue 3. DSKs can be specified on the command line to playoutd,
via the '-d', '--dsk' options. Automatic DSKs to be selected with a camera
can be specified with the '-a' option. The first '-a' option sets the automatic
DSK for the first buffer, and so on.
Failed to load latest commit information.
console first go at the control console Sep 6, 2010
examples major purge Sep 5, 2010
COPYING.graticule add license notice for vectorscope graticule Nov 19, 2010


OpenReplay: Open source video replay.

Copyright (c) 2010, 2011, Andrew H. Armenia, RPI TV (

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <>.

Important License Note

The license for the Blackmagic Design SDK essentially prohibits distribution
of any binaries containing their code. So for now, only source distribution,
or distribution of binaries not linked against the SDK, is legally permitted.

Support is available on a volunteer basis is available by emailing:
Please check the documentation sources including the wiki below,
before contacting the group with your questions.

Quick Setup Guide (see wiki at
initial setup:
* Using a 64-bit kernel is recommended to enable large buffer use.
* You will probably want a multi-tabbed terminal emulator.
* If you're using it with PAL, you will have to do some hacking at the moment.
* get libjpeg or libjpeg-turbo, SDL, and SDL_image 
    (install development packages if necessary)
* If using Blackmagic capture cards for video I/O (not V4L compatible):
    get Blackmagic SDK
    set SDK_PATH in core/Makefile
    maybe edit uyvy_ingest.cpp to use 720x486 frame size (if it doesn't work)
* If using other devices:
    modify core/playoutd.cpp to use "StdoutOutput" class 
    (instead of "DecklinkOutput")
* from here: run 'make -C core'
* put binaries somewhere on your PATH 
    running 'export PATH=`pwd`/core:$PATH' is one way

setup before every production:
* Create capture buffer:
    dd if=/dev/zero bs=1 count=1 seek=<xxx>G of=<your_buffer>
    (replace <xxx> with desired size and <your_buffer> with a filename)
* Start a Video4Linux capture into the buffer:
    v4l2_ingest /dev/videoX <your_buffer>
* Start a Decklink capture:
    use Blackmagic Control Panel to set up input
    decklink_capture <card_no> | uyvy_ingest <your_buffer>
* Start playout process:
    if using a Decklink capture card:
        playoutd <your_buffer> ....
    if using non-Decklink output: 
        playoutd <your_buffer> .... | something_that_outputs_the_video
    Note you can specify more than one buffer here if doing multicamera replay.
* Start GUI:
    sdl_gui <your_buffer> ....
    Specify buffer files here in same order as passed to playoutd.

* Capture a replay:
    When something interesting happens, hit keypad '+' key. Output should show the first frame.
    Hit 'F12' to roll it. F9 pauses. F10/F11 = frame advance/reverse.

git pull
make -C core
(copy binaries if necessary)

* See wiki for many additional features.