Framework for video instant replay on Linux
Fetching latest commit…
Cannot retrieve the latest commit at this time
OpenReplay: Open source video replay. Copyright (c) 2010, Andrew H. Armenia, RPI TV (www.rpitv.org). 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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 <http://www.gnu.org/licenses/>. 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 ------- Support is available on a volunteer basis is available by emailing: email@example.com. Please check the documentation sources including the wiki below, before contacting the group with your questions. Quick Setup Guide (see wiki at http://github.com/asquared/openreplay): ---------------------------------------------------------------------- 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. operation: * 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. updating: git pull make -C core (copy binaries if necessary) * See wiki for many additional features.