mark hawthorne mhawthorne@wpi

14
Evaluating Performance of a Video Streaming Application using vlcj CS529 Project 3 April 18 th , 2013 1 Mark Hawthorne [email protected]

Upload: suchin

Post on 14-Feb-2016

47 views

Category:

Documents


2 download

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

TRANSCRIPT

Page 1: Mark Hawthorne mhawthorne@wpi

1

Evaluating Performance of a Video Streaming Application using vlcj

CS529 Project 3April 18th, 2013

Mark [email protected]

Page 2: Mark Hawthorne mhawthorne@wpi

2

• Project Problem & Goals• Motivation & Importance• Solution• Background & Definitions• Implementation• Experimental Design• Results• Conclusions & Future Work

Agenda

Page 3: Mark Hawthorne mhawthorne@wpi

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

Page 4: Mark Hawthorne mhawthorne@wpi

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

Page 5: Mark Hawthorne mhawthorne@wpi

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

Page 6: Mark Hawthorne mhawthorne@wpi

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

Page 7: Mark Hawthorne mhawthorne@wpi

7

Implementation - Server

Page 8: Mark Hawthorne mhawthorne@wpi

8

Implementation - Client

Page 9: Mark Hawthorne mhawthorne@wpi

9

Experimental Design

HTTP, RTP, RTSP1 2(Ethernet LAN)

Page 10: Mark Hawthorne mhawthorne@wpi

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

Page 11: Mark Hawthorne mhawthorne@wpi

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

Page 12: Mark Hawthorne mhawthorne@wpi

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

)

Page 13: Mark Hawthorne mhawthorne@wpi

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

Page 14: Mark Hawthorne mhawthorne@wpi

14

Questions?