exavideo / exacore Goto Github PK
View Code? Open in Web Editor NEWBroadcast tools framework, HD multi-camera replay system, SVG and PNG keyers, plus lots of odds and ends.
License: GNU General Public License v3.0
Broadcast tools framework, HD multi-camera replay system, SVG and PNG keyers, plus lots of odds and ends.
License: GNU General Public License v3.0
The blue border around the selected graphic is hard to recognize quickly. Perhaps make the selected item green, as the previewed is orange and the live red.
If you are scrolling back or forward on one input, but decide that a replay would be better from a different angle, you must either play the first clip, or re-scroll after selecting a second angle, to set the alignment point.
From #18, we have the following warnings in graphics/rsvg_frame.cpp:
g++ -g -W -Wall -DRAWFRAME_POSIX_IO -D__STDC_CONSTANT_MACROS -fPIC -std=c++11 -DX86_64 -I/home/kenley/Downloads/bmdsdk/Linux/include -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include/x86_64-linux-gnu -Iaudio/ -Imjpeg/ -Icommon/ -Iraw_frame/ -Ithread/ -Idrivers/ -Igraphics/ -Ireplay/ -Iavspipe/ -Ikeyer/ -Idisplay_surface/ -Iipc/ -c -o graphics/rsvg_frame.o graphics/rsvg_frame.cpp
In file included from graphics/rsvg_frame.cpp:23:0:
/usr/include/librsvg-2.0/librsvg/rsvg-cairo.h:27:2: warning: #warning "Including <librsvg/rsvg-cairo.h> directly is deprecated." [-Wcpp]
#warning "Including <librsvg/rsvg-cairo.h> directly is deprecated."
^
graphics/rsvg_frame.cpp: In function ‘void rsvg_tryinit()’:
graphics/rsvg_frame.cpp:57:9: warning: ‘void g_type_init()’ is deprecated [-Wdeprecated-declarations]
g_type_init( );
^
In file included from /usr/include/glib-2.0/gobject/gobject.h:24:0,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/librsvg-2.0/librsvg/rsvg.h:31,
from graphics/rsvg_frame.cpp:22:
/usr/include/glib-2.0/gobject/gtype.h:681:23: note: declared here
void g_type_init (void);
^
graphics/rsvg_frame.cpp:57:9: warning: ‘void g_type_init()’ is deprecated [-Wdeprecated-declarations]
g_type_init( );
^
In file included from /usr/include/glib-2.0/gobject/gobject.h:24:0,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/librsvg-2.0/librsvg/rsvg.h:31,
from graphics/rsvg_frame.cpp:22:
/usr/include/glib-2.0/gobject/gtype.h:681:23: note: declared here
void g_type_init (void);
^
graphics/rsvg_frame.cpp:57:22: warning: ‘void g_type_init()’ is deprecated [-Wdeprecated-declarations]
g_type_init( );
^
In file included from /usr/include/glib-2.0/gobject/gobject.h:24:0,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/librsvg-2.0/librsvg/rsvg.h:31,
from graphics/rsvg_frame.cpp:22:
/usr/include/glib-2.0/gobject/gtype.h:681:23: note: declared here
void g_type_init (void);
^
g++ -g -W -Wall -DRAWFRAME_POSIX_IO -D__STDC_CONSTANT_MACROS -fPIC -std=c++11 -DX86_64 -I/home/kenley/Downloads/bmdsdk/Linux/include -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include/x86_64-linux-gnu -Iaudio/ -Imjpeg/ -Icommon/ -Iraw_frame/ -Ithread/ -Idrivers/ -Igraphics/ -Ireplay/ -Iavspipe/ -Ikeyer/ -Idisplay_surface/ -Iipc/ -MM -MF graphics/freetype_font.o.d -MT graphics/freetype_font.o graphics/freetype_font.cpp
I feel like this is a small enough housekeeping task that I am able to pick up.
This is feedback from the WPI Football game.
When disk space runs out for recording video for replay, the GUI freezes without any indication of what has happened.
Showing the percentage of disk space used is important. Also, showing an error message when space has run out is useful too.
Could anyone please make a more detailed installation guide? I get a good way to getting it installed but when I try and make replay/replay.so I get errors relating to the decklink.
I'm trying to build this on Debian Jessie.
Thanks
Right now one can download a highlight clip as a .mjpg file, or as a .raw audio file, but the raw audio file contains the embedded audio from the camera, or possibly even nothing at all. Replay should probably be able to mux the file to something more useful (mxf?), and mux in audio from any available source. The existing buffer indexes should be able to help with this.
I attempted to build exacore on Ubuntu 16.04 LTS using a modified version of the README included in the repository.
# Install core dependencies
sudo apt-get install build-essential librsvg2-dev libcairo2-dev \
libfreetype6-dev yasm swig
sudo apt-get install libjpeg-turbo
# Install rbenv and ruby 2.3.1
# Ruby 2.3.1 dependencies
sudo apt-get install -y libssl-dev libreadline-dev
# Install Git
sudo apt-get install git
# Install rbenv (rvm is no longer recommended)
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
# Compile rbenv dynamic bash extension
cd ~/.rbenv && src/configure && make -C src
# Ubuntu desktop instructions to update $PATH
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
# Follow instructions output by this step
~/.rbenv/bin/rbenv init
# Open a new Terminal now.
# Install latest upstream supported Ruby
rbenv install 2.3.1
# Set ruby 2.3.1 as default
rbenv local 2.3.1
# Install Gems
gem install --pre patchbay
gem install thin
gem install trollop
# Install Ubuntu-packaged V8 for brevity's sake
sudo apt-get install libv8-dev
# Clone exacore repository
git clone https://github.com/exavideo/exacore.git
cd exacore
make
I got the following error message and do not know where to put the DeckLinkAPI.h file for it to build.
https://gist.github.com/kench/585a906196887d05b113c801784a8e58
accidents happen during productions :)
If the replay computer boots with no monitor plugged in, the resolution is not properly detected. This leads to a replay crash, because ReplayMultiviewer disregards the actual display resolution and just assumes 1920x1080.
Really two bugs:
Bug noticed after "crash" where cam7, configured as a network input but not receiving data, was selected. Upon further observation, the program wasn't crashing, but instead spamming the console with "No frame for preview," which was causing a massive delay for all input from controller. Selecting a different camera did not stop the spamming, though marking did.
It'd be nice to be able to capture from USB audio interfaces, mixers, etc., freeing up SDI capture cards for video use.
Twitter supports a direct video upload API (upload 30 second clips) and the ability to quickly upload instant replays and highlights as they happen has the potential to increase engagement (follows and retweets) with the RPI TV Twitter account.
API Documentation: https://blog.twitter.com/2015/rest-api-now-supports-native-video-upload
I managed to get replay working just fine now, managed to add for 1080i50 here in the UK too.
The icing on the cake now would be to get audio, could you possibly post a sample config with relevant places where audio needs enabling.
TIA
Would it be possible to add 1080i50 input and output please.
I tried to bodge it together myself last year and it kind of worked, it played out on a monitor OK, bu the atem switches didn't like it but I'm almost 100% certain I had done my math wrong in the dirvers and other places I changed things.
Thanks.
Great to see some action in here, I really love this piece of software.
Don't work.
Replay goes slow and starts dropping audio packets when the buffer files already exist. Not sure why this is happening. Perhaps the phase vocoder is consuming too much CPU.
For single camera productions, where audio is run directly into the camera, often the two audio channels need to be mixed together to create a mono mix. This should be an option for avpinput_decklink.
Steps to reproduce:
Set up audio mappings on cameras. Start replay application. Push mark button, then play button. No audio. Push mark button, then camera button, then play button and you get audio. Audio should happen regardless of whether a camera button is pushed or not.
Basically, ignore additional "transition down" commands while a downward transition is in progress and ignore additional "transition up" commands while an upward transition is in progress.
This will eliminate having lots of shotNNN.mjpg files and make finding relevant shots a lot easier.
Most of the time, the keyers are not desired during media file rollout. On-air mistakes can be avoided if these are automatically taken down.
Precomputing phase vocoder parameters saves time, but the audio buffer files end up being of comparable size to the video buffers! Also, this makes it difficult to extract unprocessed audio later. Perhaps the phase vocoder data should be computed on playback rather than on recording. This may lead to sync issues though.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.