Dynamic Adaptive Streaming over HTTP

Slides:



Advertisements
Similar presentations
WordPress Installation for Beginners Sheila Bergman
Advertisements

Will Law | Chief Media Architect | Akamai Optimizing the Black Box of HTML.
Video Streaming Services Justin Hourigan, Senior Network Engineer, HEAnet Limited
© De Montfort University, Synchronised Presentations using Windows Media Howell Istance School of Computing De Montfort University.
NUS.SOC.CS Roger Zimmermann Project Create a DASH-compliant (Dynamic Adaptive Streaming over HTTP) streaming system.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
PHP (2) – Functions, Arrays, Databases, and sessions.
Web Server Administration
George Blank University Lecturer. Creating A Web Site at NJIT Professor Blank.
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 12: Managing and Implementing Backups and Disaster Recovery.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
 What is Windows Azure Media Services  Reach Story w/ SDKs and Player Frameworks  Media applications on Windows  Monetize your content  Road to.
 What is Windows Azure Media Services  Reach Story w/ SDKs and Player Frameworks  Media applications on Windows 8  Web: a Flash player for Smooth.
CS 160: Software Engineering August 27 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Video Streaming © Nanda Ganesan, Ph.D..
2440: 141 Web Site Administration Remote Web Server Access Tools Instructor: Enoch E. Damson.
Section 6.1 Explain the development of operating systems Differentiate between operating systems Section 6.2 Demonstrate knowledge of basic GUI components.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
IT 210 The Internet & World Wide Web introduction.
HTTP Streaming bar BoF, IETF 79th HTTP Streaming Survey and Gap Analysis Ning Zong draft-zong-httpstreaming-gap-analysis-01.
APP205 Key technologies for building great video experience on Windows 8.
Computer Concepts 2014 Chapter 7 The Web and .
Copyright © Texas Education Agency, All rights reserved.1 Web Technologies Web Administration.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
1 Web Server Administration Chapter 9 Extending the Web Environment.
 Please write (legibly) the name you wish me to call you on the name card 
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Daniel Johnson. Playing a media file stored on a remote server on a local client.
Chapter 9: Novell NetWare
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
Introduction to Internet Programming (Web Based Application)
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
Chapter 13-Tools for the World Wide Web. Overview Web servers. Web browsers. Web page makers and site builders. Plug-ins and delivery vehicles. Beyond.
HTML Hyper Text Markup Language A simple introduction.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Installing and Using MySQL and phpMyAdmin. Last Time... Installing Apache server Installing PHP Running basic PHP scripts on the server Not necessary.
NUS.SOC.CS Roger Zimmermann Project Create a DASH-compliant (Dynamic Adaptive Streaming over HTTP) streaming system Logistics: Week 8.
1 Welcome to CSC 301 Web Programming Charles Frank.
 What is Windows Azure Media Services  Architecture and Features  SDK and REST API.
The MPEG-DASH Standard for Multimedia Streaming Over the Internet Chih-Hsiang Chou Advisor: Prof Dr. Ho-Ting Wu Department of Computer Science and Information.
12/5/2015 Open Source Technology Toolkit Workshop 1 MediaWiki Pavan Kishore V EnhanceEdu.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Unix Servers Used in This Class  Two Unix servers set up in CS department will be used for some programming projects  Machine name: eustis.eecs.ucf.edu.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) Project Packetize MP3 audio into RTP Packets.
NUS.SOC.CS Roger Zimmermann Project Packetize MP3 audio into RTP Packets.
Introduction to the World Wide Web & Internet CIS 101.
Advanced Website Design Professor: Jared Kozel Class Description: Are you already familiar with how to construct a basic Website? This class will teach.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
ASP.NET WEB Applications. ASP.NET  Web application framework developed by Microsoft  Build dynamic data driven web applications and web services  Subset.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
Distributed Control and Measurement via the Internet
Project Create a DASH-compliant (Dynamic Adaptive Streaming over HTTP) live streaming system.
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
CS5248: Systems Support for Continuous Media
Introduction and Principles
Apache Server.
BTEC NCF Dip in Comp - Unit 15 Website Development Lesson 05 – Website Performance Mr C Johnston.
Haritha Dasari Josue Balandrano Coronel -
Implementing TMG Server Publishing
PHP / MySQL Introduction
Introduction to Silverlight
Database Driven Websites
Crawling with Heritrix
NUS PI: Roger Zimmermann ZJU PI: TBD NUS Co-PIs: Ben Leong
Lifesize® Technical Update
Web Application Development Using PHP
Presentation transcript:

Dynamic Adaptive Streaming over HTTP Introduction to DASH Dynamic Adaptive Streaming over HTTP

DASH (1) RTP/RTSP/RTCP streaming faces several challenges Advantage Special-purpose server for media (complex) Protocols use TCP and UDP transmissions (firewalls) Difficult to cache data (no “web caching”) Advantage Short end-to-end latency NUS.SOC.CS5248-2017 Roger Zimmermann

DASH (2) Main idea of DASH Advantages Use HTTP protocol to “stream” media Divide media into small chunks, i.e., streamlets Advantages Server is simple, i.e., regular web server No firewall problems (use port 80 for HTTP) Standard (image) web caching works NUS.SOC.CS5248-2017 Roger Zimmermann

DASH (3) Original DASH implementation by Move Networks Introduced concept of streamlets Additional idea: make playback adaptive Encode media into multiple different streamlet files, e.g., a low, medium, and high quality version (different bandwidth) NUS.SOC.CS5248-2017 Roger Zimmermann

DASH (4) ISO/IEC Standard: MPD: Media Presentation Description ISO/IEC Standard: “Information technology — MPEG systems technologies — Part 6: Dynamic adaptive streaming over HTTP (DASH)” JTC 1/SC 29; FCD 23009-1 NUS.SOC.CS5248-2017 Roger Zimmermann

DASH (5) Web server provides a playlist The playlist is a file in a specific format that lists all the available qualities and all the streamlets for each quality Playlist file extension is .m3u8/.mpd Content preparation: Original media file needs to be split into streamlets Streamlets need to be transcoded into different qualities NUS.SOC.CS5248-2017 Roger Zimmermann

DASH (6) HTTP protocol is stateless! Server remembers “nothing” about session Scheduling logic, etc., is in media player! NUS.SOC.CS5248-2017 Roger Zimmermann

DASH (7) DASH media player Loads .m3u8/.mpd file and then starts to download streamlets All the scheduling logic is in the player Render current streamlet while downloading the next streamlet before playback is done Measure bandwidth and switch between different qualities (i.e., adapt) Switch servers  can be done easily NUS.SOC.CS5248-2017 Roger Zimmermann

DASH (8) Many media players now understand DASH streaming format Many companies use HTTP streaming: Apple, Microsoft, Adobe, Netflix, … CDNs like this approach No need to run QuickTime, Windows Media, RealNetworks, and Flash streaming servers Just use web server for everything! Apples HLS Microsoft Smooth Streaming Adobe HDS (HTTP Dynamic Streaming) YouTube DASH Guidelines: https://developers.google.com/youtube/v3/live/guides/encoding-with-dash NUS.SOC.CS5248-2017 Roger Zimmermann

DASH (9) TS versus ISOBMFF file formats MPD validator: http://www-itec.uni-klu.ac.at/dash/?page_id=605 ISOBMFF: ISO base media file format. e.g. mp4, 3gp TS: NUS.SOC.CS5248-2017 Roger Zimmermann

Project Create a DASH-compliant (Dynamic Adaptive Streaming over HTTP) live streaming system

Goals (1) Capture video on an Android tablet and store it as an MP4 file. Split the MP4 file into streamlets, i.e., 3 second long video files. Upload the streamlets to a web server. Transcode the streamlets into 3 different streamlets (e.g., low, medium, high quality). Create a playlist on the web server. NUS.SOC.CS5248-2017 Roger Zimmermann

Goals (2) Implement a simple Android DASH media player that streams the uploaded video. Advanced Goal: enable an end-to-end live streaming system i.e. all the above goals in an on-the-fly fashion. - Take an incremental approach with actual implementation. But keep in mind the advanced goal while working out the design. NUS.SOC.CS5248-2017 Roger Zimmermann

Tools and platforms Samsung Galaxy Note Pro running Android 5.x (Lollipop) OR Samsung S2 8.0 running Android 7.x (Nougat). Programming on Android is done in Java with the Android Studio IDE. On the web server, create scripts in PHP (default) or any web framework of your choice. NUS.SOC.CS5248-2017 Roger Zimmermann

Project Homepage Descriptions and web links Some utilities and some library source codes Documentation (RFCs, etc.) IVLE Forums, Slack (cs5248.slack.com) TA: Raj Joshi (rajjoshi@comp.nus.edu.sg) NUS.SOC.CS5248-2017 Roger Zimmermann

Logistics (1) An account will be created for each group on our server: monterosa.d1.comp.nus.edu.sg Your username and password will be emailed to you. Change the password! Use ssh or PuTTy or something similar to log in. The machine runs Linux (Ubuntu 16.04). You will need to know some minimal Linux commands: ls, mv, cd, chmod, … NUS.SOC.CS5248-2017 Roger Zimmermann

Logistics (2) For your HTML and Python/PHP web server code you need to create a subdirectory called public_html. chmod 755 on your public_html directory (done for you this time!) chmod 644 on all web files (e.g., *.html, *.php) The public link will be: http://monterosa.d1.comp.nus.edu.sg/~yourteam Note that these instructions are for the default setup NUS.SOC.CS5248-2017 Roger Zimmermann

Logistics (3) Below the public_html you need another directory (e.g. video_repo) to store your video files. This directory needs to have write permissions for group users. (already set for a new directory on Ubuntu) This is because www-data is added to your user group. NUS.SOC.CS5248-2017 Roger Zimmermann

Logistics (4) Every team will be given a MySQL account. The database name, username and password will be emailed to you. Use mysql command-line or phpMyAdmin GUI for database administration. phpMyadmin: monterosa.d1.comp.nus.edu.sg/phpmyadmin/ NUS.SOC.CS5248-2017 Roger Zimmermann

Logistics (5) Tools are accessible in /usr/local/bin: MP4Box, ffmpeg, ffprobe, mp4info Any other tools? -> email the TA Use Slack (or IVLE Forum) for discussions and questions: cs5248.slack.com NUS.SOC.CS5248-2017 Roger Zimmermann

Advice and Actions (1) Form a team (3 persons). Note: You will need to explore and learn a LOT. Your programming effort will be small. HTTP POST command structure MP4Parser/MediaCodec usage FFmpeg transcoder usage Playlist .m3u8 format in XML Start early (i.e., this week)! NUS.SOC.CS5248-2017 Roger Zimmermann

Actions (2): Get your Tablet Check out your loan tablet for the project from Mr. Chow from SoC Technical Services Counter (COM1-01-06). There is one tablet per team (3 students). Please loan your tablet on 4/9 or 5/9, 10:00-12:00 or 13:00-17:00. Email: chowcm@comp.nus.edu.sg. Tell Mr. Chow your team number and names of team members. - Tablets would be issued only if you have registered your team with the TA. Without team registration, you would not be issued any tablet. NUS.SOC.CS5248-2017 Roger Zimmermann

More Advice (1) Design with ‘live’ in mind, but implement incrementally. Work in parallel Capture client Server-side DASH Player client Use version-control and code backups NUS.SOC.CS5248-2017 Roger Zimmermann

More Advice (2) The teaching team is there to help, BUT … We will NOT: debug your code answer queries that could be easily Googled We will: advise you on system design provide pointers to what in your system might be going wrong - Google and StackOverflow would be more useful than us for debugging your code NUS.SOC.CS5248-2017 Roger Zimmermann