A Music Filled Flask - Real Time Distributed Transcoding Nicholas Jaeger, Trey Zahradka, & Dr. Peter Bui Department of Computer Science  University of.

Slides:



Advertisements
Similar presentations
Daniel Kirschner David Pinho.  The Iphone is the most popular smart phone today and one of the most powerful ones.  Connection options are readily available.
Advertisements

Social Media.
Building Cloud-ready Video Transcoding System for Content Delivery Networks(CDNs) Zhenyun Zhuang and Chun Guo Speaker: 饒展榕.
4.01 How Web Pages Work.
MS CRM Integration WhosOn Service Integration Presentation MS CRM User Group.
HNA-Drive Familiarization Presentation. From the address bar in your preferred internet browser, navigate to Site supports: Internet.
Technological Convergence for Institutions & Audiences
The Internet Useful Definitions and Concepts About the Internet.
CSC 101 Andrew Eng 03/28/06. Assingments Slide 1 - Slide show title, your name, class, and data Slide 2 - Podcast - Title, Very short definition, link.
Cross Platform Web Based Home Inventory System Project Team: Jon Garibay, Firas Assaad Faculty Advisor: Dr. Lawrence Thomas.
Internet – Part II. What is the World Wide Web? The World Wide Web is a collection of host machines, which deliver documents, graphics and multi-media.
Implementing ISA Server Caching. Caching Overview ISA Server supports caching as a way to improve the speed of retrieving information from the Internet.
Topics in this presentation: The Web and how it works Difference between Web pages and web sites Web browsers and Web servers HTML purpose and structure.
Introduction 2: Internet, Intranet, and Extranet J394 – Perancangan Situs Web Program Sudi Manajemen Universitas Bina Nusantara.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
1 NETE4631 Communicating with the Cloud and Using Media and Streaming Lecture Notes #14.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
Company/Product Overview. You have lots of files all over the place.
INTRODUCTION TO WEB DATABASE PROGRAMMING
CHAPTER 2 Communications, Networks, the Internet, and the World Wide Web.
Application Software.
NV V5.7 Product Presentation. Brand New Professional GUI  Multiple User Interface for different look and feel  Audio indicator on camera (play audio.
LOD Surveillance System Jamie Creech Software Engineer.
A Web Crawler Design for Data Mining
ShareList Group 1 – Sprint 2 Derek BakerBryanna Noda Olivier BerthonneauLazaro Ramirez Farrell FarahbodHunter Rowan.
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
LOGO 2 nd Project Design for Library Programs Supervised By Dr: Mohammed Mikii.
Streaming Media A technique for transferring data on the Internet so it can be processed as a steady and continuous stream.
A Comparative Study of Signaling Protocols for Data Management and Synchronization # Department of Computer Engineering, Kocaeli University.
Students: Anurag Anjaria, Charles Hansen, Jin Bai, Mai Kanchanabal Professors: Dr. Edward J. Delp, Dr. Yung-Hsiang Lu CAM 2 Continuous Analysis of Many.
NETWORK HARDWARE AND SOFTWARE MR ROSS UNIT 3 IT APPLICATIONS.
Are you ready to Qurify ?. What is QR code? Quick response codes (known as “QR” codes) are a very convenient way to display a small bit of information.
INTERNET. Objectives Explain the origin of the Internet and describe how the Internet works. Explain the difference between the World Wide Web and the.
Module 8 : Configuration II Jong S. Bok
Using RSS Feeds for Distributing Videos Dr. Rick Jerz St. Ambrose University Davenport, Iowa 1.
Implementing ISA Server Caching
Web Server.
Podcasting Information Software and Technology. Information Software and Technology Podcasting A podcast (or non-streamed webcast) is a series of digital.
Tutorial 11 Solutions. Question 1 Q1. What is meant by interactivity for streaming stored audio/video? What is meant by interactivity for real-time interactive.
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
and Internet Explorer.  The transmission of messages and files via a computer network  Messages can consist of simple text or can contain attachments,
CRAZY ABOUT QR CODES Ways to use QR codes in the classroom.
COM: 111 Introduction to Computer Applications Department of Information & Communication Technology Panayiotis Christodoulou.
The Internet Technological Background. Topic Objectives At the end of this topic, you should be able to do the following: Able to define the Internet.
An Introduction.  Introduction  Logging in from D1  Raison d'être  RSS and Podcasting  DragonDrop is…  What does it do?  Upload  Available Output.
Exploring Networked Data and Data Stores Lesson 3.
World Wide Web 16 World Wide Web 16. World Wide Web 16 Everyone also talks about the Web But people don’t really understand how it works You need to know.
How do I download or save a YouTube video to my computer? Khairunnazmi Bin Khairudin (B01SKS13F010) Ahmad Zaidi Bin Abdul Manan (B01SKS13F017)
Fault – Tolerant Distributed Multimedia Streaming Web Application By Nirvan Sagar – Srishti Ganjoo – Syed Shahbaaz Safir
Website Deployment Week 12. Software Engineering Practices Consider the generic process framework – Communication – Planning – Modeling – Construction.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
4.01 How Web Pages Work.
Advanced HTML Tags:.
4.01 How Web Pages Work.
Android Mobile Application Development
4.01 How Web Pages Work.
Introduction to Information and Communication Technologies
Instructor: Ahmed Jafer
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
E-commerce | WWW World Wide Web - Concepts
Dan Nealey Scott Batura
E-commerce | WWW World Wide Web - Concepts
Client-Server Computing
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Digital television systems - (DTS)
Client/Server and Peer to Peer
4.01 How Web Pages Work.
4.01 How Web Pages Work.
The Internet and Electronic mail
Presentation transcript:

A Music Filled Flask - Real Time Distributed Transcoding Nicholas Jaeger, Trey Zahradka, & Dr. Peter Bui Department of Computer Science  University of Wisconsin – Eau Claire A Music Filled Flask - Real Time Distributed Transcoding Nicholas Jaeger, Trey Zahradka, & Dr. Peter Bui Department of Computer Science  University of Wisconsin – Eau Claire Introduction Many mobile Internet providers limit the amount of monthly data usage. It is important to keep this in mind when considering the growth and overwhelming popularity of video sharing sites. It becomes more and more common to stream videos to cell phones and other devices that rely on cellular data connections. One reason people stream videos to their cellular devices is to listen to music that is on YouTube. This uses an unnecessarily large amount of mobile bandwidth, as the user only wants the audio, but receives the video as well. To minimize the cost of streaming videos to mobile devices for the purpose of listening to music, we developed a web service that converts a user created playlist of YouTube videos into an audio stream. Introduction Many mobile Internet providers limit the amount of monthly data usage. It is important to keep this in mind when considering the growth and overwhelming popularity of video sharing sites. It becomes more and more common to stream videos to cell phones and other devices that rely on cellular data connections. One reason people stream videos to their cellular devices is to listen to music that is on YouTube. This uses an unnecessarily large amount of mobile bandwidth, as the user only wants the audio, but receives the video as well. To minimize the cost of streaming videos to mobile devices for the purpose of listening to music, we developed a web service that converts a user created playlist of YouTube videos into an audio stream. Design Understanding the convenience and user experience delivered by responsive websites, our design started with a website utilizing Twitter-Bootstrap and Flask. Twitter-Bootstrap is a responsive front-end web framework, and Flask is a Python based back-end web framework. Behind the scenes, we used cron to routinely scan playlists for new songs and have YouTube-DL (a small command line program for fetching YouTube data) add the information required for streaming to a database for quick access. Design Understanding the convenience and user experience delivered by responsive websites, our design started with a website utilizing Twitter-Bootstrap and Flask. Twitter-Bootstrap is a responsive front-end web framework, and Flask is a Python based back-end web framework. Behind the scenes, we used cron to routinely scan playlists for new songs and have YouTube-DL (a small command line program for fetching YouTube data) add the information required for streaming to a database for quick access. Future Work In the future, we would like to add onto the system to make current tasks more simple for the user and add some altogether new features. Below are some of the features we would like to implement in the future. Additional URL Support Currently, the system handles two different formats of YouTube URLs. We would like to add more support for other formats YouTube has used. M3U Playlists The system we developed does handle lists of songs (audio from videos) that can be streamed, but the songs must be streamed individually. It would be optimal if a user could download or link to a playlist file so they could stream a specific list of songs in its entirety without needing to start songs one by one. Distributed Computing Our hope was that when the cron job found new songs in the playlist, it would farm the processing jobs (getting YouTube data) out to a cluster of machine, employing the strengths of distributed computing. However, in this system, we were unable to accomplish that due to time constraints. Multiprocessing Lastly, we hoped to enable the utilization of multiple processors in one computer by our system, but did not have time during development. Future Work In the future, we would like to add onto the system to make current tasks more simple for the user and add some altogether new features. Below are some of the features we would like to implement in the future. Additional URL Support Currently, the system handles two different formats of YouTube URLs. We would like to add more support for other formats YouTube has used. M3U Playlists The system we developed does handle lists of songs (audio from videos) that can be streamed, but the songs must be streamed individually. It would be optimal if a user could download or link to a playlist file so they could stream a specific list of songs in its entirety without needing to start songs one by one. Distributed Computing Our hope was that when the cron job found new songs in the playlist, it would farm the processing jobs (getting YouTube data) out to a cluster of machine, employing the strengths of distributed computing. However, in this system, we were unable to accomplish that due to time constraints. Multiprocessing Lastly, we hoped to enable the utilization of multiple processors in one computer by our system, but did not have time during development. Implementation: {Arrows indicate data flow} Conclusion We are able to successfully stream audio from our server to mobile devices and to computers. We are also able to add new songs to playlists. Conclusion We are able to successfully stream audio from our server to mobile devices and to computers. We are also able to add new songs to playlists. Acknowledgements ORSP YouTube FFMPEG Flask Acknowledgements ORSP YouTube FFMPEG Flask 1.User accesses the system on their device. 1.User accesses the system on their device. 2.On the website, a user can create or modify playlists, or stream content. 2.On the website, a user can create or modify playlists, or stream content. 3.Flask handles most of the client side functionality, including serving up the website, streaming data through FFMPEG, and handling the playlist files. 3.Flask handles most of the client side functionality, including serving up the website, streaming data through FFMPEG, and handling the playlist files. 4.Text files store the list of videos in each playlist, corresponding to entries in the database. 4.Text files store the list of videos in each playlist, corresponding to entries in the database. 5.Cron is a daemon responsible for periodically checking the playlists for new songs, retrieving data with Youtube-DL, and populating the database with song information. 5.Cron is a daemon responsible for periodically checking the playlists for new songs, retrieving data with Youtube-DL, and populating the database with song information. 6.Once song information is retrieved from YouTube via YouTube-DL, items in the playlist are ready to be streamed back to the user through the website served up by Flask. 6.Once song information is retrieved from YouTube via YouTube-DL, items in the playlist are ready to be streamed back to the user through the website served up by Flask.