|
Home
Documentation
Downloads
Contact Information
Links
Screen Shots
|
qvid Usage
This section is only paritally complete.
Before you can start streaming, you need some content. QStream uses
the SPEG video format, which is a derivative of MPEG4.
We have some sample videos (see the downloads section), which you can use to
get started and test whether the software is working. The following
section describes how to produce your own video files for use with
QStream. You can skip it for now if you are going to use one of our
video files.
It is also possible to use also QStream's live capture capability to
capture video directly from a webcam, but we don't have documentation
for that yet.
Procedure for creating QStream video files
QStream uses a proprietary (as in not standardized, not as in
closed) format for video. Berkeley DB is used for the container, as
opposed to a conventional one like AVI, Quicktime MOV, and the like.
And of course, the video coding is SPEG. For audio, conventional MPEG
audio (MPEG1) is used. In this section we outline an example
procedure for converting videos to QStream .db files. tbd.
For know look at the encode-*.sh scripts in the QStream
source.
Running QStream
-
Starting the Monitor (optional).
QStream includes a monitor program called 'qmon2' that provides
extensive real-time visualization of the streaming process, via a
several software oscilliscope views. The other QStream programs
connect to the monitor via TCP, so it needs to be started first.
The monitor can run on a separate host from the server and client.
cd [qstream base]/qmon2/src
./qmon2
The can run in non-graphical mode, but collects the data and stores
it in files for further analysis or offline visualization, e.g. via
gnuplot.
About clock synchronization. For many of the
values, the monitor requires that clocks be synchronized between
the machines that the QStream programs are running on, typically
this would be done via ntp. The PPS protocol does not
depend on clock sync for video streaming, so video should be fine,
but without clock sync many of the signals in the monitor
oscilloscopes will not work correctly. If you see lots of
continuous output from the monitor about late signal values, it is
a pretty sure bet that the clocks are out of sync.
-
Start the video server. Skip this step if you are going to run
everything on the same machine.
cd [qstream base]/qvid/src/qvid2
./qserver --qmon-address [address of monitor host]
-
Start the player.
cd [qstream base]/qvid/src/qvid2
./qclient_gui --qmon-address [address of monitor host] \
pps://[address of qvid server host]/[full path to video]
For example:
./qclient_gui --qmon-address localhost pps://qstream.org/home/krasic/big-buck-bunny.db
If you are running everything on the same machine, a stand-alone
player qvid_play_gui is available.
Hopefully, it starts and you see a nice video,
along with pretty signals in the monitor scopes!
Most of the GUI should be self explanatory. Tooltips on the
buttons explain their puposes. Dragging the scrollbar will scrub
through the video. Right clicking on the video will raise a popup
menu. In the preferences dialog, you can use the QoS balance
slider to adjust priority assignment (favoring temporal or spatial
adaption), and the drop threshold slider to manually force the
server to drop SPEG data.
All of the qstream programs can print some usage information if you
give them the --help command line argument.
|