SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
EE4414 Multimedia Communication Systems II
Experiment III
Video Streaming Over Internet
Yao Wang and Xiaofeng Xu

1. Introduction
In this lab, you will experiment with video streaming over the Internet. The lab consists
of two parts. In the first part, you will be streaming video from a server running the Helix
universal server. You will use RealOne player© to stream and play the video, and
observe the video quality under different network conditions. In the second part, you are
given a video streaming server and client application program that implements the basic
Real-Time Streaming Protocol (RTSP) operations. You will use these programs to see the
request and response between the client and servers when using the RTSP protocol. This
will give you some insights as to the underlying operations that are hidden with the
commercial server and player applications.

2. Experiment
Because the video server in Part I can only serve a limited client requests, we require that
half of the students do Part II of the experiment first, while the other half work on Part I.
This will be coordinated by the Teaching Assistant at the lab.
Part I --- Video Streaming Using RealServer and RealOne Player
For this part, you will use RealOne Player to stream videos from a streaming server
running the Helix Server, both from RealNetworks, Inc. The server and player implement
the RTSP protocol for video streaming applications. The player can decode standard
MPEG video formats (including MPEG1 and MPEG2) as well as several proprietary
format video, including “.rm” format from RealNetwork, Inc.
In this part of the experiment, you will request video from the server, and observe the
quality of the played video as well as the underlying network traffic condition by using
the “PlaybackStatistics” tool available in the RealOne Player. You are asked to stream a
low bit rate video and a high rate video, with and without interfering traffic, and to
compare the bandwidth usage and packet loss statistics under different conditions.
The server program sits on a computer with IP 128.238.139.1 and has several videos that
are available for downloading. For this experiment, we have downloaded a free, trial
version of the server program (the basic version of the Helix Universal Server), which
allows up to 1 mbps aggregate outgoing traffic. If you get a busy signal from the server, it
means too many other students are trying to access the same server, and you should wait
and send your request again sometimes later.
(1) Open RealOne player from Window’s start menu bar. On your RealOne player,
choose the option “Play-->continuous playback” so that a video is played back-toback in loop mode.
(2) Choose “File->Open”, and type into input box the address
“rtsp://128.238.139.1/real9video.rm”. A short video with a bit rate 225 kbps will be
shown on the computer screen. This video is encoded using the proprietary “rm”
format.
(3) While the player is still playing, choose the “Tools->Playback Statistics” to see the
network output bandwidth and packet loss rate. You should see windows shown in
figure 1 when you click on “bandwidth” and “packets”, respectively. The
“bandwidth” panel illustrates how does the network bandwidth varies in time,
whereas the “packets” panel provides information about packet losses. The bandwidth
refers to the instantaneous total data rate received at the player. The lost packet ratio
indicates the percentage of packets sent by the server that did not reach the
destination, and the late packet ratio specifies the percentage of packets that arrived at
the client later than its scheduled play-out time. The RealServer and RealPlayer allow
retransmission of lost packets. The “packets” panel also shows the statistics about
retransmission. Record the minimum, maximum, and average bandwidth, lost packet
ratio, late packet ratio, and total packet loss ratio, number of requested
retransmission and number of received retransmission, and average retransmission
time.
Figure 1. An example of Playback Statistics Window
(4) Now request another video using “rtsp://128.238.139.1/movie/a.mpg. Record the
same set of network statistics as in part (3). What is the bit rate of the video? Which
one (real9video.rm or a.mpg) consumes more network bandwidth? Which one has
more retransmitted packets and higher total packet loss?
(5) Copy H:EL514moviesb.mpg to your local machine and watch “real9video.rm” at
the same time. Did you observe any changes in the video quality compared to part
(3)? Did you notice any temporary freeze of the video or any blocks/segments in the
video that are of lower quality than its neighbors? Again record the network statistics
as before, and compare them with those in (3).
Part II --- Experimenting with a RTSP server and client
For this part, you are given a streaming server program and a streaming client program.
The server implements the basic Real-Time Streaming Protocol (RTSP) server operations
and packetizes the data using the Real-time Transport Protocol (RTP) and then sends the
data using UDP. The client implements basic RTSP client operations, depacketization,
video decoding and playback. Both server and client programs are written to handle
extremely simplified application scenarios. For example, the server can only respond to
one request at a time, and the client can only play video coded in motion-JPEG format.
The programs were written in JAVA 1 and pre-compiled for you. By running these
programs, you can see the request and response between the client and server following
the RTSP protocol. These requests and responses are typically hidden from you when you
run a commercial streaming software such as RealServer and RealPlayer. This part of the
experiment is intended to help you to get a better understanding of the RTSP protocol.
For this experiment, we ask that each team runs the server and client programs on the
same computer, although it is possible to run the server and client on any two separate
computers.
1

The JAVA programs are provided by Keith Ross.
(1) First you need to find the IP address of the computer that you are using. Click
Window’s “Run” menu. Type “cmd” in the input box to open a command window. In
the command window, type the “ipconfig” command and write down your machine’s
IP.
(2) Change your current direction to “Z:”.
(3) In the same command window, type “java Server 1000” to run the server program.
Here, “Server” is the server application in JAVA, sitting on the Z: drive, “1000” is the
port number that the server listens to for incoming RTSP connections.
(4) Open another command widow, and type “java Client IP 1000 movie.Mjpeg” to run
the client program. Here “Client” is the client application in JAVA, sitting on the Z:
drive, “IP” should be replaced with the actual IP address you obtained from step (1).
You can also use the server name instead of IP. “movie.Mjpeg” is the name of the
requested video file. A simple client GUI will be brought up, which allows you to
issue different RTSP requests.
(5) You can send RTSP requests to the server by pressing appropriate buttons in the
client GUI. A normal RTSP interaction goes as follows.
 Client sends SETUP. This command is used to set up the session and transport
parameters.
 Client sends PLAY. This starts the playback.
 Client may send PAUSE if it wants to pause during playback.
 Client sends TEARDOWN. This terminates the session and closes the connection.
(6) After you click each button, observe the outputs in two command windows. The
output in the server window is the actual request received by the server, and the
output in the client window is the reply from the server that the client received in
response to the client request. Record these outputs and explain their meanings, after
you issue each request.
(7) Do you observer slow playback speed when you play video with this java program?
Why? (We assume that network transmission is lossless since we simulate server and
client in the same machine).
(8) The GUI on the client has 4 buttons for the 4 actions. If you compare this to a
standard media player, such as RealOne Player, you can see that they have only 3
buttons for the same actions, namely, PLAY, PAUSE, and STOP (roughly
corresponding to TEARDOWN). There is no SETUP-button available to the user.
Given that SETUP is mandatory in an RTSP-interaction, when does the client send
the SETUP? Is it appropriate to send TEARDOWN when user clicks on the stopbutton?
3. Report
Your report should start with a general description of what you did in this experiment,
followed by the results and observations you obtained. You should answer all the
questions (written in italics in the proceeding instructions).

Más contenido relacionado

La actualidad más candente

Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0	Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0 Protect724manoj
 
XPDS14 - RT-Xen: Real-Time Virtualization in Xen - Sisu Xi, Washington Univer...
XPDS14 - RT-Xen: Real-Time Virtualization in Xen - Sisu Xi, Washington Univer...XPDS14 - RT-Xen: Real-Time Virtualization in Xen - Sisu Xi, Washington Univer...
XPDS14 - RT-Xen: Real-Time Virtualization in Xen - Sisu Xi, Washington Univer...The Linux Foundation
 
IEC 60870-5 101 Protocol Server Simulator User manual
IEC 60870-5 101 Protocol Server Simulator User manualIEC 60870-5 101 Protocol Server Simulator User manual
IEC 60870-5 101 Protocol Server Simulator User manualFreyrSCADA Embedded Solution
 
Best practices of notes traveler deployment
Best practices of notes traveler deploymentBest practices of notes traveler deployment
Best practices of notes traveler deploymentRahul Kumar
 
IBM Notes Traveler Best Practices
IBM Notes Traveler Best PracticesIBM Notes Traveler Best Practices
IBM Notes Traveler Best Practicesjayeshpar2006
 
Network updater4 0releasenotesissue1
Network updater4 0releasenotesissue1Network updater4 0releasenotesissue1
Network updater4 0releasenotesissue1Advantec Distribution
 
OpenIot & ELC Europe 2016 Berlin - How to develop the ARM 64bit board, Samsun...
OpenIot & ELC Europe 2016 Berlin - How to develop the ARM 64bit board, Samsun...OpenIot & ELC Europe 2016 Berlin - How to develop the ARM 64bit board, Samsun...
OpenIot & ELC Europe 2016 Berlin - How to develop the ARM 64bit board, Samsun...Chanwoo Choi
 
Connect2013 show100 making traveler highly available_part1_traveler design
Connect2013 show100 making traveler highly available_part1_traveler designConnect2013 show100 making traveler highly available_part1_traveler design
Connect2013 show100 making traveler highly available_part1_traveler designa8us
 
SCU 2015 - Hyper-V Replica
SCU 2015 - Hyper-V ReplicaSCU 2015 - Hyper-V Replica
SCU 2015 - Hyper-V ReplicaMike Resseler
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...gree_tech
 
Pandora FMS: Hyper V Plugin
Pandora FMS: Hyper V PluginPandora FMS: Hyper V Plugin
Pandora FMS: Hyper V PluginPandora FMS
 
NetSim Technology Library - Software defined networks
NetSim Technology Library - Software defined networksNetSim Technology Library - Software defined networks
NetSim Technology Library - Software defined networksVishal Sharma
 

La actualidad más candente (18)

Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0	Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
 
XPDS14 - RT-Xen: Real-Time Virtualization in Xen - Sisu Xi, Washington Univer...
XPDS14 - RT-Xen: Real-Time Virtualization in Xen - Sisu Xi, Washington Univer...XPDS14 - RT-Xen: Real-Time Virtualization in Xen - Sisu Xi, Washington Univer...
XPDS14 - RT-Xen: Real-Time Virtualization in Xen - Sisu Xi, Washington Univer...
 
FMS 3.5
FMS 3.5FMS 3.5
FMS 3.5
 
Whatsup
WhatsupWhatsup
Whatsup
 
IEC 60870-5 101 Protocol Server Simulator User manual
IEC 60870-5 101 Protocol Server Simulator User manualIEC 60870-5 101 Protocol Server Simulator User manual
IEC 60870-5 101 Protocol Server Simulator User manual
 
Best practices of notes traveler deployment
Best practices of notes traveler deploymentBest practices of notes traveler deployment
Best practices of notes traveler deployment
 
teori hukum
teori hukumteori hukum
teori hukum
 
IBM Notes Traveler Best Practices
IBM Notes Traveler Best PracticesIBM Notes Traveler Best Practices
IBM Notes Traveler Best Practices
 
Network updater4 0releasenotesissue1
Network updater4 0releasenotesissue1Network updater4 0releasenotesissue1
Network updater4 0releasenotesissue1
 
DDive11 - Quickr HowTo
DDive11 - Quickr HowToDDive11 - Quickr HowTo
DDive11 - Quickr HowTo
 
OpenIot & ELC Europe 2016 Berlin - How to develop the ARM 64bit board, Samsun...
OpenIot & ELC Europe 2016 Berlin - How to develop the ARM 64bit board, Samsun...OpenIot & ELC Europe 2016 Berlin - How to develop the ARM 64bit board, Samsun...
OpenIot & ELC Europe 2016 Berlin - How to develop the ARM 64bit board, Samsun...
 
Connect2013 show100 making traveler highly available_part1_traveler design
Connect2013 show100 making traveler highly available_part1_traveler designConnect2013 show100 making traveler highly available_part1_traveler design
Connect2013 show100 making traveler highly available_part1_traveler design
 
SCU 2015 - Hyper-V Replica
SCU 2015 - Hyper-V ReplicaSCU 2015 - Hyper-V Replica
SCU 2015 - Hyper-V Replica
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
 
Seminar
SeminarSeminar
Seminar
 
Pandora FMS: Hyper V Plugin
Pandora FMS: Hyper V PluginPandora FMS: Hyper V Plugin
Pandora FMS: Hyper V Plugin
 
Tss demo script
Tss demo scriptTss demo script
Tss demo script
 
NetSim Technology Library - Software defined networks
NetSim Technology Library - Software defined networksNetSim Technology Library - Software defined networks
NetSim Technology Library - Software defined networks
 

Similar a EE4414 Multimedia Communication Systems II

Game server development in node.js in jsconf eu
Game server development in node.js in jsconf euGame server development in node.js in jsconf eu
Game server development in node.js in jsconf euXie ChengChao
 
Building fast,scalable game server in node.js
Building fast,scalable game server in node.jsBuilding fast,scalable game server in node.js
Building fast,scalable game server in node.jsXie ChengChao
 
Project Paper
Project PaperProject Paper
Project PaperVideoguy
 
Real-Time Stats for Candy Box
Real-Time Stats for Candy Box  Real-Time Stats for Candy Box
Real-Time Stats for Candy Box PubNub
 
Machine Problem 1: Let's chat
Machine Problem 1: Let's chatMachine Problem 1: Let's chat
Machine Problem 1: Let's chatbutest
 
Willing Webcam manual
Willing Webcam manualWilling Webcam manual
Willing Webcam manualwwwilling
 
What happens when adaptive video streaming players compete in time-varying ba...
What happens when adaptive video streaming players compete in time-varying ba...What happens when adaptive video streaming players compete in time-varying ba...
What happens when adaptive video streaming players compete in time-varying ba...Eswar Publications
 
Video Streaming
Video StreamingVideo Streaming
Video StreamingVideoguy
 
Sample Network Analysis Report based on Wireshark Analysis
Sample Network Analysis Report based on Wireshark AnalysisSample Network Analysis Report based on Wireshark Analysis
Sample Network Analysis Report based on Wireshark AnalysisDavid Sweigert
 
Uccn1003 -may10_-_lab_01_-_network_services_and_commands
Uccn1003  -may10_-_lab_01_-_network_services_and_commandsUccn1003  -may10_-_lab_01_-_network_services_and_commands
Uccn1003 -may10_-_lab_01_-_network_services_and_commandsShu Shin
 
Uccn1003 -may10_-_lab_01_-_network_services_and_commands
Uccn1003  -may10_-_lab_01_-_network_services_and_commandsUccn1003  -may10_-_lab_01_-_network_services_and_commands
Uccn1003 -may10_-_lab_01_-_network_services_and_commandsShu Shin
 
Movi presentation Singapore video tech meetup
Movi presentation Singapore video tech meetupMovi presentation Singapore video tech meetup
Movi presentation Singapore video tech meetupLars-Erik M Ravn
 
Probabilistic Approach to Provisioning of ITV - Amos K.
Probabilistic Approach to Provisioning of ITV - Amos K.Probabilistic Approach to Provisioning of ITV - Amos K.
Probabilistic Approach to Provisioning of ITV - Amos K.Amos Kohn
 
Probabilistic Approach to Provisioning of ITV - By Amos_Kohn
Probabilistic Approach to Provisioning of ITV - By Amos_KohnProbabilistic Approach to Provisioning of ITV - By Amos_Kohn
Probabilistic Approach to Provisioning of ITV - By Amos_KohnAmos Kohn
 
Netw200 final joshua_brown
Netw200 final joshua_brownNetw200 final joshua_brown
Netw200 final joshua_brownJoshuaBrown233
 
Connect Magento & OpenERP
Connect Magento & OpenERPConnect Magento & OpenERP
Connect Magento & OpenERPOpenerp VN
 

Similar a EE4414 Multimedia Communication Systems II (20)

Backtrack Manual Part4
Backtrack Manual Part4Backtrack Manual Part4
Backtrack Manual Part4
 
Game server development in node.js in jsconf eu
Game server development in node.js in jsconf euGame server development in node.js in jsconf eu
Game server development in node.js in jsconf eu
 
Building fast,scalable game server in node.js
Building fast,scalable game server in node.jsBuilding fast,scalable game server in node.js
Building fast,scalable game server in node.js
 
Project Paper
Project PaperProject Paper
Project Paper
 
Real-Time Stats for Candy Box
Real-Time Stats for Candy Box  Real-Time Stats for Candy Box
Real-Time Stats for Candy Box
 
Machine Problem 1: Let's chat
Machine Problem 1: Let's chatMachine Problem 1: Let's chat
Machine Problem 1: Let's chat
 
Willing Webcam manual
Willing Webcam manualWilling Webcam manual
Willing Webcam manual
 
What happens when adaptive video streaming players compete in time-varying ba...
What happens when adaptive video streaming players compete in time-varying ba...What happens when adaptive video streaming players compete in time-varying ba...
What happens when adaptive video streaming players compete in time-varying ba...
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Sample Network Analysis Report based on Wireshark Analysis
Sample Network Analysis Report based on Wireshark AnalysisSample Network Analysis Report based on Wireshark Analysis
Sample Network Analysis Report based on Wireshark Analysis
 
Internet Video
Internet VideoInternet Video
Internet Video
 
Uccn1003 -may10_-_lab_01_-_network_services_and_commands
Uccn1003  -may10_-_lab_01_-_network_services_and_commandsUccn1003  -may10_-_lab_01_-_network_services_and_commands
Uccn1003 -may10_-_lab_01_-_network_services_and_commands
 
Uccn1003 -may10_-_lab_01_-_network_services_and_commands
Uccn1003  -may10_-_lab_01_-_network_services_and_commandsUccn1003  -may10_-_lab_01_-_network_services_and_commands
Uccn1003 -may10_-_lab_01_-_network_services_and_commands
 
Movi presentation Singapore video tech meetup
Movi presentation Singapore video tech meetupMovi presentation Singapore video tech meetup
Movi presentation Singapore video tech meetup
 
LoadTracer
LoadTracer LoadTracer
LoadTracer
 
Rtsp
RtspRtsp
Rtsp
 
Probabilistic Approach to Provisioning of ITV - Amos K.
Probabilistic Approach to Provisioning of ITV - Amos K.Probabilistic Approach to Provisioning of ITV - Amos K.
Probabilistic Approach to Provisioning of ITV - Amos K.
 
Probabilistic Approach to Provisioning of ITV - By Amos_Kohn
Probabilistic Approach to Provisioning of ITV - By Amos_KohnProbabilistic Approach to Provisioning of ITV - By Amos_Kohn
Probabilistic Approach to Provisioning of ITV - By Amos_Kohn
 
Netw200 final joshua_brown
Netw200 final joshua_brownNetw200 final joshua_brown
Netw200 final joshua_brown
 
Connect Magento & OpenERP
Connect Magento & OpenERPConnect Magento & OpenERP
Connect Magento & OpenERP
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

EE4414 Multimedia Communication Systems II

  • 1. EE4414 Multimedia Communication Systems II Experiment III Video Streaming Over Internet Yao Wang and Xiaofeng Xu 1. Introduction In this lab, you will experiment with video streaming over the Internet. The lab consists of two parts. In the first part, you will be streaming video from a server running the Helix universal server. You will use RealOne player© to stream and play the video, and observe the video quality under different network conditions. In the second part, you are given a video streaming server and client application program that implements the basic Real-Time Streaming Protocol (RTSP) operations. You will use these programs to see the request and response between the client and servers when using the RTSP protocol. This will give you some insights as to the underlying operations that are hidden with the commercial server and player applications. 2. Experiment Because the video server in Part I can only serve a limited client requests, we require that half of the students do Part II of the experiment first, while the other half work on Part I. This will be coordinated by the Teaching Assistant at the lab. Part I --- Video Streaming Using RealServer and RealOne Player For this part, you will use RealOne Player to stream videos from a streaming server running the Helix Server, both from RealNetworks, Inc. The server and player implement the RTSP protocol for video streaming applications. The player can decode standard MPEG video formats (including MPEG1 and MPEG2) as well as several proprietary format video, including “.rm” format from RealNetwork, Inc. In this part of the experiment, you will request video from the server, and observe the quality of the played video as well as the underlying network traffic condition by using the “PlaybackStatistics” tool available in the RealOne Player. You are asked to stream a low bit rate video and a high rate video, with and without interfering traffic, and to compare the bandwidth usage and packet loss statistics under different conditions. The server program sits on a computer with IP 128.238.139.1 and has several videos that are available for downloading. For this experiment, we have downloaded a free, trial version of the server program (the basic version of the Helix Universal Server), which allows up to 1 mbps aggregate outgoing traffic. If you get a busy signal from the server, it
  • 2. means too many other students are trying to access the same server, and you should wait and send your request again sometimes later. (1) Open RealOne player from Window’s start menu bar. On your RealOne player, choose the option “Play-->continuous playback” so that a video is played back-toback in loop mode. (2) Choose “File->Open”, and type into input box the address “rtsp://128.238.139.1/real9video.rm”. A short video with a bit rate 225 kbps will be shown on the computer screen. This video is encoded using the proprietary “rm” format. (3) While the player is still playing, choose the “Tools->Playback Statistics” to see the network output bandwidth and packet loss rate. You should see windows shown in figure 1 when you click on “bandwidth” and “packets”, respectively. The “bandwidth” panel illustrates how does the network bandwidth varies in time, whereas the “packets” panel provides information about packet losses. The bandwidth refers to the instantaneous total data rate received at the player. The lost packet ratio indicates the percentage of packets sent by the server that did not reach the destination, and the late packet ratio specifies the percentage of packets that arrived at the client later than its scheduled play-out time. The RealServer and RealPlayer allow retransmission of lost packets. The “packets” panel also shows the statistics about retransmission. Record the minimum, maximum, and average bandwidth, lost packet ratio, late packet ratio, and total packet loss ratio, number of requested retransmission and number of received retransmission, and average retransmission time.
  • 3. Figure 1. An example of Playback Statistics Window (4) Now request another video using “rtsp://128.238.139.1/movie/a.mpg. Record the same set of network statistics as in part (3). What is the bit rate of the video? Which one (real9video.rm or a.mpg) consumes more network bandwidth? Which one has more retransmitted packets and higher total packet loss? (5) Copy H:EL514moviesb.mpg to your local machine and watch “real9video.rm” at the same time. Did you observe any changes in the video quality compared to part (3)? Did you notice any temporary freeze of the video or any blocks/segments in the video that are of lower quality than its neighbors? Again record the network statistics as before, and compare them with those in (3). Part II --- Experimenting with a RTSP server and client For this part, you are given a streaming server program and a streaming client program. The server implements the basic Real-Time Streaming Protocol (RTSP) server operations and packetizes the data using the Real-time Transport Protocol (RTP) and then sends the data using UDP. The client implements basic RTSP client operations, depacketization, video decoding and playback. Both server and client programs are written to handle extremely simplified application scenarios. For example, the server can only respond to one request at a time, and the client can only play video coded in motion-JPEG format. The programs were written in JAVA 1 and pre-compiled for you. By running these programs, you can see the request and response between the client and server following the RTSP protocol. These requests and responses are typically hidden from you when you run a commercial streaming software such as RealServer and RealPlayer. This part of the experiment is intended to help you to get a better understanding of the RTSP protocol. For this experiment, we ask that each team runs the server and client programs on the same computer, although it is possible to run the server and client on any two separate computers. 1 The JAVA programs are provided by Keith Ross.
  • 4. (1) First you need to find the IP address of the computer that you are using. Click Window’s “Run” menu. Type “cmd” in the input box to open a command window. In the command window, type the “ipconfig” command and write down your machine’s IP. (2) Change your current direction to “Z:”. (3) In the same command window, type “java Server 1000” to run the server program. Here, “Server” is the server application in JAVA, sitting on the Z: drive, “1000” is the port number that the server listens to for incoming RTSP connections. (4) Open another command widow, and type “java Client IP 1000 movie.Mjpeg” to run the client program. Here “Client” is the client application in JAVA, sitting on the Z: drive, “IP” should be replaced with the actual IP address you obtained from step (1). You can also use the server name instead of IP. “movie.Mjpeg” is the name of the requested video file. A simple client GUI will be brought up, which allows you to issue different RTSP requests. (5) You can send RTSP requests to the server by pressing appropriate buttons in the client GUI. A normal RTSP interaction goes as follows.  Client sends SETUP. This command is used to set up the session and transport parameters.  Client sends PLAY. This starts the playback.  Client may send PAUSE if it wants to pause during playback.  Client sends TEARDOWN. This terminates the session and closes the connection. (6) After you click each button, observe the outputs in two command windows. The output in the server window is the actual request received by the server, and the output in the client window is the reply from the server that the client received in response to the client request. Record these outputs and explain their meanings, after you issue each request. (7) Do you observer slow playback speed when you play video with this java program? Why? (We assume that network transmission is lossless since we simulate server and client in the same machine). (8) The GUI on the client has 4 buttons for the 4 actions. If you compare this to a standard media player, such as RealOne Player, you can see that they have only 3 buttons for the same actions, namely, PLAY, PAUSE, and STOP (roughly corresponding to TEARDOWN). There is no SETUP-button available to the user. Given that SETUP is mandatory in an RTSP-interaction, when does the client send the SETUP? Is it appropriate to send TEARDOWN when user clicks on the stopbutton?
  • 5. 3. Report Your report should start with a general description of what you did in this experiment, followed by the results and observations you obtained. You should answer all the questions (written in italics in the proceeding instructions).