Stream Live Video

A P P E D I N X

G

Stream Live Video

Appendix Overview

To stream live video from the IEC to other endpoints, you will need a video encoder dongle and an input source such as a camera, camcorder, or IEC. This appendix describes a set up using the dongle and a document camera that can be used to stream a document, a training session, a meeting, or a demo.

Topics in this appendix include:

“System Dimensions Video Encoder Dongle”

“Vaddio HD Document Camera”

“Stream Live Video”

“Connect Hardware”

“global.videoEncoder Object”

System Dimensions Video Encoder Dongle

The System Dimensions AVS 2610 is a video encoder dongle that is HDMI compatible. When connected to the IEC and a camera, live video is captured by a HD video camera and then streamed by the dongle to other IECs or remote computers.

The video stream is sent as part of the MPEG2 Transport Protocol (MPEG-TS). The stream can be sent as either unicast or multicast.

Unicast: The dongle can be used for a point-to-point video stream, for example, when a customer wants to share their document with a virtual agent at a remote site. The stream is sent from an IEC to a single endpoint such as another IEC or a remote computer.

Multicast: The dongle can be used to allow multiple endpoints to view the same video stream such as for a meeting or a training session. To accomplish this, the stream is sent to a multicast address, which is a virtual address, and then anyone within the multicast group can access the stream at the multicast address.

Note

A media server is not necessary for streaming to a multicast address if your network is multicast-enabled.

If you cannot do multicasting on your network, then you need a streaming media server.

Cisco Interactive Experience Client User Guide

G-1

Appendix G Stream Live Video

Vaddio HD Document Camera

If the destination of the stream is another IEC, the native video player of the IEC will receive the video stream and display it. If the destination is a computer, you will need a player on that computer that is capable of receiving H.264 video codec and MPEG-TS as well as decoding UDP multicast streams; a

VLC player will meet these requirements. If a robust streaming solution is needed, a media server that receives both UDP multicast and TCP unicast streams could be placed on the network between the streaming endpoint and the receiving endpoints.

Vaddio HD Document Camera

The Vaddio CeilingVIEW™ HD-18 DocCAM is a high-definition ceiling-mounted document camera connected to the IEC via a video encoder dongle. The Vaddio camera can capture documents that the customer is holding or places on the desk or table below the camera. This camera can also be used to capture live events such as demos or lectures.

The Vaddio document camera has the following features:

Supports 16:9 resolutions at 1080p, 1080i and 720p and 4:3 resolutions at 480i and 576i

Component HD (1080p, 1080i or 720p) or RGBHV outputs

18X optical zoom lens

1.3 megapixel 1/3-type CCD image sensor for precise HD video image acquisition even in low light applications

16-position rotary switch to select HD camera resolutions

Table G-1 Vaddio HD Camera Resolutions

D

E

F

9

A

B

C

5

6

7

8

1

2

3

4

Rotary Switch Setting

0

HD Camera Resolution

720p/59.94

1080i/59.94

1080p/59.94

1080p/60

720p/50

1080i/50

1080p/50

1080p/30

1080p/25

1024 x 768/60 RGBHV

1280 x 800/60 RGBHV

1680 x 1050/60 RGBHV

G-2

Cisco Interactive Experience Client User Guide

Appendix G Stream Live Video

Stream Live Video

The Document Camera is composed of two units: the camera itself mounted to the ceiling and the Vaddio

Quick-Connect HD-18 DVI/HDMI, which delivers simultaneous analog component video (YPbPr) and digital video (DVI-D or HDMI) outputs on separate connectors, up to 100 feet over a single Cat. 5 cable.

There is no API for the Vaddio document camera. Instead a hex string is sent via RS232 to the camera using the serialPorts API. For example:

Camera ON: \x81\x01\x04\x00\x02\xFF

Camera OFF: \x81\x01\x04\x00\x03\xFF

Stream Live Video

To stream live video, the following components are required:

1.

Vaddio CeilingVIEW HD-18 DocCAM

2.

3.

4.

Vaddio Quick-Connect HD-18 DVI/HDMI

System Dimensions AVS 2610 encoder dongle

USB extension cable

Connect Hardware

Follow these steps to connect the camera, Quick-Connect, and encoder dongle to the IEC:

Step 1

Step 2

Step 3

Step 4

Step 5

Step 6

Step 7

Mount the Vaddio camera to the ceiling above the kiosk or desk/table in a position that allows it to capture a document below it. Follow the mounting instructions found in Vaddio’s manual for the camera: http://www.vaddio.com/images/document-library/342-0195-RevB-CeilingVIEW-HD-18-DocCAM-Ma nual.pdf

Use the EZCamera power and HD Video Port cord to connect the Quick-Connect to the camera.

Use a RS-232 Control cord to connect the To Camera port on the Quick-Connect and the camera.

Connect another RS-232 cord into the Input port on the Quick-Connect and plug the other end into the

RS232 port on the IEC.

Connect the HDMI input of the encoder dongle to the DVI-D output of the Quick-Connect.

Insert one end of the USB extension cable to the encoder dongle and the other end into the USB port on the IEC.

Reboot the IEC so that it recognizes the video encoder dongle.

Table G-2 Cable Connection Details for the Above Diagram

Number Connection

1 EZCamera Power &

HD Video Port

2 SR Interface to

Camera

Purpose

Supplies power to camera and returns HD video from the camera

RS-232 control to and from camera and IR signals returned from the camera

Cable

CAT-5e Ethernet cable

CAT-5e Ethernet cable

Cisco Interactive Experience Client User Guide

G-3

Stream Live Video

Appendix G Stream Live Video

Number Connection

3 RS-232 Control Input

(A photo of this connection is shown in the figure below)

Purpose

Input to SR interface from IEC

RS-232 port

4

5

DVI-D Output

HDMI Output

Cable

Shown in figure below: a) 9 pin male to 3.5mm stereo jack adapter b) 9 pin female to Ethernet port adapter (comes with Vaddio camera - no need to purchase) c) CAT-5e Ethernet cable

From SR interface DVI-D to

HDMI port of dongle

DVI to HDMI cable: HDMI (v

1.3 with deep color) and DVI v

1.0 compliant

From dongle USB to USB port of

IEC

Male to female USB cable

global.videoEncoder Object

The global.videoEncoder object allows the web application to take a video feed from a HDMI Source and encode it to MPEG-TS and stream it out to an endpoint either via UDP or via TCP. This object can be coupled with the video player and can serve as a local view of the encoded frame that is being sent out on the wire.

Note

While using TCP as the connection type, ensure that the TCP endpoint on the host to which you are interested to stream to is listening on the port of interest.

Tip

While using the camera, make sure the input resolution that you select is supported by the camera. It is recommended that you use either a 720p or a 1080i. A lower resolution camera may not give the desired output.

interface videoEncoder

{

readonly attribute bool isAvailable; // Checks if Encoder is Available

readonly attribute int status;

readonly attribute int errorCode;

readonly attribute string errorMessage;

readonly attribute int videoInputCount;

readonly attribute stringlist videoInputDescription; readonly attribute string snapshot;

attribute string targetHost; // Target Host where MPEG2-TS has to be sent

attribute int targetPort; // Target Port on Target Host to Receive it

attribute int protocol; // Udp=0, Tcp=1

attribute int videoMode; // SD=0, HD=1, CUSTOM=2

G-4

Cisco Interactive Experience Client User Guide

Appendix G Stream Live Video

Stream Live Video

}

attribute int videoSource; // Must be in [0, videoInputCount] range. 0 is for

HDMI, 1-videoInputCount is for webcams

attribute int h264Profile;

attribute int inputResolution;

attribute bool isProgressive;

attribute int streamType;

attribute int inputFrameRate; // 15, 24, 30, 60

attribute int outputFrameRate; // 15, 24, 30, 60

attribute int averageOutputBitRate;

attribute int minimumOutputBitRate;

attribute int maximumOutputBitRate;

attribute int outputResolution;

attribute int audioBitRate; signals:

notready();

ready();

started();

stopped();

error(in int code, in string message); slots:

start();

stop(); takeSnapShot();

global.videoEncoder object Variables

Variable

isAvailable status errorCode errorMessage

Table G-3 global.videoEncoder Object Variables

Description

Use this routine to check if the box has videoEncoder Module in it. A ‘true’ value indicates presence of the module.

Represents status of video encoder. The status are listed in the section below as enumeration for your reference.

This attribute will be set when an error occurs.

Use this attribute for error handling in your application.

This routine returns the error string corresponding to the errorCode that was set. Use this function to display an error message to the user in your application.

Cisco Interactive Experience Client User Guide

G-5

Stream Live Video

videoInputCount videoInputDescription targetHost targetPort protocol videoMode videoSource h264Profile inputResolution isProgressive streamType inputFrameRate outputFrameRate averageOutputBitRate minimumOutputBitRate maximumOutputBitRate outputResolution

G-6

Cisco Interactive Experience Client User Guide

Appendix G Stream Live Video

Returns the available video sources including the

HDMI input from the USB dongle and all available webcams.

Returns the description of all video input devices present in the box.

Returns the target host to which the encoded stream is being sent.

Returns the port number on which the encoded stream is being sent.

Returns integer value for the Transport Protocol:

‘0’ for UDP or ‘1’ for TCP.

Returns video mode on which the video encoder is operating. Values are: ‘0’ - SD, ‘1’ - HD, and ‘2’ for Custom.

Returns the video source being selected for encoding either as ‘0’ for HDMI or ‘1’ for videoInputCount for webcam.

Returns the encoding H.264 profile being used by the encoder: ‘0’ for Baseline, ‘1’ for Main, and ‘2’ for Extended Profile.

Returns the input resolution that is being used for the source. Possible values are ‘0’ for 1920x1080 resolution, ‘1’ for 1280x720, and ‘2’ for

1024x600.

Returns ‘true’ if the scan format is set to

Progressive.

Returns the input stream type that is configured on the encoder. Possible values are ‘0’ = Program

Stream, ‘1’ = Transport Stream, ‘2’ = MPEG4

Stream (default), ‘3’ = Elementary Stream, and

‘4’ = Raw Stream.

Returns the Video-In Frame Rate as integer value in fps. Possible values are ‘0’ for 15fps, ‘1’ for

24fps, ‘2’ for 30fps, and ‘3’ for 60 fps.

Returns the Video-Out Frame Rate as integer value in fps. Possible values are ‘0’ for 15fps, ‘1’ for 24fps, ‘2’ for 30fps, and ‘3’ for 60 fps.

Returns the Video-Out Average Bit Rate in kbps

Returns the Video-Out Minimum Bit Rate in kbps

Returns the Video-Out Maximum Bit Rate in kbps

Returns the Video-Out Resolution from the encoding stream. Possible values are ‘0’ for

1920x1080, ‘1’ for 1280x720, ‘2’ for 1200x672,

‘3’ for 1168x656, ‘4’ for 1024x576, and ‘5’ for

768x432.

Appendix G Stream Live Video

Stream Live Video

audioBitRate setTargetHost(in string targetHost) setTargetPort(in string targetPort) setProtocol(in int transportProtocol) setVideoMode(in int videoMode) setVideoSource(in int videoSource) setH264Profile(in int h264Profile) setInputResolution(in int inputResolution) setProgressive(in int flag) setStreamType(in int streamType) setInputFrameRate(in int frameRate) setOutputFrameRate(in int frameRate) setAverageOutputFrameRate(in int avgRate) setMinimumOutputBitRate(in int minRate) setMaximumOutputBitRate(in int maxRate)

Returns the Audio-Out Bit Rate being sent from the encoder in bps.

Allows you to set the Target Host (IP Address either as Unicast or Multicast ipv4 Address).

Allows you to set the Target Host's (Layer4) port

Number (TCP or UDP port number).

Allows the Transport (Layer4) Protocol to be used when sending the encoded stream. Choices are ‘0’ for UDP or ‘1’ for TCP.

Allows you to set video Encode mode either as SD

(Standard Definition) or HD (High Definition). If you would like to still fine tune the encoding properties, you can select the custom option.

Choices are ‘0’ for SD, ‘1’ for HD, and ‘2’ for

Custom.

Allows you to set the video source for the encoder.

Choices are ‘0’ for HDMI Input from USB

Dongle, and ‘1’ for all available (v4l compliant) webcams.

Allows you to set the H.264 profile to be used for encoding. Choices are ‘0’ for baseline profile, ‘1’ for main profile, and ‘2’ (default) for extended profile.

Allows you to set the input resolution for the video source. Choices are ‘0’ for 1920x1080, ‘1’ for 1280x720, and ‘2’ for 1024x600.

Allows you to set the input scan format to

Progressive. Call this API with parameter of ‘1’ to set to Progressive. Choices are ‘0’ or ‘1’.

Allows you to set the stream type for the Video-In stream. Choices are ‘0’ for PS, ‘1’ for TS

(default), ‘2’ for Mp4, ‘3’ for ES, and ‘4’ for Raw.

Allows you to set the Incoming (Video-In) Frame rate in fps. Choices are ‘0’ for 15fps, ‘1’ for 24fps,

‘2’ for 30fps, and ‘3’ for 60fps.

Allows you to set the Output (Video-Out) Frame rate in fps. Choices are ‘0’ for 15fps, ‘1’ for 24fps,

‘2’ for 30fps, and ‘3’ for 60fps.

Allows you to set the Average Output Rate

(Video-Out) in kbps.

Allows you to set the Minimum Output Rate

(Video-Out) in kbps.

Allows you to set the Maximum Output Rate

(Video-Out) in kbps.

Cisco Interactive Experience Client User Guide

G-7

Appendix G Stream Live Video

Stream Live Video

setOutputResolution(in int outputResolution) setAudioBitRate(in int bitRate)

Allows you to set the Output Resolution for

Video-Out. Choices are ‘0’ for 1920x1280, ‘1’ for

1280x720, ‘2’ for 1200x672, ‘3’ for 1168x656,

‘4’ for 1024x576, and ‘5’ for 768x432.

Allows you to set the Audio-In bit rate in kbps.

global.videoEncoder object Enumeration

{

enum ErrorCodes

{

videoEncoderNotPresent = -1,

UnabletoStopStreaming = -2,

UnabletoStartStartStreaming = -3,

RemoteSideNotListening = -4,

MemoryExuastionError = -5,

NoHdmiVideoSignal = -6,

BothUsbAndPcieTogetherNotSupported = -7,

HdmiVideoFormatNotUnderstood = -8,

};

enum Protocol

{

ProtocolUdp = 0,

ProtocolTcp = 1,

};

enum VideoMode

{

VideoModeSD = 0,

VideoModeHD = 1,

VideoModeCustom = 2,

};

enum VideoSource

{

HdmiVideo = 0,

WebcamVideo = 1,

};

enum H264Profile

{

H264ProfileBaseLine = 0,

H264ProfileMain = 1,

H264ProfileExtended = 2,

};

enum InputResolution

{

InputResolution1920x1080 = 0,

InputResolution1280x720 = 1,

InputResolution1024x600 = 2,

};

enum OutputResolution

{

OutputResolution1920x1080 = 0,

OutputResolution1280x720 = 1,

OutputResolution1200x672 = 2,

OutputResolution1168x656 = 3,

OutputResolution1024x576 = 4,

OutputResolution768x432 = 5,

Cisco Interactive Experience Client User Guide

G-8

Appendix G Stream Live Video

};

enum StreamType

{

StreamPgoram = 0,

StreamTransport = 1,

StreamMp4 = 2,

StreamElementary = 3,

StreamRaw = 4,

};

enum InputFrameRate

{

Input15fps = 0,

Input24fps = 1,

Input30fps = 2,

Input60fps = 3,

};

enum OutputFrameRate

{

Output15fps = 0,

Output24fps = 1,

Output30fps = 2,

Output60fps = 3,

};

}

Stream Live Video

Cisco Interactive Experience Client User Guide

G-9

Stream Live Video

Appendix G Stream Live Video

G-10

Cisco Interactive Experience Client User Guide

Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project