Nanog Webcast Equipment

Hello There,

I was hoping someone from the NANOG team could comment on what equipment/software they use for the live meeting broadcasts. I am looking to do the same for another professional association and could use some pointers.

You can reply off-list if you wish.

-Israel

You can reply off-list if you wish.

Would love to see replies and/or summary on list if possible. It's a somewhat complex problem, and there are many solutions out there. Having feedback on what was used and any feedback on it would be great!

Since theres interest, I'll share a multicast solution that has so far
worked for us for internal use. (Abilene/Internet2 connected institutions
may use this publically too.)

After getting multicast working, we used a DV camera that our marketing team
had (camcorders work too) and connected it via firewire to a laptop. We ran
a product called Wirecast (we used MacOS, Wintel version is available too),
which can switch between multiple video sources, static images, video files,
and even presentation computers (signal is network-delivered) etc... And
output simultaneously to several destinations which can include multicast
and unicast addresses, with each stream at a different quality.

We had to be sure quicktime was installed on the client machines, and we
created a web page with the benefit of AC_Quicktime.js (google for it;
you'll find a copy with full instructions) which allowed clients to
subscribe to the "large" multicast feed. For remote sites with small links,
one could provide a link to a smaller multicast feed.

For clients who could not do multicast for whatever reason, the "small"
multicast feed was subscribed to by an OSX server running the Quicktime
Streaming Server (built-in). It retransmitted the video in unicast. (You
have to do this by placing the SDP file in the "Movies/" directory of the
server.)

The wirecast license cost is $450 for the big one and theres a free demo.
The number of viewers is limited by your network and user support
infrastructure. All the other components we already owned. And, as any
photography nerd will tell you, quality isn't a function of codec and
bandwidth alone. A webcam produced a usable but unremarkable image. Using
the Real Camera made a world of difference and made the stream look
broadcast-quality.

The opportunity to do a company-wide multicast hasn't come up yet, but we
keep it in our back pocket. Company-wide testing went without a hitch.
-porkchop

For the benefit of all, I'll jot a list of the "parts" that comprise
the NANOG video rig. In actuality, there are three, sometimes four
"rigs" (input->encoder->server/relay->viewer/listener chains)
operating at NANOG in parallel.

Primary Video Encoder

-highish-end multi-core p4 desktop system
-wirecast (http://www.telestream.net/wire-cast/overview.htm) for
genlock- and sync-less video input mixing
-prep'd and networked presenter laptop for feeding "VNC-like"
screen-scrapes directly to the encoder system, the preferred method
for acquiring slideware "video" (check the wirecast docs for the
"presenter network transport" stuff)
-s-vid/composite, direct-show interface compatible video ADC's (analog
to digital converters--"capture cards," etc. direct-show is a
"standard" way for userland apps to interface to video framebuffer
sources, inputs, etc)
-two ntsc cameras (using s-video baseband signals, over baluns for
coax to UTP conversion)
-two pan-tilt-zoom serially controlled "mounts" for said cameras
(though the ones nanog uses today are integrated camera/ptz+planar
actuators)
-audio source from "house PA" system passed through small mixer for
gain staging/gain control/rough tone control
-standard 'sound card' for audio ADC (usually mono, 48khz sample rate)
-serial ptz controller itself, with multiple "memory" positions (i.e
push-button preset pan/tilt/zoom settings are issued to the cameras by
the MERIT/NANOG video rig operator to follow Q/A sessions, speakers on
stage/mics, etc)
-svga to ntsc/s-vid scan converter
-vga buffer/isolator with integrated amplifier and splitter (send
video to both projectors, drive/equalize long-ish VGA analog cabling,
isolate outputs from each other, and feed the input of the vga->ntsc
scan converter)
-more vga/utp baluns, etc
-rs232/utp baluns/buffered isolators for ptz camera controls/ancillary
device control

Once inputs arrive at the encoder system, the operator selects
transitions (fade/dissolve/blend/etc) and real-time mixes the
presenter camera, the Q/A mic camera, drives and selects the PTZ to
follow the speaking/questioning, and chooses when and how to
overlay/superimpose/picture-in-picture the VGA scan converted signal
vs. the "presenter network" source.

The wirecast application does both the mixing, as well as encoding of
"raw" YUV video into a mpeg4 h.264 output stream. We usually configure
the wirecast "transport" output as a pair of RTP streams, one carrying
audio, the other video. These RTP streams 'land' on a RTP->RTSP
controlled gateway (i.e. what we call "quicktime" stream on the nanog
webpage). Alongside this mp4/rtp stream, we'll typically configure a
windows media 9 a/v stream, using MMS and ASF wrappers/transports. A
windows media relay server at MERIT or I2 (I forget which) provides
viewers a place to connect to the "windows media" stream.

Secondary Video Encoder

-average p4 laptop
-usb interface ntsc s-vid ADC/capture device, supported via directshow
software library
-wirecast or real producer pro, somtimes windows media encoder
-given single input from presenter camera, typically, and audio feed
from hotel/building PA system
-records to local disk (external USB attached disk, etc)
-intended for "backup" archival meeting video in the the case of the
primary system failing, crashing, etc.

Primary Audio-Only Encoder

-average $anything laptop
-usb or built in ADC for PA audio input
-Winamp + DSP plugin using win32 LAME library for mpeg1 layer 3 audio encoding
-DSP plugin sends shoutcast stream to icecast/shoutcast relay server
$somewhere (iirc, Tim Pozar is involved with this platform, he may be
able to provide more details).
-Usually target a mono, 22.05Khz, 24 kbit/sec stream profile.

The goal is to make the audio program, at least, accessible to
V.whatever users on POTS.

Occasional "HD lite" Video Encoder

-average p4/p3 laptop
-firewire input card/port
-Canon HV20/30 HDV camera (using on-camera audio input from house PA
system, to preserve a/v sync)
-DVTS or VLC acting as "firewire" mpeg2 transport stream relay,
sending the raw ~25 mbit HDV mpeg2 stream over IP/UDP to an
off-network transcoder system
-VLC running on a linux 2.6.x 8-core system (of which ~half end up
idle), transcoding mpeg2 a/v into a h.264 video/mp4 AAC stream, ~1
mbit/sec
-Stream is relayed to viewers via external VLC acting as a tcp "tee" -
i.e. raw mp2 transport stream over http/tcp (very much a "yea, it
works, not a specification" way to simply toss raw mp2ts bitstream
over the internets)

This results in a 1440x1088 (non-square pixels, 16:9 display aspect
ratio, however) video stream at 30 progressive frames/sec, usually
with ~64kbits allocated to mpeg4 AAC monaural audio, 48 khz sample
rate. Conference talking-head video fits well into a h.264 stream in
this case due to the use of a "long Group of Pictures" in the VLC/h264
encoder configuration. We typically set the GOP anywhere from 90 to
100 frames, meaning that we can allocate lots more bits to the
Keyframe (making it 'less blocky), then using the remaining bits of
the GOP to signal predicted (ie. delta) frames.

This is perhaps the most tricky of the four encoder rigs to "get
right" given the degrees of freedom that VLC provides for h.264
encoding. However, feedback has been positive even with it's limited
appearance (and lack of slide input, Q/A mic coverage, etc).

HTH,

-Tk

Thanks to everyone for commenting on this issue.

It's shed light on what it would take to put on a bitchin' live show. For now we are going to do our best with what we have, run the pilot and take it from there.

If people are interested about watching the live event watch this space: http://www.uuasc.org/oc.html

Thanks again!

-Israel