Upload
suchin
View
32
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Evaluating Performance of a Video Streaming Application using vlcj CS529 Project 3 April 18 th , 2013. Mark Hawthorne [email protected]. Agenda. Project Problem & Goals Motivation & Importance Solution Background & Definitions Implementation Experimental Design Results - PowerPoint PPT Presentation
Citation preview
1
Evaluating Performance of a Video Streaming Application using vlcj
CS529 Project 3April 18th, 2013
Mark [email protected]
2
• Project Problem & Goals• Motivation & Importance• Solution• Background & Definitions• Implementation• Experimental Design• Results• Conclusions & Future Work
Agenda
3
• Develop a Video Streaming Application
• Goals• Allow for broadcasting multiple
streams• Allow for multiple clients to view the
same broadcast• Allow for clients to view multiple
broadcasts simultaneously • Explore multicast streaming• Leverage existing libraries
Project Problem & Goals
4
• Video streaming is become more and more ubiquitous • Desktop Applications - Skype• Webpages - YouTube, Netflix• Devices - Smartphones, Game Consoles
• Developers need to be able to leverage existing libraries for video streaming• Ex - HTML5 supports video playback
Motivation & Importance
5
• Choose a video streaming library• Develop server and client
applications• Written in Java using Swing for GUIs• Provide user controls and video
playback• Provide data recording of test metrics
• Evaluate performance of streaming• Vary network protocols and video
quality• Focus on metrics provided by the
library• Minimal user feedback
Solution
6
• VideoLAN Client (VLC) Media Player• Open source, light-weight, minimalist• Supports most audio and video codecs
• vlcj• Library of VLC Java bindings• Caprica Software Limited
• Java Native Access (JNA)• Simplified version of JNI
• Java Native Interface (JNI)• Allows Java programs to call methods written in
other languages (C/C++, Assembly)
Background & Definitions
7
Implementation - Server
8
Implementation - Client
9
Experimental Design
HTTP, RTP, RTSP1 2(Ethernet LAN)
10
• Frame rate consistent• Audio stayed synchronized• No delay jitter• Some cases of graphical artifacts
• Typically at beginning of stream• Likely before the buffer is maintained• RTSP had noticeable struggles here
• Noticeable 2-3 second delay between server and client• Not ideal for interactive streaming use
Results – Quality Measures
11
A: If the protocol is changed, performance will be maintained.
Results – Hypothesis A
0 15 30 45 60 75 90 105 120 135 1500
20000000
40000000
60000000
80000000
100000000
120000000
140000000
160000000
180000000
200000000
Data Read vs Time for Stream ClientHangover-RTP-320p Hangover-RTP-480p Hangover-RTP-720p Hangover-RTP-1080pHangover-RTSP-320p Hangover-RTSP-480p Hangover-RTSP-720pHangover-RTSP-1080p Hangover-HTTP-320p Hangover-HTTP-480pHangover-HTTP-720p Hangover-HTTP-1080p Ironman-RTP-320p Ironman-RTP-480pIronman-RTP-720p Ironman-RTP-1080p Ironman-RTSP-320p Ironman-RTSP-480pIronman-RTSP-720p Ironman-RTSP-1080p Ironman-HTTP-320p Ironman-HTTP-480pIronman-HTTP-720p Ironman-HTTP-1080p Gatsby-RTP-320p Gatsby-RTP-480p
Time (Seconds)
Data
Rea
d (B
ytes
)
1080p
720p
480p
320p
12
B: If higher resolution video is used, there will be a decrease in performance
Results – Hypothesis B
320p 480p 720p 1080p0.98
0.985
0.99
0.995
1
1.005
1.01
1.015
1.02
1.025
Comparison of Resolutions against Ratio of Stream Sizes
Size Streamed/Original SizeSize Viewed/Size StreamedSize Viewed/Original Size
Resolution
Ratio
of D
ata
Size
s (B
yte/
Byte
)
13
• VLC is a robust media player• vlcj is an easy to use library to leverage
the capabilities of VLC• Documentation could use some work• Updates to VLC may break functionality
• Future Work• Impact of delay for interactive use• Portability to devices other than PC• Manipulation of network conditions via
netbox
Conclusions & Future Work
14
Questions?