SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
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).

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante 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
 

Semelhante 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

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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).