Streaming Video with MultiPath TCP in Wireless Networks

DOI : 10.17577/IJERTV5IS040255

Download Full-Text PDF Cite this Publication

Text Only Version

Streaming Video with MultiPath TCP in Wireless Networks

  1. Sophia Priyadarshini Embedded Systems Karunya University Coimbatore, India

    Abstract Video streaming over internet is most common nowadays for which TCP is one of the key internet protocol. It is restricted to the single path per connection and because of its large fluctuation caused by congestion control, it is not suitable for multimedia transmission. The paper proposes an idea of transmitting video over multiple paths in parallel. It is capable of balancing a single TCP connection across multiple interfaces. As there is a chance of video being transmitted with the reduced quality, the implementation of Multipath TCP in Linux kernel for streaming video in a wireless network without losing the original quality is discussed. The work also is mainly focused on implementation in hardware and the challenges faced in designing MPTCP is discussed.

    KeywordsMultipath TCP, multimedia transmission, wireless networks, Raspberry pi, streaming video.


      Internet servers today mostly are multi-homed to more than one internet providers like datacenters providing multiple parallel paths and mobile hosts having multiple radios. Considering the limits to responsiveness and scaling, transport protocols are engineered to utilize multiple paths to gain robustness and performance advantages.TCP binds each connection to single interface and therefore multipath has received a lot of attention by IETF for the development of transferring data in multiple paths simultaneously. Multipath TCP is useful in the wireless context particularly. In typical use case using both Wi-Fi and mobile networks. The success of all Internet protocols depends not only on protocol specifications but also on reference implementation which is used by real applications.

      TCP connections existing must be torn down and the connections are restarted when it switches from one network another such as switching from Ethernet to Wi-Fi as TCP connections cannot move from one IP address to another address. Hence Multipath is proposed as a solution to this problem and is designed to satisfy the following goals:

      1. For a single connection, it should be capable of using multiple network paths.

      2. It must be capable of using available network paths.

      3. For existing applications, it must be as usable as regular TCP.

      4. The connectivity on a path where regular TCP works must not be prevented while enabling MPTCP.

      In this paper, the challenges in streaming video over the wireless network using Multipath TCP is explained. The paper is organized as follows. The similar works are reviewed in section II. In section III, the methodology of implementing

      Dr. A Shobha Rekh


      School of Electrical Sciences Karunya University Coimbatore, India

      MPTCP for video transmission is briefly explained. In section IV, the details about the hardware implementation are discussed and in section V, results and challenges in implementing MPTCP is presented and finally concluded in section VI.


      Several techniques have been proposed to enable efficient multimedia streaming

      Tan and A. Zakhor et al.[2] [3] proposed the source coding techniques such as scalable video for enabling the server to easily adapt the video bit rate to current bandwidth, error resilient coding and multiple description techniques as well.

      Z.Wang et. al [7] and [8] proposed various differentiated and integrated services to improve the quality of multimedia application depending on bandwidth, loss and delay requirements. In [9] and [10], path diversity architectures have been proposed to provide bandwidth larger and to efficiently combat against packet loss but these approaches require significant changes in the infrastructures of the network.

      Lam P.P, Liew S.C et. al [11] proposed the ability to control the sending rate for interactive and live streaming and majority multimedia streaming uses UDP as basic building block for sending packet over internet but it has the disadvantage as there is a lack of reliability transmission.

      The need for error recovery at the application-level is eliminated by using TCP. Much of the TCP modeling literature is expensive. The studies Chan A.C.F, Tsang, Gupta

      [12] demonstrates that the TCP provides the guaranteed delivery of the packets and the data are delivered in the order they are sent. The studies use one TCP path in a single but we use multiple paths in a single connection.

      The studies by Xuan-Thuan Nguyen [14] describe the Real- time protocol which provides end-to-end network transport for real-time data transmitting applications such as audio and video over multicast or unicast services while the MPTCP is more efficiently used in transmitting over multiple paths simultaneously.


      The video streaming over wireless networks using Multipath TCP mainly works on two layers where application layer is for video input and video display and transport layer is for transmitting video in multiple paths. Figure1 shows the block diagram of the video transmission over Multipath networks.

      Fig.1. Block diagram of the video transmission over MultiPath network

      1. Application layer

        1. Video input

          The input video is live streamed through the camera. The compressed form of video is preferred for transmission over wireless networks. The video input is either through a USB webcam or raspi cam.


        2. Video decode and display

          The transmitted video is decoded before being displayed. The output video is expected to be displayed without losing the original quality.

      2. Transport layer

        1. MultiPath TCP

          MultiPath TCP is a set of extensions to regular TCP to provide a MPTCP service which enables a transport connection to simultaneously operate across multiple paths. The existence of multiple paths is indicated by the presence of multiple addresses at a host. MPTCP operates at the transport layer. It acts as a layer between socket interface and one or more TCP subflows and these subflows are used to carry actual data. MPTCP allows increasing the download speed by aggregating the bandwidth of each interface. Congestion path could be avoided since it carries data in parallel. Figure 2 shows the protocol stack for MPTCP.

          Fig.2. Protocol stack of the MPTCP

          MPTCP enables the host to use different IP address to send packets over network on the sender side and the same is received in the receiver side. The transmission is possible using Multipath only if both sender and receiver side supports MPTCP. In this, the video is split before being transmitted using parallel paths.

        2. Video decode and display

          The split videos are sent over different IP addresses over parallel network paths in the sender side. In the receiver side the data received from different IP addresses is merged and sent to display. The advantage of the parallel network path is to prevent interruption when there is a switching from one network to another network.


      The video streaming over wireless networks using Multipath TCP is implemented in Raspberry pi. In this Firstly, the video streaming over Wi-Fi is implemented and then the implementation of MPTCP protocol in Linux kernel is discussed.

          1. Streaming video over WiFi

            The Raspberry pi is low-cost, single-board computer equipped with microcontroller chips and i/o connectors including more flexibiliies that attracted media coverages because of its uniqueness. It is most widely preferable image and video processing applications. It is booted with an updated OS and using necessary commands the required task is done. Figure 3 shows the block of the implementation of video streaming through WiFi connection.

            Fig.3. Implementation of streaming video over Wi-Fi

            The video is inputted through the Raspicam using the command written in LX terminal. This implementation is the video streaming over MJPG streamer. The Raspicam is interfaced to the Raspberry pi in the provided camera connector interface. Then the installation necessary for video streaming is done. The video input is sent to the web port using Wi-Fi and the video streaming is viewed on the website using pis IP address followed by streaming port. The result is showed in section V

          2. MultiPath Transport control Protocol implementation

      As already explained MPTCP is a set of extensions to regular TCP which allows data to be sent over multiple paths simultaneously without getting interrupted. MPTCP operation is explained by the following steps:

      1. Establishes the connection using MP_CAPABLE

      2. Add subflows using MP_JOIN.

      3. Informing another host about potential address

      4. Data Transfer Using MPTCP

      5. Closing an MPTCP Connection

        The following are the terminologies used in Multipath TCP:

        • Path: a sequence of link between sender and receiver.

        • Subflow: a flow of TCP segments operating over individual path which forms a part of large MPTCP connections.

        • MPTCP (connection): One or more subflows over which an application can communicate between two hosts.

        • Data-level: Data is transferred over connections nominally which in turn is transported over subflows.

        • Token: a unique identifier given to multipath connection by host which is also referred as connection ID.

        • Host: an end host operating MPTCP implementation and other initiating or accepting a connection.

        This can be done using Linux kernel and python to get implemented in raspberry pi.


      The following are the results obtained by implementing in Raspberry pi.

      Fig.4 video streaming using Raspberry pi

      Fig.5 Streaming using MJPG streamer

      Results for MPTCP connection

        1. Connection establishment

          Fig 6. Connection establishment

        2. Data Transfer

      Fig 7. Data Transfer

      Results of Wireless Video transmission using WiFi

      The below results shows that the raspberrypi is wirelessly configured using WiFi dongle along with the usb webcam. On running the python code from the remote laptop the live webcam feed is transmitted from the raspberrypi to the laptop over WiFi.

      Fig 8. Raspberrypi wirelessly connected using WiFi dongle along with USB webcam

      Fig 9. Transmitting video wirelessly in remote laptop


The video streaming over wireless networks using MJPG streamer and wireless video transmission over WiFi is implemented in Raspberry pi and then the Multipath protocol implementation is discussed. The results show that significant improvements can be achieved for an increase in the speed of video transmission using Multipath, possibly even larger improvements can be found in displaying the video without reducing the quality. The future work can be of making this as a product for efficient video transmission. So, there is still much additional work to be done, but the initial results are very promising, and warrant further investigation.


  1. MovieFlix,

  2. W.Tan and A.Zakhor Real time internet video using error resilient scalable compression and tcp friendly transport protocol, IEEE Transactions on multimedia vol. 1, pp. 172 186, June 1999.

  3. G. De Los Reyes, A. Reibman, S. Chang, and J. Chuang, Error-resilient transcoding for video over wireless channels, IEEE Transactions on Multimedia, vol. 18, pp. 10631074, June 2000.

  4. A. Reibman, Optimizing multiple description video coders in a packet loss environment, in Packet Video Workshop, April 2002.

  5. H. Ma and M. El Zarki, Broadcast/multicast mpeg-2 video over wireless channels using header redundancy fec strategies, in Proceedings of The International Society for Optical Engineering (SPIE), November 1998, vol. 3528, pp. 6980.

  6. S. Blake, D. Black, M. Carson, E. Davis, Z.Wang, and W. Weiss, An architecture for differentiated services, in RFC2475, December 1998.

  7. Z. Wang, Internet QoS, Architecture and Mechanism for Quality of Service, Morgan Kaufmann Publishers, 2001.

  8. P.White, Rsvp and integrated services in the in ternet: A tutorial, IEEE Communication Magazine, pp. 100106, May 1997.

  9. T. Nguyen and A. Zakhor, Multiple sender distributed video streaming, IEEE Transactions on Multimedia and Networking, vol. 6, no. 2, pp. 315326, April 2004.

  10. J. Apostolopoulos, Reliable video communication over lossy packet networks using multiple state encoding and path diversity, in Proceeding of The International Society for Optical Engineering (SPIE), January 2001, vol. 4310, pp 392 409.

  11. Lam P.P,Liew S.C. An improved UDP protocol for real-time multimedia applications over wireless links(2004),IEEE,vol.4 pp 130-152.

  12. Chan A.C.F, Tsang, Gupta. Transmission control protocol (TCP) over wireless links ,(2009)IEEE,vol.47.

  13. Information Sciences and Institute,, Network simulator.

  14. Xuan-Thuan Nguyen, Hong-Thu Nguyen. A Reliable Protocol For Multimedia Transmission Over Wireless Sensor Networks(2015),IEEE, vol.1, pp 123-140.

  15. Internet Engineering Task Force, RFC 1771, Stream Control Transmission Protocol, October 2000.

  16. P. Mehra and A. Zakhor, Receiver-driven band width sharing for tcp, in INFOCOM, San Francisco, April 2003.

  17. J. Crowcroft and P.Oeschlin, Differentiated end-to-end internet services using weighted proportional fair sharing tcp, 1998.

  18. M. Chen and A. Zakhor, Rate control for streaming over wireless, in INFOCOM, July 2004.

  19. S. Floyd, M. Handley, J. Padhye, and J. Widmer, Equation- based congestion control for unicast application, in Architectures and Protocols for Computer Communication, October 2000, pp. 4356.

  20. Y. Dong, R. Rohit, and Z. Zhang, A practical technique for supporting controlled quality assurance in video streaming across the internet, in Packet Video, 2002.

  21. J. Semke, J. Mahdavi, and M. Mathis, Automatic tcp buffer tuning, in SIGCOMM, 1998.

  22. Apostolopoulos, On multiple description streaming with content delivery networks, in InfoComm, June 2002, vol. 4310.

Leave a Reply