Introduction
Overview
InstallationJMRBNBStudio
Introduction
Overview
Setup and StartupUser Interface Enhancements
SaveToRBNB...rbnbVidView
Introduction
Overview
Setup and StartupCommand Line Arguments
Audio Channel Path
DataTurbine Server Address
Video Channel PathUser Interface
File Pulldown
VCR Controls
The Video Utilities package consists of two programs:
If you intend to capture video and/or audio data, run the JMInit program provided as part of the JMF package. If your CLASSPATH environment variable is set correctly (as shown above), you can type:
java JMFInitThis program finds any supported video and audio capture devices on the system.
This document describes the features added to actually send the data to the DataTurbine server. All other features are described in the standard documentation that can be found here.
The following figure shows an example JMRBNBStudio user interface display.
Example JMRBNBStudio User Interface Display
All inputs to JMRBNBStudio come are provided by use of the pulldown controls on the user interface. The application can be run by simply typing:
java JMRBNBStudioUse the standard JMStudio input selection items to get the audio/video input stream. You can load a file (Open File...), open a URL (Open URL...), open an RTP stream (Open RTP Session...), or capture data directly from a camera or microphone (Capture...). Once an input stream has been specified, the data in that stream can be saved to a file, to a DataTurbine server, or sent out to an RTP session.
If your input stream is a direct capture, the following screen shows up. Press OK to continue with the save operation or press Cancel to continue viewing the captured data directly in JMRBNBStudio.
Capture Preview Warning Dialog
Specify the audio and video encoding using audio/video format selection dialog. The audio encoding dialog is shown in the first of the two figures below, while the video encoding dialog is shown in the second.
Example Save To RBNB Audio Format Selection
Example Save To RBNB Video Format Selection
The Format field determines the standard JMF supported file format used as a intermediate step to get the desired encoding for both audio and video. Choose one that provides the encodings you wish to use.
The Audio and Video tags switch to the audio and video encoding dialogs, respectively.
The Enable Track field determines whether the data associated with the dialog is saved into the DataTurbine.
The Encoding field determines how the data is compressed (or "encoded"). The value of the Format field determines what encodings are available. The DataTurbine Video Utilities package does not support all of the possible encodings that can show up on these screens. The supported encodings are:
AudioThe remaining fields should be left alone.Video
- All
- JPEG/MJPG
- H263
- H261
The Save button proceeds to the DataTurbine path specification dialog shown in the figure below. The Cancel button terminates the save operation. Note that it does not restore the capture preview!
Example DataTurbine Path Specification Dialog
The DataTurbine Server field specifies the address of the destination DataTurbine server (specified as <host>:<port>).
The Data Path field overrides the default data path provided by the DataTurbine server.
The Cache Size field specifies the size in frames of ring buffer cache used to store the data in the DataTurbine server. There must be at least one frame in the cache.
The Archive Size field specifies the size in frames of the ring buffer archive file used to permanently store the data. A value of 0 indicates that no archive should be created.
The OK button starts sending the data to the specified DataTurbine server.
The Cancel button returns to the audio/video selection dialog.
When the data is being sent to the DataTurbine, the user is presented with a saving file dialog such as the one shown in the next figure.
Example Saving File ... Dialog
The above dialog is shown when the input stream is a video capture. The Video Monitor and frames/sec fields are replaced by a progress bar if the input stream is a file.
The Pause button temporarily stops the save operation. It is replaced with a Resume button that can be used to resume the save operation.
The Video Monitor field is only activated when the save operation is paused. Toggle it to monitor the current activity on the input stream.
The frames/sec field is only activated when the save operation is paused. If the video monitor is shown, this field controls the update rate of the monitor.
The Stop button terminates the save operation and closes the connection to the DataTurbine server, terminating the RBO object containing the cached data. (If the data were archived, it can be reloaded). If you want the video data to remain "on-line", use the Pause button.
For some video or audio encodings, there is a special encoding specific controls dialog such as that in the next figure. The only field on this dialog that is supported is the Key Frame Rate field.
Example Encoding Controls Dialog
The rbnbVidView application provides both a simple command line interface and a graphical user interface to specify the video and audio streams to display, plus a VCR-like control panel to control the activities of the display.
The following figure shows a typical rbnbVidView display.
Example rbnbVidView Display
All inputs to rbnbVidView can be provided on the command line
when it is started or via the user interface
at any time.
The audio data is retrieved from the specified audio channel.
The audio/video data is retrieved from the specified DataTurbine server.
The video data is retrieved from the specified video channel.
Example DataTurbine Server Selection Dialog
The DataTurbine server address consists of an optional host (default if omitted: "localhost") and optional server port (default if omitted: "3333".) The last server address is shown in the window.
The OK button closes any existing connection and opens a new connection to the specified DataTurbine server. The application moves directly into channel selection (see Channels...)
The Cancel button cancels the open operation, leaving any existing connection still active.
The Channels... item specifies the video and audio channel(s) to retrieve. Two channel entry dialogs are shown in sequence:
Example Video Channel Specification Dialog
One video and one audio channel are allowed; wildcards are accepted, but only if they map to a single real channel. The last channels used are shown as the defaults. A channel can be omitted, in which case that channel is not shown.
The OK button accepts the channel. After the audio channel has been selected, the application attempts to locate the channels in the DataTurbine and initiates the display (see VCR Controls below.)
The Cancel button rejects the channel and aborts the channel selection.
The Close... item closes the connection the DataTurbine server.
The Exit item exits the rbnbVidView application.
Note: the audio channel is muted unless:
Note: for video encoding schemes that do frame-to-frame compression
(such as H261, H263), all positioning controls other than the Step
Forward, Play Forward, and Real-Time
Track buttons operate on "key" (complete) frames only. If necessary,
the code moves backwards to the nearest key frame.
The beginning of data button moves the display to the earliest video data available.
Note: for frame-to-frame compressed video, the beginning of data button searches forwards to a key frame by attempting to step forward one frame at a time. If the step forward fails because the frame has been overwritten in the ring buffer, the application just displays the earliest partial frame.
The play backward button starts playing backwards (key frames only) from the current displayed frame of video.
The step backward button moves back one key frame from the current displayed frame of video.
The pause button freezes the display.
The step forward button moves forward one frame from the current displayed frame of video.
The play forward button plays forward from the the current displayed frame of audio and video.
The end of data button moves the display to the latest frame of video data available.
The real-time track button tracks the latest frame of data continuously, playing audio and video together in "real-time". If the display is unable to keep up with the data at the rate it is being put into the DataTurbine, frames are dropped. This is often noticible as "clicks" of audio or partial updates of video, depending on the encoding schemes used.
The position slider (see the rbnbVidView figure) allows positioning within the data as a percentage of the available data range (0% to 100%). Precise positioning can be obtained using a combination of the slider and the Step Backward and Step Forward buttons.
The time field (see the rbnbVidView figure) shows the start time of the current displayed frame. The time is shown as [x days] [hh:][mm:]ss.sss.
The frame rate field (see the rbnbVidView
figure) shows the instantaneous frame display rate (frames/sec).