Design and implementation of IPv6 multicast based High-quality Videoconference Tool (HVCT) 2003. 8. 28 Tae-wan You, Seoul National University, Korea
Design and implementation of IPv6 multicast based
High-quality Videoconference Tool (HVCT)
2003. 8. 28
Tae-wan You, Seoul National University, Korea
Outline
• HVCT and Features• Software design • Implementation Details• Experimental result• Future work
HVCT & Feature
HVCT
• a High-quality Video Conferencing Tool • Works on Windows 2000, SP 1 with
IPv6 stack• Microsoft DirectX 8.0 or Higher• Video data be en/decoded using
MPEG-4 Codec – Video : 320x240 pixels, 15fps
• Audio data be en/decoded using MP3 Codec– Audio : 44kHz, 16bit, 2 channel
Feature (1/2)
• IPv6 capability– Working on MSR and MSDN IPv6 stack
• Multicast– Efficient use of network resources via
multicast
• Support– High-quality multimedia data using MPEG4
codec and MP3 codec– Show a statistics that be measured traffic– Can chat using multicast
Feature (2/2)
• Main dialog of HVCT– Show screen ofparticipants
• Traffic monitoring– total number of bytes received– packets lost– packets misordered– represent a bandwidth using graph
• Chat with participants by multicast protocol
Software Design
Decoding ManagerEncoding Manager
Software Components
MPEG4 Video Software Encoder
MP3 Audio Software Encoder
A/VMUX
A/VDEMUX
MPEG4 Video Software Decoder
MP3 Audio Software Decoder
RTP overUDP/IPv6
Network Manager
Software Components
• Encoding Manager– Make an one stream with video data, which be encoded using MPE
G4 codec and audio data, which be encoded using MP3 codec.
• Network Manager– Add RTP header with stream and send it as udp packet to multica
st address for IPv6– After receive a packet, remove RTP header and pass data to DM
(Decoding Manager)
• Decoding Manager– decode the each of the stream and play both audio and video usin
g Render filter
Software ArchitectureUser Interface
RTP/RTCP & Buffer
DirectShow
Filter(Capture)
DirectShowFilter
(Display1)
DirectShow
Filter(Display2)
DirectShow
Filter(Display3)
SocketThread(for send data)
SocketThread2(for receive data)
Control Message
Data Stream
Implementation Details
Multimedia Data Transfer
Sender ComponentCaptur
e Driver
Sound Driver
MPEG4 Encode
r
MP3 Encode
r
Video Tee
Audio Tee
MPEG4 Decode
r
MP3 Decode
r
Video Render
er
Sound Driver
Audio/VideoMUX
RTP/RTCP
UDP/IPv6
IPv6 Multicast NetworkIPv6 Multicast Network
Video Stream
Audio Stream
A/V Muxed Stream
Receiver ComponentVideo Source
Audio Source
MPEG4 Decode
r
MP3 Decode
r
Video Render
er
Sound Driver
Audio/VideoMUX
RTP/RTCP
UDP/IPv6
IPv6 Multicast NetworkIPv6 Multicast Network
Video Stream
Audio Stream
A/V Muxed Stream
Implementation Details
RTP/RTCP Data Transfer
RTP, RTCP Library
• The library be implemented on the basis of RFC 1889– Define data type by structure in C++– RTP, RTCP, RR, SR, SDES etc.– Made functions that can achieve
accomplishments that is supported by RTP, RTCP using defined data types
InitRtp
SetRtpSdes
SendRtpBye
done
SendRtpCtrl
SendRtpData
OnRecvRtp
UpdateRtp…
…
Create Session
Participantdb
Create db
Rtp socket Rtcp socket
MySSRC
APAN-SNU138-317
Multicast data/ctrl
KORENSEOUL AP
IPv6 Host
IPv6 Router
Join Session & Start Talk
Join Session RTCP (RR,SDES) RTCP
(RR,SDES)
Start Send Data
RTP (MPEG, MP3 payload)Start Playing / Participant 1 := Active Source
RTCP (SR,SDES)
RTCP Interval of
Participant1
RTCP
(RR,SDES)
Participant 1 ff0e::1:2:3 / 5002Participant 2
RTP (MPEG, MP3 payload)
Experimental result & Future work
Experiment environment
ATM S/WETRI
ATM S/W
Daejeon AP
ATM S/W
Seoul APATM S/W
SNU APATM S/W
PC Router 1
PC Router 2
Host 1 Host 2
Subnet A (ETRI) Subnet B (SNU)
Result – bandwidth
• Video by MPEG-4 Codec– Input data : 15 frame per second, I420
format– Output data : 350 ~ 400Kbps
• Audio by MP3 Codec– sample 16bit, two stereo, sampling rate
44.1kHz• 16 * 141000 * 2 =~ 1.3 Mbps
– Output data : 56 kbps
Bandwidth compare with vic
• UCL’s vic– H.261, 10fpsRGB24 format
• HVCT– MPEG4, 15fpsI420 format
Result – delay (1/2)
• Video Delay
Result – delay (2/2)
• Audio Delay
Future Work
• Reduce end-to-end delay• Experiments with other conferencing tool
– VIC from UCL, ISABEL from Agora Systems etc. – Performance Test
• You can get more information from http://mmlab.snu.ac.kr/~hvic
Thank You !! &
Any Questions ?