Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Framework for video instant replay on Linux
C++ C Python
Pull request Compare This branch is 1 commit ahead, 42 commits behind master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


OpenReplay: Open source video replay.

Copyright (c) 2010, 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.

Something went wrong with that request. Please try again.