#include "Beowulf/Beowulf.H"
#include "Component/ModelManager.H"
#include "Util/Types.H"
#include "Util/log.H"
#include <cstdio>
#include <cstdlib>
#include <signal.h>
#include <unistd.h>
#include "Devices/FrameGrabberConfigurator.H"
#include "Image/DrawOps.H"
#include "Transport/FrameIstream.H"
#include "Image/ImageCache.H"
#include "Image/Pixels.H"
#include "Raster/Raster.H"
#include "Util/Timer.H"
#include "GUI/XWinManaged.H"
#include "GUI/XWindow.H"
Go to the source code of this file.
Defines | |
#define | NAVG 20 |
number of frames over which frame rate is computed | |
#define | MAXQLEN 1000 |
Maximum number of frames in queue. | |
Functions | |
void * | saveframes (void *) |
void | terminate (int s) |
int | main (const int argc, const char **argv) |
Variables | |
pthread_mutex_t | qmutex |
pthread_mutex_t | smutex |
ImageCache< PixRGB< byte > > | cache |
std::string | base |
int | sessionNum = 0 |
static bool | goforever = true |
Run beobot-collectFrames-master at A to collect frames Run beobot-collectFrames at B to remote control motion
Definition in file beobot-collectFrames-master.C.
#define MAXQLEN 1000 |
Maximum number of frames in queue.
Definition at line 67 of file beobot-collectFrames-master.C.
#define NAVG 20 |
number of frames over which frame rate is computed
Definition at line 64 of file beobot-collectFrames-master.C.
int main | ( | const int | argc, | |
const char ** | argv | |||
) |
Displays and grabs video feeds to disk. Selection of grabber type is made via the --fg-type=XX command-line option. Frames are pushed into a queue and a second thread then tries to empty the queue as quickly as possible by writing the frames to disk. In testing, PPM format actually gave better frame rates than PNG, which is what is used.
The starting command is supplied from the beoChip keyboard
Definition at line 129 of file beobot-collectFrames-master.C.
References TCPmessage::addFloat(), ModelComponent::addSubComponent(), Timer::get(), ModelManager::getExtraArg(), goforever, ModelManager::parseCommandLine(), ImageCache< T >::push_back(), TCPmessage::reset(), Timer::reset(), ImageCache< T >::size(), ModelComponent::start(), ModelComponent::stop(), and writeText().