he QVidiumHD™ Video StreamViewer is a high-definition networked-video
software application that can locally store HDV, DVC-ProHD, and other formats of
T
The QVidiumHD StreamViewer records, decodes, and plays out live networked MPEG-2,
MPEG-4 SP/ASP (MPEG-4 part 2), or MPEG-4 AVC (H.264, or MPEG-4 part 10) encoded
video streams embedded within an MPEG-2 compliant Transport Steam and transported
over an IP network, encapsulated either in RTP or raw UDP/IP packets. This includes
DVB-compliant CBR (constant bit rate) video streams, ProMPEG, and HDV video streams.
It can also handle DV and DVCPro-HD encoded video streams sent by a Qvidium
IEEE1394 IP Gateway. The QVidiumHD StreamViewer can also handle MPEG-1, MPEG2, and Dolby AC3 encoded audio. The RecordManager can simultaneously record the
incoming stream, while playing the recovered digital audio and video signals. It can display
the live video stream directly onto a high-resolution monitor or display device in full-screen
mode, or within a separate video play-out window when used as a viewfinder or monitor for
the recording function. The RecordManager automatically detects the video resolution for
both High-Definition and Standard Definition video streams and resizes the video image
accordingly. It also automatically decodes and displays any closed captioning data
embedded within the video content.
live streaming audio/video content, while simultaneously playing out live
networked streaming video.
The QVidiumHD™ Player is supplied as a software application designed to run under the
Microsoft Windows™ Vista, XP, or Windows™ 2000 operating systems. The QVidiumHD
StreamViewer employs QVidium’s implementation of the ProMPEG standard for Video
over IP with Forward Error Correction as well as Qvidium’s patent-pending ARQ error
correction mechanisms, while also taking advantage of Microsoft DirectX™ and Microsoft
DirectShow™, to provide exceptional video quality and the most robust and error-free
stream reception and play-out possible, even in the face of network impairments, such as
lost packets, jitter, and packet reordering. QVidium’s implementation of video encoding
and ProMPEG video standards allow the QVidiumHD™ player to be fully compatible with
any video signal source that also adheres to the ProMPEG standard for Video over IP (Code
of Practice #3, Release2, Annex A).
The QVidiumHD™ StreamViewer is a software application that combines a streaming
Video over IP hard disk recorder with a high-definition video decoder to provide a versatile
and robust means for receiving, recording and displaying live video content from a wide
variety of video sources.
The QVidiumHD™ StreamViewer is built around common industry standards for video
over IP streaming to insure compatibility, flexibility, and interoperability with other video
over IP encoders and camcorders. These standards include: MPEG-2, MPEG-4, DV, and
DVCPro-HD video decoding, Dolby AC3, MPEG-1 Layer-II, and MPEG-2 audio decoding,
MPEG-2 Transport Streams, ProMPEG Video Transport and Forward Error Correction
(FEC), RTP/UDP/IP video packet protocol, and Microsoft DirectX™ and DirectShow™
video and audio technology. (Windows Media video decoding is available as an additional
option upon request.)
This instruction manual provides detailed operation instructions for each of the
StreamViewer’s two main functions:
Operation
Principles of Operation
• LIVE STREAMING VIDEO RECORDER
• LIVE STREAMING RECORDING MONITOR AND VIDEO STREAM PLAYER
2.2
The Stream Player recognizes, decodes, and displays NTSC closed captioning, as specified
by the Advanced Television Systems Committee standard ATSC A/53 for Video Blanking
Interval (VBI) data embedded on video line 21. (At present, European Teletext for Pal
video is not supported.) When live streaming video content contains closed captioning data
(locally stored video with closed caption is not supported) the Stream Player will
automatically display the closed captioning text as an overlay on the displayed video. This
display of closed captioning text is independent of the audio and will not affect play out of
the audio feed.
Under the File menu is a Settings menu item that brings
up the Global Settings panel as shown on the right. The
Global Settings panel contains four miscellaneous
configuration settings that affect the overall behavior of
the application. The FEC Timeout parameter sets the
maximum delay that the application waits for an FEC
packet before deciding that the received video stream is
not encoded with forward error correction checksum
packets and thereby sets the delay to wait before nonFEC play out can begin.
The Start Full Screen checkbox configures video play out to take over the entire display
screen. With this setting unchecked, play out is displayed in a separate resizable video
window.
The last three checkboxes, IP Source Change Detection, Burst Drop Detection, and Auto Restart, control whether the application should attempt to detect when the Video over IP
stream has been changed to a different source, or restarted with different video resolution or
bit rate settings, or has paused for some other reason, and if the StreamViewer detects such
a change, to restart the video and thereby reset the video settings. Without these settings
enabled, the video may freeze when the video source changes or when there is a change in
the video bit rate, format, resolution, or timing.
Global Settings
2.4
The StreamViewer software comes with a free 45-day demo license when first installed.
After purchasing a license for the StreamViewer, you can obtain a permanent license key
from QVidium by clicking on Register under the Help menu and e-mailing the
Identification number to info@qvidium.com along with your identifying information so
that we can find a record of your purchase. QVidium will then e-mail you back a License Key that you can paste into the StreamViewer Registration form to permanently register
your software.
A primary function of the StreamViewer is to receive and record a Video over IP stream.
Using QVidium’s advanced error correction, the StreamViewer tries to reconstruct the
original video signal as perfectly as possible. Error correction recovers lost packets and an
internal jitter buffer re-orders packets to their correct sequence and smooths out any timing
gaps to create a fluid, smooth-flowing and error-free video stream. The StreamViewer can
then store that recovered video stream onto a
hard disk drive for later play back.
To configure and enable video recording, click
on Capture under the File menu to bring up the
Stream Capture panel as shown on the left. You
can browse for and set the folder where the
recorded video will be stored, and set the
filename for the stored video clip. For
convenience, StreamViewer includes an option
to tag the video file with a video clip sequence
number and to insert a time stamp into the video
clip file name.
Clicking on the Start button starts the capture
and Stop stops the capture. The Save button
saves the configuration settings, and Cancel
simply closes the Capture panel without saving
your configuration setting changes.
A Status field displays the duration of the
recorded video clip in seconds and the size of
the captured file.
StreamViewer’s main window displays a list of preconfigured stream profiles. Initially, no preconfigured profiles exist. Clicking on “New
Stream…” allows you to create new stream profiles.
It pops up the New Stream… panel as shown at
right. Most of the parameters can generally be left at
their default values for most common modes of
operation. The two key parameters to configure are
the profile name and UDP port. After assigning a
name to the profile and verifying that the UDP port
corresponds to the port of the stream you wish to
receive, click OK to write the new profile and return
to the profile list. You can later modify these settings
by single-clicking on the profile to edit (highlighting
it) and then clicking on Edit under the Stream menu.
StreamViewer automatically detects the format of the
incoming video stream. It automatically handles both
MPEG-2 Transport streams over either UDP or
RTP/UDP packet formats. It can also automatically
detect and play out either MPEG-2, MPEG-4, DV, or
DVCProHD formats. There is no need to configure
this separately. The Video Parameters area of this
setup window only applies if the incoming stream is
in DVCProHD format. If not using DVCProHD, you
can ignore these settings.
Stream Profiles and Play Out
Stream Profiles
Figure 2: New stream profile form.
Unless you are configuring the StreamViewer for IPTV from a QVidium IPTV video
server, you should leave the Stream Replicator IP address blank.
You may select from a number of convenient views of your list of profiles from the View
menu. To start receiving and playing out a stream for display in its own video window, just
double-click on the desired profile. Alternatively, you can start and stop play out by
clicking on “Start” or “Stop” under the
4.3
StreamViewer supports some of the most advanced forms of live streaming video error
correction available, including the industry standard ProMPEG FEC (forward error
correction) and QVidium’s patent-pending Advanced ARQ (Automatic Retransmission
ReQuest). StreamViewer automatically detects and activates the appropriate form of error
correction based on settings at the video source.
4.3.1 ProMPEG FEC: Forward Error Correction
StreamViewer listens for ProMPEG FEC checksum packets and automatically configures
its FEC error correction mechanism accordingly, therefore eliminating the need for user
configuration of FEC. It automatically detects FEC settings, such as row and column sizes,
and uses the incoming parity packets to try and recover lost packets when necessary. The
Receive Stats panel, shown below, keeps track of lost and recovered packets, along with the
current FEC configuration, so you can monitor the effectiveness of the FEC settings.
Starting Video Play Out
Stream menu.
StreamViewer Error Correction
4.3.2 ARQ: Automatic Retransmission Request
Automatic Retransmission Request (ARQ) tries to recover any packets lost during transport
by adding a small amount of delay, giving the decoder time to detect and request and
replace any missing packets with newly retransmitted ones. The size of this delay should
include adequate time for the missing packet to be received and inserted into the play out
queue so that the video stream can continue to flow smoothly and uninterrupted to the
MPEG decoder.
StreamViewer sends a small query packet upstream to the video source to automatically
detect and enable ARQ Mode when the video source supports QVidium’s ARQ. With ARQ
enabled and video play out started, StreamViewer will watch for gaps in the RTP sequence
numbers from the output of the jitter buffer. When it detects missing packets, it sends
retransmission requests to the encoder so that the encoder can quickly resend any missing
packets. Incoming retransmitted ARQ packets bypass StreamViewer’s internal jitter queue
and find their correct place in the ARQ buffer, so that by the time packet are output by the
ARQ buffer, the output of the ARQ buffer should no longer contain any missing packets.
The ARQ has three parameters that can be configured. In most cases the default parameters
should be adequate for the initial operation. The first parameter, Target Latency, specifies
the total delay, in milliseconds, allotted for the request, retransmission, and recovery
process. The ARQ mechanism will attempt as many retries as possible within this target
latency time. Thus, larger target latency times increase the delay before video is output, but
allows for more chances of requesting and recovering any missing packets.
A Burst Drop delay can also be specified to delay any retransmission requests for a time
equal to the maximum expected packet loss time, such as from dynamic router changes of
other sources of burst loss.
A Robust Mode can also be selected. When selected (checked), a minimum of two tries will
be attempted for recovering any missing packets. When not selected (unchecked), ARQ will
always try at least once to recover any missing packets.
4.3.3 Network Statistics
To monitor packet reception of the incoming IP video stream, click on Show Stats from the
Stream menu. This pulls up the Receive Stats panel as shown below. The Receive stats
panel has statistics organized into four sections: Network, FEC, Video, and Session. Under
Network, it lists the number of Out of Order packets, the number of Dropped packets, and
the number of Duplicate packets. It also shows the measured bit rate for the video stream
and the maximum inter-packet time gap in milliseconds (jitter), along with the packet rate
and the total number of received packets.
Under FEC, Receive Stats keeps track of the number of packets that FEC could not recover
(Unrecovered), and the number of packets that FEC was successfully able to recover
(Recovered).It also shows the detected and automatically configured FEC interleave matrix
size in terms of the number of rows (DRows) and columns (LColumns).
Under Video, the Receive Stats panel shows the Queue Level of video packet in the video
timing recovery queue and the Frequency shows the recovered video clock frequency.
(Note: monitoring of these Video statistics is currently not implemented.)
The Session section sows the elapsed time since starting the decoder and the IP address of
the video sender.
If you experience problems with stream playout, please first check that you have
If you experience problems with stream playout, please first check that you have
downloaded and installed the Elecard MPEG decoder software (available through the link
downloaded and installed the Elecard MPEG decoder software (available through the link
on our web site or directly from Moonlight Software at
on our web site or directly from Moonlight Software at www.elecard.com (Elecard MPEG
Player). In addition, after downloading and installing this software, please be certain to have
downloaded and run the RegisterElecardMPEGFilters.bat file from
http://www.qvidium.com/downloads.
For troubleshooting information and the latest software, please contact QVidium
Technologies, Inc. by either phone or e-mail at:
Phone: (858) 792-6407
E-mail: support@qvidium.com
Support Hours: Monday - Friday 8:30 am to 5:00 pm PST
Multicast Address: This specifies the IP multicast address, if any, to listen to for the
Video/IP stream. If expecting a unicast video/IP stream, leave this field blank.
Multicast Interface: For computers with multiple network adapters, this specifies which
network interface StreamViewer should listen on for the incoming video stream.
UDP Port: This specifies which UDP port number (base 10) to listen on for the Video/IP
stream.
6.2 ARQ Parameters
The parameters below ONLY pertain to QVidium ARQ error correction. They will be
ignored unless ARQ is selected at the video source.
ARQ Target Latency: QVidium’s ARQ error correction operates through the addition of a
small additional buffering delay to provide enough time to request and receive replacement
for each lost packet. Target Latency gives the ARQ mechanism a target value for
determining the necessary ARQ delay. The ARQ divides the Target Latency, specified in
milliseconds, by the round-trip time to the video encoding source to determine the number
of request attempts. Unless Robust Mode is enabled, it sets a minimum ARQ latency of one
round-trip time. A larger Target Latency allows the system to increase the number or
repeat requests.
ARQ Burst Drop: Burst packet losses are common occurrences in many IP networks and
the Internet. IP networks may dynamically change paths in response to load balancing, link
failure avoidance, and for other reasons. During a re-route, a sequence of queued packets
on a discontinued path may be dropped. A burst of packets may be dropped when higher
priority packets stall a lower priority buffer. ARQ will notice a burst packet loss when the
first packet after the loss arrives at the codec. Setting the Max Burst Drop Delay (in
milliseconds) will delay the ARQ repeat request by this amount to handle packet burst
losses.
ARQ Robust Mode: The ARQ can automatically calculate the number of retries (repeat
request sent to the video encoding source device) for a given Target Latency and measured
round-trip time. In some cases the number of retries is calculated to be one. Enabling
Robust Mode will ensure the minimum number of repeat requests to a minimum of two
retries.
The following parameters are ignored unless the incoming stream matches the selected
video format.
DVCProHD Mode: Select the high-definition video format for receiving and playing
DVCProHD streams. This parameter allows for the specification of various HD resolutions
and frame rates.
DVCPro50 Mode: Select the standard-definition video format for receiving and playing
DVCPro50 streams. This parameter allows for the specification of various standard
definition frame rates and whether the video stream is in Interlace or Progressive format.