Technical Report:Turning Video Traces into Packet
               Traces for Network Simulation

            John McAlarney...
content over the Internet. By examining the captured
packets we were able to determine the network protocol
encapsulation ...
network resources since the retransmitted packet arrival         • protocol encapsulation method “-e” (TCP, RTP,
time is n...
Adobe Flash Media Server
Protocol:                                                  RTMP/TCP/IP (Default)
Extract Trace Data
                     Video trace
                     file            File Read

We have presented our observations from an extensive
study of the network protocol encapsulation used for
Upcoming SlideShare
Loading in …5

Technical Report:Turning Video Traces into Packet Traces for ...


Published on

  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Technical Report:Turning Video Traces into Packet Traces for ...

  1. 1. Technical Report:Turning Video Traces into Packet Traces for Network Simulation John McAlarney Rami Haddad Michael P. McGarry Department of Electrical and Department of Electrical and Department of Electrical and Computer Engineering Computer Engineering Computer Engineering University of Akron University of Akron University of Akron Akron, OH 44325 Akron, OH 44325 Akron, OH 44325 ABSTRACT of video frames associated with some video content. To The simulation of video traffic sources is becoming im- simulate video content delivery over a packet switched portant as a result of the proliferation of IPTV services. network, it is necessary to model how the video frames Without a standard model for video traffic sources, video are packetized and encapsulated in network protocols for traces must be used for network simulation. Our re- transmission. search seeks to facilitate the use of video traces in net- work simulation. Specifically, we present our findings We have conducted a study to understand how video of the protocol encapsulations used by a large num- content is encapsulated in network protocols for deliv- ber of websites on the Internet for delivering both pre- ery over the Internet. This study was facilitated by the recorded and live video content. Surprisingly, we found use of the Wireshark [11] packet capturing utility. In very few sources that use the Real-time Transport Proto- this article, we present the results of our study of video col (RTP). Even more surprisingly many of the real-time content protocol encapsulation over the Internet and de- video sources we found used the Hypertext Transport scribe a set of tools for OMNeT++ we developed to fa- Protocol (HTTP). We have developed a software tool cilitate the simulation of packet video traffic sources. We that converts video trace files into packet trace files for have made all developed tools available to the public. To the several different protocol encapsulations we found in our knowledge, we are the first to develop video traffic use at various websites on the Internet. Further, we have generation simulation models that account for network developed an OMNeT++ model packetized video traffic protocol overhead. The authors in [6] proposed three dif- generator that utilizes these video packet traces. We are ferent video traffic generators using (NS II, OMNeT++, sharing these tools with the networking research com- Ptolemy II). These video traffic generator models, how- munity to help facilitate research activity on protocols ever, did not take into account the network protocol en- for packetized video traffic management. capsulation. Modeling the network protocol encapsula- tion overhead is important for throughput calculations. 1. INTRODUCTION This article is organized as follows. Section 2 describes The simulation of packet video traffic sources is becom- our experimental setup. Section 3 summarizes our ob- ing increasingly important for packet network perfor- servations of network protocol encapsulation for video mance analysis. This increasing importance is a result content delivery. Section 4 describes the tools that we of the proliferation of video content distribution over developed using our observations to facilitate accurate packet networks (e.g., web video content, IPTV net- simulation of packet video traffic sources. Further, we works). According to [8], from 2000 to 2005, the amount provide instructions on how to find these tools on our of available video content on the Internet increased by website and how to use them. Finally, in Section 5 we over 600%. As a result of the content dependence of conclude the article with a discussion of possibilities for video bandwidth, there is no general model to charac- extending our study. terize packet video traffic. As a result, video traces [5] must be utilized to facilitate the simulation of packet video traffic sources. Video traces are text files that 2. EXPERIMENTAL SETUP contain information about the playback time and size Internet video content sources were found by using the Google search engine with the following search strings: “video streaming sites”, “live video streaming”, and “on- line video”. Sources that contained adult content were excluded from the results. In addition, sources were nar- rowed down to a per-site selection rather than per-video, excluding multiple videos from the same site, with the same encapsulation type, from this study. We used the Wireshark [11] packet capturing utility to capture the packets received from several sources of video
  2. 2. content over the Internet. By examining the captured packets we were able to determine the network protocol encapsulation used. The video content was retrieved through various meth- ods: • Using a web browser to visit live and pre-recorded streaming sites. Pre-recorded content Encapsulation ChannelOne (Flash) HTTP/TCP/IP • Using video player applications such as Real Player, Edutopia Video Library (Flash) HTTP/TCP/IP Windows Media Player, and Apple’s Quicktime Teacher Tube (Flash) Berkeley webcast (Flash) HTTP/TCP/IP TCP/IP Player. C-Span (Flash) TCP/IP CBS Video (Flash) TCP/IP Center For Social Media (Flash) TCP/IP • Using multimedia chat applications such as Yahoo CNN Video (Flash) TCP/IP CollegeHumor (Flash) TCP/IP Messenger, and Skype. Discovery Channel (Flash) TCP/IP Disney Online (Flash) TCP/IP Dog Training Videos (Flash) TCP/IP EASE History (Flash) TCP/IP eHow videos (Flash) TCP/IP Table 1 summarizes the network protocol encapsulation ESPN Video (Flash) TCP/IP methods used by the different sources of pre-recorded Fox News (Flash) Folkstreams (Flash) TCP/IP TCP/IP and live video content. Google Video (Flash) TCP/IP History Channel Video Guide (Flash) TCP/IP Howcast (Flash) TCP/IP Hulu (Flash) TCP/IP 3. OBSERVATIONS Internet Archive (Flash) Jumpcut Video (Flash) TCP/IP TCP/IP Delivering video content over the Internet is mainly han- MSN Video (Flash) TCP/IP National Geographic Video (Flash) TCP/IP dled by two techniques: progressive download or real- Nature Online Streaming Archive (Flash) TCP/IP time streaming. Progressive download delivers multi- NBC Digital Health Network (Flash) NBC Video (Flash) TCP/IP TCP/IP media through regular web servers by downloading the Steven Spielberg Film Archive(Flash) TCP/IP Teachers TV (Flash) TCP/IP entire multimedia content to the destination’s local stor- TV Guide Video (Flash) TCP/IP University of Michigan Business School (Flash) TCP/IP age media. This technique is certainly not real-time, to Veoh (Flash) TCP/IP get real-time playback, real-time streaming techniques Yahoo! Video (Flash) YouTube (Flash) TCP/IP TCP/IP should be used. Real-time multimedia streaming is man- NBC Olympics (Silverlight) TCP/IP Net'ix (Silverlight) TCP/IP aged through streaming servers. A variety of streaming (Silverlight) TCP/IP University of Michigan Business School (Silverlight) HTTP/TCP/IP servers exists; they mainly differ in the type of com- Wisconsin Public Television (Real Player) RDT/UDP/IP pressed multimedia streamed and also in the mechanism The Archaeology Channel (Real Player) Berkeley webcast (Real Player) UDP/IP UDP/IP they use to stream it. Apple Movie Trailers (Quicktime) HTTP/TCP/IP BYU School Of Education (Quicktime) HTTP/TCP/IP News of the Civil Rights Era (Quicktime) HTTP/TCP/IP Howard Hughes Medical Institute (Quicktime) TCP/IP The Application and the Transport layer protocols are PBS Video (Quicktime) HTTP/TCP/IP responsible for streaming multimedia over the Internet. PBS The Elegant Universe Video (Quicktime) The Archaeology Channel (Windows Media) TCP/IP HTTP/TCP/IP The server has the responsibility of managing the con- AICPA (Windows Media) TCP/IP Howard Hughes Medical Institute (Windows Media) TCP/IP nection; conversely, some other factors may also influ- PBS Video (Windows Media) TCP/IP Full Episode Player (Custom) TCP/IP ence the usage of certain protocols or even ports in the Live Video Content Encapsulation streaming process. Such factors include client network EarthTV Live (Flash) TCP/IP Stickam (Flash) TCP/IP configurations, firewalls, security measures, or even cer- (Flash) TCP/IP tain playback software. The effect of these factors was Live (Flash) continued on next page UDP/IP noticed in the experiment. In the case of streaming continued LiveVideo (Flash) TCP/IP QuickTime over a Linux Machine; which used an open- C-SPAN Live (Real Player) RDT/UDP/IP source playback software; the streamed packets utilized CamStreams (Windows Media) HTTP/TCP/IP C-SPAN Live (Windows Media) TCP/IP different protocols compared to what was received when TRT.canli (Microsoft Silverlight)HTTP/TCP/IP Cisco Webex HTTP/TCP/IP using a Windows-based Machine with QuickTime play- RTP/UDP/IP TCP/IP back software. Yahoo Messenger TCP/IP Skype UDP/IP Most of the default streaming protocols used in stream- ing servers operate on top of the User Datagram Pro- Table 1: List of network protocol encapsulation tocol (UDP), even Flash Media Server developed a new used for online video content. streaming protocol utilizing UDP (RTMFP) [4]. Unlike TCP, UDP is considered a fast protocol since it doesn’t use retransmission or data rate management function- ality. [9] Besides this, due to back-off mechanisms in the TCP, the UDP traffic gets higher priority than TCP traffic over the Internet. Even though TCP tries to max- imize transmission rates, reduce packet loss rate and en- sure the reliable packet transfer by applying blind re- transmission schemes, in most cases it is wasteful to the
  3. 3. network resources since the retransmitted packet arrival • protocol encapsulation method “-e” (TCP, RTP, time is not guaranteed to be in time with playback time UDP, or HTTP) at the client side. • ethernet encapsulation “-enet” (ON or OFF) Ironically enough, TCP is still used in streaming mul- timedia due to the fact that most networks have fire- walls that are configured to be less restrictive to TCP Optional command line arguments: ports and very restrictive to UDP ports which makes utilizing the default streaming protocols a harder task [1]. When this is encountered, a protocol roll-over pro- • “-g” process all video trace files in the current di- cess takes place by switching to TCP instead of a UDP rectory based streaming. Often this protocol roll-over doesn’t get through either, leaving the server with no other op- • “-gp” specifies the path directory to process text tion except for tunneling the multimedia streams through files from If it is not used, the current directory is HTTP, which also operates over TCP [9]. accessed for processing. Another interesting case, due to security measures, some • “-n” enumerates the Video frame type from a char- streaming servers get a huge traffic opening a large num- acter to a number. I as 1, P as 2, and Pb or B as ber of UDP ports, they tend to try to shutdown some 3 of them and roll the traffic over to other ports, which will degrade the performance [1]. For example, Flash Media Server streams using the proprietary RTMP pro- In this usage, -t is the specified trace file format and - tocol over TCP through port 1935 as the default. If it e is the encapsulation method. Available trace formats fails streaming using the default, then it tries to stream adhere to trace files found at the ASU Video Traces Re- using RTMPS, which is basically RTMP over SSL, or it search Group [6]. If no trace format is specified, the tunnels the RTMP over HTTP through port 80 when the tool will attempt to determine trace files Encapsulation network or the firewall won’t allow RTMP and RTMPS method arguments available are TCP, RTP, and HTTP. to go through[7]. Sometimes this happens due to the Acceptable arguments for filenames are files with the ex- software playback limitation. Similarly, other servers tensions ‘.txt,’ ‘.dat,’ and ‘.data.’ use different protocols and different mechanisms which are illustrated in Table 2 [7, 2, 1, 3]. for example: ‘python file1.txt file2.txt’ this will process the two specified trace files. 4. NETWORK SIMULATION TOOLS Using the observations from our video traffic protocol To process an entire directory: ‘python encapsulation study we have designed tools to use video -g’ the -g switch will process all .txt files in the current trace data [10] in OMNeT++ network simulations. Fig- directory. ure 4 illustrates how we convert video trace files to packet trace files and then use these to generate packets in If you use -g followed by individual filenames, it will an OMNeT++ network simulation. All of the tools ignore the extra file names unless the -a switch is also described can be found at used. The valid syntax in this case is: ‘python -g -a file1.txt file2.txt’ 4.1 Video Traces to Packet Traces 4.2 Packet Traces to OMNeT++ Packets The packet video protocol encapsulator tool converts We have created an OMNeT++ module called Video- video traces into packet traces. The size and timestamp TrafficGen that reads packet information from a video of each video frame are read from the video trace file. packet trace file. The trace file is specified via the “trace- Each video frame is fragmented using a certain Maxi- File” module parameter. The VideoTrafficGen module mum Transmission Unit (MTU) size and protocol over- has an activity() function that reads the packet trace head. The protocol overhead is selected from several file packet by packet (i.e., line by line). For each packet supported encapsulation methods. We supported the in the packet trace file, a cMessage object is created most common encapsulation methods of TCP, HTTP, and the timestamp (via setTimestamp()), length (via RTP, and UDP. The fragmented packets along with as- setLength()), and kind (via setKind()) are set according sociated timestamps are written to a packet trace file. to the data from the packet trace file. The kind field is used to indicate the video frame type the packet contains Usage: ‘python -t=format -e=method - data for. We use 1 for an I frame, 2 for a P frame, and enet=ON/OFF [optional command line arguments] file- 3 for a B frame. The cMessage objects model packets in names’ the OMNeT++ simulation and can be passed to other connected Modules using the send() function to simulate Mandatory command line arguments: packet transmission. The appropriate amount of simula- tion time will be expired between packets with different • trace file format “-t” ( mp4new, mp4fgs, mp4, h263, timestamps. The packet timestamps are the timestamps h261 ) [6] from the video frame the packet contains data from.
  4. 4. Adobe Flash Media Server Protocol: RTMP/TCP/IP (Default) RTMPS/TCP/IP (if RTMP Fails) RTMPT/TCP/IP (if RTMPS Fails) RTMFP/UDP/IP (New Protocol-Flash 10) Codec: FLV,H.264,MPEG-4,m4v,f4v,3GPP QuickTime Streaming Server Protocol: RTSP/TCP/IP (Control) RTP/UDP/IP (Data) RTP+RTSP/HTTP/TCP/IP (Protocol Roll-over) Codec: H.264,QuickTime,MPEG-4,3GPP Windows Media Server Protocol: MS-RTSP/UDP (Default) MS-RTSP/TCP (Protocol Roll-over) MMS/UDP/IP (Protocol Roll-over) MMS/TCP/IP (Protocol Roll-over) MS-HTTP(MS-WMSP or MMSH)/TCP/IP (Protocol Roll-over) Codec: Windows Media HELIX Server(Real) Protocol: RTSP/RTP/UDP/IP (Quicktime+Other Appl.) RTSP/RDT/UDP/IP (Real Appl.) RTSP/RTP/TCP/IP (Protocol Roll-over) RTSP/RDT/TCP/IP (Protocol Roll-over) MMS/UDP/IP (Windows Media Appl.) MMS/TCP/IP (Protocol Roll-over) HTTP/TCP/IP (Protocol Roll-over) Codec: RealVideo(.rm, .rmvb),Windows Media QuickTime,MPEG-4,3GPP,H.263 and H.264 VLS(VideoLAN Server) Protocol: RTSP/TCP/IP (Control) RTP/UDP/IP (Data) HTTP/TCP/IP (Protocol Roll-over) MS-HTTP(MS-WMSP or MMSH)/TCP/IP (Protocol Roll-over) Codec: MPEG-1,MPEG-2,MPEG-4,DivX,ogg Darwin Streaming Server Protocol: RTSP/TCP/IP (Control) RTP/UDP/IP (Data) RTP+RTSP/HTTP/TCP/IP (Protocol Roll-over) Codec: QuickTime,MPEG-4,3GPP Windows Media,H.264 Table 2: List of streaming media servers and the network protocols used for transport as well as video formats supported. Python OMNeT++ OMNeT++ Simulation cMessage Video Trace File Packet Trace File class objects Video Protocol (Packets containing (Video Frames) OMNeT++ Video Encapsulator video frame data.) Traffic Generator Figure 1: From video trace file data to simulation models of packets.
  5. 5. Extract Trace Data Video trace file File Read File parser List of video frames Fragmentation/Encapsulation MSS Size Fragmentation Packet Header Overhead Encapsulated Packets File Write Packet trace file Figure 2: Flow chart for tool that turns video trace files into packet trace files.
  6. 6. 5. CONCLUSION We have presented our observations from an extensive study of the network protocol encapsulation used for delivering video content over the Internet. These ob- servations are useful for modeling the delivery of video traffic in a packet network. Further, it allows for accu- rate calculation of network protocol overhead. We have also described a set of tools that we have devel- oped for the popular OMNeT++ discrete event simula- tion library. These tools use video trace files to facilitate the implementation of a packet video traffic source model in OMNeT++. We provide these tools to the research community via our website at Extending our study to IPTV networks such as AT&T’s U-verse would be beneficial to allow accurate modeling of broadcast and on demand video delivered over these private packet networks. Since these IPTV networks are private networks, coordination with the service provider would be required to obtain the necessary data for our study. 6. REFERENCES [1] Mac os x server quicktime streaming and broadcasting administration for version 10.5 leopard. Technical report, Apple Inc., 2007. [2] [ms-mmsp]: Microsoft media server (mms) protocol specification. Technical report, Microsoft Corporation, April 6, 2009. [3] Helix universal server administration guide helixtm universal server version 9.0. Technical report, RealNetworks, Inc., Nov. 8, 2002. [4] Real time media flow protocol. [5] F. H. Fitzek and M. Reisslein. Mpeg-4 and h.263 video traces for network performance evaluation. Network, IEEE, 15(6), December 2001. [6] F. H. Fitzek, P. Seeling, and M. Reisslein. Using network simulators with video traces. Technical report, Arizona State University, 2003. [7] L. Larson-Kelley. Adobe flash media server 3.5. White Paper, Nov., 2008. [8] M. Li, M. Claypook, R. Kinicki, and J. Nichols. Characteristics of streaming media stored on the web. ACM Transactions on Internet Technology, 5(4):601–626, November 2005. [9] Windows media server. gb/library/default.aspx. [10] Arizona state university video trace library. [11] Wireshark foundation.