Video phone


Published on


Published in: Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Video phone

  1. 1. IPv6 Videophone with Windows Driver Model By Gopinath Rao Sinniah Asian Institute of Medicine, Science and Technology (AIMST)
  2. 2. <ul><li>Current Conferencing Tools </li></ul><ul><li>WDM </li></ul><ul><ul><li>Video capture </li></ul></ul><ul><ul><li>Audio capture </li></ul></ul><ul><li>QoS and Flow Label </li></ul><ul><li>IPv6 Address binding </li></ul><ul><li>Use of Flow Label in IPv6 </li></ul><ul><li>Types of Communication </li></ul><ul><li>Videophone using winsock2 </li></ul><ul><li>Videophone using multicast </li></ul><ul><li>The flow of packets using WDM and IPv6 </li></ul><ul><li>Videophone to mobile phone (3G/4G) </li></ul>
  3. 3. Current Tools <ul><li>Vic & Rat </li></ul><ul><li>HVIP6 (High-quality Video conferencing platform based on IPv6 multicast) </li></ul><ul><li>Gnome Meeting </li></ul>
  4. 4. Windows for Driver Model (WDM) <ul><li>Advantages of WDM Video Capture </li></ul><ul><ul><li>32 bit address </li></ul></ul><ul><ul><li>Synergy between DirectShow and CSA </li></ul></ul><ul><ul><li>Single class driver architecture </li></ul></ul><ul><ul><li>Television tuner, input selection and support for fields </li></ul></ul><ul><ul><li>One driver for all Windows OS </li></ul></ul>
  5. 5. Windows Driver Model (WDM) <ul><li>Video Capture </li></ul>
  6. 6. <ul><li>Audio Capture in WDM </li></ul><ul><ul><li>Audio processing is performed in kernel mode </li></ul></ul><ul><ul><li>Kernel streaming is built on top of WDM </li></ul></ul>
  7. 7. What is QoS <ul><li>A video phone application requires: </li></ul><ul><li>The cost is not prohibitive </li></ul><ul><li>There is a network path available to the other party </li></ul><ul><li>The user knows the IP address of the terminal the other user </li></ul><ul><li>The end terminals can reassemble the data packets into a sensible order </li></ul><ul><li>The end terminals understand how to handle errors in packets </li></ul><ul><li>The packets arrived at the minimum length of time </li></ul>
  8. 8. Use of Flow Label in IPv6 header <ul><li>Advantages of using flow label </li></ul><ul><ul><li>Decreases the average processing load of the network routers </li></ul></ul><ul><ul><li>Facilitates end-to-end IP level security mechanism </li></ul></ul><ul><ul><li>Reserving resources using flow label reduce problem caused by frequent route changes </li></ul></ul><ul><ul><li>Facilitate implementation of QoS based routing </li></ul></ul>
  9. 9. <ul><li>The use of 20-bit flow label for QoS </li></ul><ul><ul><li>Will ensure smooth transition on video and audio packets without degradation </li></ul></ul><ul><ul><li>Will ensure adequate latency level </li></ul></ul><ul><ul><li>Requires special handling by routers (a separate project) </li></ul></ul><ul><ul><li>Still in the implementation level </li></ul></ul>
  10. 10. IPv6 Address binding <ul><li>Most of the nodes will have more than 1 IPv6 address </li></ul><ul><ul><li>Link Local Address </li></ul></ul><ul><ul><li>Global Unicast Address </li></ul></ul><ul><li>Choice of source address based on destination address </li></ul><ul><li>Will integrate the use of “default address selection for IPv6” – RFC 3484 in future </li></ul>
  11. 11. Types of Communication <ul><ul><li>Initially the system developed using point to point (unicast) </li></ul></ul><ul><ul><li>Multicast transmission is still under development </li></ul></ul><ul><ul><ul><li>Multicast in a LAN is not a problem </li></ul></ul></ul><ul><ul><ul><li>Multicast in WAN - need to use appropriate multicast routing </li></ul></ul></ul>
  12. 12. How does IPv6 Videophone works? <ul><li>Videophone uses both TCPv6 and UDPv6 </li></ul><ul><ul><li>TCPv6 for exchanging information between 2 machines </li></ul></ul><ul><ul><li>UDPv6 for transmitting video and audio packets </li></ul></ul>
  13. 13. IPv6 Videophone using winsock2 <ul><li>Uses winsock2 architecture (RFC 2533) </li></ul><ul><li>WSASocket() is used as the predefined socket objects </li></ul><ul><li>Create socket </li></ul><ul><li>Optimization on WSASocket for receiving continuous audio/video packet </li></ul>m_hSocket=WSASocket (AF_INET6, SOCK_DGRAM, IPPROTO_UDP, NULL, 0,0); if (WSAAsyncSelect(m_hSocket, mesg_ptr->m_hWnd, WM_SOCKET_EVENT, IEvent) == SOCKET_ERROR)
  14. 14. IPv6 Videophone using multicast <ul><li>Send multicast packet by setting IPv6 multicast address in sendto () function </li></ul><ul><li>To receive multicast packet, the following is used after the creation of WSASocket </li></ul><ul><li>This sends ICMPv6 multicast Listener Discovery (MLD) to the multicast group </li></ul>sendto(m_sndSocket, buffer, sendsize, 0, (LPSOCKADDR) &m_sendtoadd, add_size) Multicast address : ff01:0:0:0:0:0:0:2 struct ipv6_mreq imr6; Imr6.ipv6mr_interface=0; Setsockopt(m_hSocket, IPPROTO_IPV6, IPV6_JOIN_GROUP, (char *) &imr6, sizeof(imr6));
  15. 15. Flow of Packet Capture of Video / Audio using WDM Compressed Video / Audio using WDM IPv6 Socket creation IPv6 Address Selection Link Local Address / Unicast Address Multicast address Marking of packets using IPv6 flow label (QoS) 3G / 4G Transition server IPv6 Network 3G / 4G network
  16. 16. The communication <ul><li>Node A request connection from node B (TCPv6) </li></ul><ul><li>Node A sends compressed data to node B (UDPv6) </li></ul><ul><li>Node B decompress and playback </li></ul>Web cam Web cam Accept/Deny Hub Connect IPv6 Node A IPv6 Node B
  17. 17. Capture Audio/Video using WDM Compressed Audio/Video using WDM Sender Receiver Send Flow label and traffic class will check the traffic and ensure it is sending to the proper address. Decompressed Audio/Video using WDM Playback Audio/Video using WDM Node A Node B
  18. 18. Future Extension – pc to mobile phone (3G/4G) in IPv6 mode Translation server IPv6 Videophone
  19. 19. Conclusion <ul><li>The system is not much different from other Video Conferencing tools </li></ul><ul><li>The use of IPv6 features are primary objective </li></ul><ul><ul><li>Flow label </li></ul></ul><ul><ul><li>Mobile communication </li></ul></ul><ul><li>System is being developed to support: </li></ul><ul><ul><li>QoS using flow label and traffic class </li></ul></ul><ul><ul><li>Session Initiation Protocol (SIP) </li></ul></ul><ul><ul><li>Mobile & wireless communication </li></ul></ul>
  20. 20. Thank You Gopinath Rao Sinniah [email_address]