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 Multicast Support 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 Traffic monitoring Show screen of participants Traffic monitoring total number of bytes received packets lost packets misordered represent a bandwidth using graph Chat with participants by multicast protocol
Software Design
Software Components Encoding Manager Decoding Manager Network Manager MPEG4 Video Software Encoder MP3 Audio MPEG4 Video Software Decoder MP3 Audio A/V MUX RTP over UDP/IPv6 Network Manager A/V DEMUX The Encoding Manager This part is to process the multimedia data acquired from a video camera and a microphone … transmitted to A/V MUX (Audio and Video Multiplexer). A/V MUX makes video stream and audio stream into one stream and sends it to network manager. The Network Manager This part takes charge of role that sends to or receives from destination multimedia data that receive through A/V MUX using RTP and RTCP protocol The Decoding Manager This part is to process multimedia data received through network. A/V DEMUX (Audio and Video De-multiplexer) separates stream received from network manager into video stream and audio stream
Software Components Encoding Manager Network Manager Decoding Manager Make an one stream with video data, which be encoded using MPEG4 codec and audio data, which be encoded using MP3 codec. Network Manager Add RTP header with stream and send it as udp packet to multicast 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 using Render filter
Software Architecture User Interface DirectShow Filter (Capture) DirectShow Filter (Display1) DirectShow Filter (Display2) DirectShow Filter (Display3) RTP/RTCP & Buffer SocketThread (for send data) SocketThread2 (for receive data) Control Message Data Stream
Implementation Details Multimedia Data Transfer
Sender Component Capture Driver MPEG4 Encoder Video Tee MPEG4 Decoder Video Renderer Sound Driver MP3 Encoder Audio Tee MP3 Decoder Sound Driver Audio/Video MUX Video Stream RTP/RTCP Audio Stream A/V Muxed Stream UDP/IPv6 IPv6 Multicast Network
Receiver Component Video Source MPEG4 Decoder Video Renderer Audio Source MP3 Decoder Sound Driver Audio/Video MUX Video Stream RTP/RTCP Audio Stream A/V Muxed Stream UDP/IPv6 IPv6 Multicast Network
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 SendRtpCtrl SendRtpData OnRecvRtp UpdateRtp MySSRC … Create Session Rtp socket Rtcp socket InitRtp SetRtpSdes Participant db Create db SendRtpCtrl SendRtpData APAN-SNU 138-317 Multicast data/ctrl KOREN SEOUL AP IPv6 Host IPv6 Router OnRecvRtp UpdateRtp SendRtpBye done
Join Session & Start Talk Participant 1 ff0e::1:2:3 / 5002 Participant 2 Join Session RTCP (RR,SDES) RTCP Interval of Participant1 RTCP (RR,SDES) RTCP (RR,SDES) Start Send Data RTP (MPEG, MP3 payload) RTCP (SR,SDES) Start Playing / Participant 1 := Active Source RTP (MPEG, MP3 payload)
Experimental result & Future work
Experiment environment ATM S/W ETRI ATM S/W Daejeon AP ATM S/W Seoul AP ATM S/W SNU AP ATM 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 Audio by MP3 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, 10fps RGB24 format HVCT MPEG4, 15fps I420 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 ?