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

Slides:



Advertisements
Similar presentations
Samsung Digital Signage
Advertisements

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,
CPSC 203 Introduction to Computers Tutorial 59 & 64 By Jie (Jeff) Gao.
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
Video Streaming in Flash CSCI 4220 – Network Programming Kacper Harabasz.
© Anselm SpoerriInfo + Web Tech Course Information Technologies Info + Web Tech Course Anselm Spoerri PhD (MIT) Rutgers University
Web Server Administration
George Blank University Lecturer. Creating A Web Site at NJIT Professor Blank.
Its easy to be an information provider Tutorial: Web Publishing.
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
PHP Scripting Language. Introduction “PHP” is an acronym for “PHP: Hypertext Preprocessor.” It is an interpreted, server-side scripting language. Originally.
 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.
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.
Sharepoint Portal Server Basics. Introduction Sharepoint server belongs to Microsoft family of servers Integrated suite of server capabilities Hosted.
Microsoft, Linux and the Open Source Community Mark Gayler, Senior Technical Evangelist, Microsoft Open Technologies, Inc.
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.
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 .
Eucalyptus Virtual Machines Running Maven, Tomcat, and Mysql.
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.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 7 The Application Layer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
 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.
1 Web Developer Foundations: Using XHTML Chapter 10 Helper Applications and Plug-in Concepts.
Chapter 9: Novell NetWare
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
2.02G Publishing Animated Videos 2.02 Develop Computer Animations.
Python CGI programming
Network Technologies essentials Week 9: Distributed file sharing & multimedia Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall,
Customer Relationship Management. Content CRM SugarCRM System Requirement Installation Process Configuration.
Chapter 9 How Do Users Share Computer Files?. What is a File Server A (central) computer which stores files which can be accessed by network users.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Introduction to web development and HTML MGMT 230 LAB.
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.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
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.
Slide No. 1 Slide No. 1 HTML and Web Publishing Continued CS 104 CS 104.
12/5/2015 Open Source Technology Toolkit Workshop 1 MediaWiki Pavan Kishore V EnhanceEdu.
Accessing the Lab. Putty Available via links on course page Creates secure (SSH) command line session between your machine and SCS network Uses tunnelling.
CSCI 330 UNIX and Network Programming Unit I Introduction.
What is streaming media technology? Don Youngs Florida Conference of The United Methodist Church.
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.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
How Do Users Share Computer Files?
Dynamic Adaptive Streaming over HTTP
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
CS5248: Systems Support for Continuous Media
Cosc 5/4730 REST services.
Implementing TMG Server Publishing
Database Driven Websites
Crawling with Heritrix
NUS PI: Roger Zimmermann ZJU PI: TBD NUS Co-PIs: Ben Leong
Web Application Development Using PHP
Presentation transcript:

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

Goals (1) Capture a video on an ASUS Transformer/ Samsung Galaxy Note Pro tablet computer and store it as an MP4 file. Split the MP4 file into streamlets, i.e., 10 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-2015 Roger Zimmermann

Goals (2) ASUS Transformer/Samsung Galaxy Note Pro runs the Android 4.2 Jelly Bean or 4.4 KitKat OS. Programming on Android is done in Java with the Android Studio IDE. On the web server, create scripts in the Python or PHP language. Implement a simple Android DASH media player. NUS.SOC.CS5248-2015 Roger Zimmermann

Project Homepage Descriptions and web links Some utilities and some library source codes Documentation (RFCs, etc.) IVLE Forums TA: Aditya Kulkarni (email.aditya.kulkarni@gmail.com) NUS.SOC.CS5248-2015 Roger Zimmermann

Logistics (1) An account will be created for each group on our server: pilatus.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 (CentOS 6.7, www.centos.org). You will need to know some minimal Linux commands: ls, mv, cd, chmod, … NUS.SOC.CS5248-2015 Roger Zimmermann

Logistics (2) For your HTML and Python/PHP web server code you need to create a subdirectory called public_html. chmod 711 on your public_html directory chmod 644 on all web files (e.g., *.html, *.php) The public link will be: http://pilatus.d1.comp.nus.edu.sg/~yourname NUS.SOC.CS5248-2015 Roger Zimmermann

Logistics (3) Every team will be given a MySQL account. The database name, username and password will be emailed to you. Below the public_html you need another directory to store your video files. This directory needs to be given special file permissions. E.g.: chcon -R -t httpd_sys_rw_content_t public_html/video_repo NUS.SOC.CS5248-2015 Roger Zimmermann

Logistics (4) Tools are accessible in /usr/local/bin: MB4Box, ffmpeg, mp4info, … Use the IVLE Forum for discussions and questions. NUS.SOC.CS5248-2015 Roger Zimmermann

Advice and Actions (1) Form a team (3 persons). Note: You will need to read and learn a lot. Your program code will be quite small. HTTP POST command structure MP4Parser usage to create streamlets FFmpeg transcoder usage Playlist .m3u8 format in XML Start early (i.e., this week)! NUS.SOC.CS5248-2015 Roger Zimmermann

Actions (2): Get your Tablet Check out your loan ASUS Transformer for the project from Mr. Chow from SoC Technical Services (on the 4th floor of AS6). There is one tablet per team (3 students). Please loan your tablet on 3/9 or 4/9, 2:00-5:00 pm, AS6-04-27. Email: chowcm@comp.nus.edu.sg. Tell Mr. Chow the 3 team member names. NUS.SOC.CS5248-2015 Roger Zimmermann

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-2015 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-2015 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-2015 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 23001-6 NUS.SOC.CS5248-2015 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 Content preparation: Original media file needs to be split into streamlets Streamlets need to be transcoded into different qualities NUS.SOC.CS5248-2015 Roger Zimmermann

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

DASH (7) DASH media player Loads .m3u8 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-2015 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! NUS.SOC.CS5248-2015 Roger Zimmermann

DASH (9) TS versus ISOBMFF file formats MPD validator: http://www-itec.uni-klu.ac.at/dash/?page_id=605 NUS.SOC.CS5248-2015 Roger Zimmermann