1 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra DEVELOPMENT OF UNIVERSAL MEDIA PLAYER FACILITATOR — PROF. SUBRAT KAR (DEPT. OF ELECTRICAL ENGINEERING)

Slides:



Advertisements
Similar presentations
Internet for multimedia content Yogendra Pal Chief Engineer, All India Radio.
Advertisements

Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Lecture 7 Transport Layer
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 25 Multimedia.
Csc333 Data communication & Networking Credit: 2.
Chan pak lim chau ho chit cheung tak ching yip pak ho g2
Wireless Audio Conferencing System (WACS) Mehmet Ali Abbasoğlu Furkan Çimen Aylin Deveci Kübra Gümüş.
UNCW UNCW SIGGRAPH 2002 Topic #3: Continuous Media in Wired and Wireless Environments Ronald J. Vetter Department of Computer Science University of North.
Socket Programming.
Jaringan Komputer Dasar
1 Java Networking – Part I CS , Spring 2008/9.
Java Socket Support Presentation by: Lijun Yuan Course Number: cs616.
Wireless Audio Conferencing System (WACS) Mehmet Ali Abbasoğlu Furkan Çimen Aylin Deveci Kübra Gümüş.
Review on Networking Technologies Linda Wu (CMPT )
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
1 NETE4631 Communicating with the Cloud and Using Media and Streaming Lecture Notes #14.
CLIENT A client is an application or system that accesses a service made available by a server. applicationserver.
1 CMSCD1011 Introduction to Computer Audio Lecture 10: Streaming audio for Internet transmission Dr David England School of Computing and Mathematical.
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 19 PCs on the Internet.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
Video Conferencing-introduction --- IT Acumens. COM --- IT Acumens. COMIT Acumens. COMIT Acumens. COM.
TCP/IP: Basics1 User Datagram Protocol (UDP) Another protocol at transport layer is UDP. It is Connectionless protocol i.e. no need to establish & terminate.
School of Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, VUW Networking COMP # 21.
Establishing Connections Networking Modes: When you are evaluating a network, you concentrate on circuit switching versus packet switching. But it's also.
1 How Streaming Media Works Bilguun Ginjbaatar IT 665 Nov 14, 2006.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.

CSP Implementing a network 1 Implementing a network Lecturer: Smilen Dimitrov Cross-sensorial processing – MED7.
1 Networking Chapter Distributed Capabilities Communications architectures –Software that supports a group of networked computers Network operating.
Chapter 2 Applications and Layered Architectures Sockets.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Lab Assignment 15/ INF5060: Multimedia data communication using network processors.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
Multimedia Streaming I. Fatimah Alzahrani. Introduction We can divide audio and video services into three broad categories: streaming stored audio/video,
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
Data Communication Network Models
Agenda Socket Programming The OSI reference Model The OSI protocol stack Sockets Ports Java classes for sockets Input stream and.
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
Java’s networking capabilities are declared by the classes and interfaces of package java.net, through which Java offers stream-based communications that.
1 Network Communications A Brief Introduction. 2 Network Communications.
Networked Multimedia Basics. Network Characteristics.
Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Instructor Materials Chapter 5 Providing Network Services
MOBILE DEVICE OPERATING SYSTEM
Lecture 6: TCP/IP Networking By: Adal Alashban
Chapter 25 Multimedia TCP/IP Protocol Suite
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Multimedia and Networks
Lecture 6: TCP/IP Networking 1nd semester By: Adal ALashban.
Presentation transcript:

1 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra DEVELOPMENT OF UNIVERSAL MEDIA PLAYER FACILITATOR — PROF. SUBRAT KAR (DEPT. OF ELECTRICAL ENGINEERING) BY: ATUL GARG (2004EE10319) ADITYA KAWATRA (2004EE10313) PIYUSH MAHESHWARI (2004EE10335)

2 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra INTRODUCTION  We expect that most modern networks will try to achieve convergence / unification of media in one form or the other.  It is probable that this convergence will occur through the conversion of “everything-to-IP”.  We have been displaying different streams using dedicated players e.g. video streams in Video player, audio streams in audio players, T.V. using dedicated T.V tuner cards, Fax using Fax software and Multifunction devices (scanner + printer + Fax).  The development of a universal media player, which can play all type of inputs (Video, Audio or Data), therefore gains importance.

3 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra OBJECTIVE  We wished to develop, as Open Source / GPL (GNU Public License), a universal media player to integrate and develop separate GUI’s for streams originating from audio, video and importantly other data source such as Fax, telephone.  In this particular project, we worked primarily for the implementation of the media player on Nokia Mobile series 60 cell phones.

4 of 21 Atul Garg / Piyush Maheshwari / Aditya KawatraAPPROACH This presentation has been divided into the following sections: This presentation has been divided into the following sections:  Series 60 platform and Symbian OS  Using VLC media player as server for streaming  J2ME – Player Application –http connection –UDP connection –Socket Connection  Real Time Streaming –Using two players –Pipe data structure –Thin internet technology

5 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Series 60 platform and Symbian OS  Series 60 Platform is a complete smart phone reference design that includes a host of wireless applications.  The platform builds on the Symbian operating system (Symbian OS), complementing it with a configurable graphical user interface library.

6 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Symbian OS - Features  A 32-bit multitasking operating system  Performance : Symbian OS is designed to make minimal demands on batteries and to have low memory consumption  Multi-tasking: Telephony and universal messaging are fundamental components.All applications are designed to work seamlessly in parallel  Standards : The use of technologies based on agreed-upon standards, ensuring that applications are portable and interoperable  Object-oriented software architecture  E.g. a phone call may interrupt a user composing an message, a user may switch from to a calendar application in the middle of a telephone conversation

7 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Streaming using VLC media player There are two methods of streaming using VLC media player.  Using the Wizard.  Streaming using Graphical User Interface (GUI)  Wizard offers easy to use menus but provides a restricted set of options. Following steps are used :: 1) Launch the wizard 1) Launch the wizard 2) Select input 2) Select input 3) Select streaming methods 3) Select streaming methods 4) Transcoding options 4) Transcoding options 5) Encapsulation methods 5) Encapsulation methods 6) Save to file 6) Save to file

8 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Streaming using the GUI  A second way to set up a streaming instance using VLC is using Stream Output panel in the Open... dialog of the wxWindows (Windows / GNU Linux.)

9 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra  Play locally: This allows to display the stream you are actually streaming on your screen. Effects of transcoding, rescaling, etc. can be monitored locally using this function.  File: Save the stream to a file. The Dump raw input option allows to save the input stream as it read by VLC, without any processing.  HTTP: Specify the IP address and TCP port number on which to listen.  MMSH: This access method allows to stream to Microsoft Windows Media Player. Specify the IP address and TCP port number on which to listen.  UDP: Stream in unicast or in multicast by providing an address in the suitable range.  RTP: Use the Real-Time Transfer Protocol. Like UDP, it can use both unicast and multicast addresses. Stream output methods Stream output methods

10 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Mobile Media API (MMAPI) background The MMAPI is built on a high-level abstraction of all the multimedia devices that are possible in a resource-limited device. This abstraction is manifested in three classes  Player and Control interfaces, and Manager class.  Manager is the central class for creating players and it provides three methods to indicate the source of media.  These methods are createPlayer(DataSource source), createPlayer(InputStream stream, String type) and createPlayer(String locator).

11 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Supported Protocols and Syntax

12 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Media Player States and their Transitions Player goes through various stages  Realization is the process in which the player examines the source or destination media resources and has enough information to start acquiring them.  Prefetching happens after realization and the player actually acquires these media resources.  Both processes may be time- and resource-consuming, but doing them before the player is started ensures that there is no latency when the actual start happens.  Then player is started, using the start() method, and is processing media data.

13 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra UDP and Socket connection Following set of abstractions can be used at the programming level:  Device manufacturers that work with circuit-switched networks require stream-based connections such as the Transport Control Protocol (TCP), a connection-oriented protocol.  Device manufacturers that work with packet-switched networks require datagram-based connections such as the User Datagram Protocol (UDP), a connectionless protocol.  Other hand-held devices have specific mechanisms for communications.

14 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Various connections  The following figure shows the relationships of the interfaces in an inheritance hierarchy.  Most of the application's code remains the same regardless of the protocol one uses.

15 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Low-Level IP Networking Support in MIDP 2.0 Low-Level IP Networking Support in MIDP 2.0  A call like Connector.open("socket://host:port") returns a SocketConnection, and a call like Connector.open("socket://:port") returns a ServerSocketConnection.  A MIDlet specifies a host when requesting an outbound client connection and omits the host when requesting an inbound server connection.  If one leaves out the port parameter when obtaining a server socket – as in Connector.open("socket://") – an available port number is assigned dynamically. One can use the getLocalPort method to discover the assigned port number, and the getLocalAddress method to discover the local address to which the socket is bound.  A call like Connector.open("datagram://host:port") returns a UDP Datagram Connection.  The SocketConnection interface defines the socket stream connection. One uses it when writing MIDlets that access TCP/IP servers  The ServerSocketConnection interface defines the server socket stream connection. One uses it when requesting an inbound server connection

16 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Real Time Streaming Real Time Streaming  Real time streaming means that the stream (audio/video), which is coming over any protocol (http, UDP, RTP etc.) is played directly without any delay.  We put our efforts in developing the real time streaming using the following methods: –Playing the stream using two Players. –Playing the Stream using Pipe Data Structure. –Thin Internet Technology.

17 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Playing the stream using two Players  At a time one player is prefetching the stream and second player is playing the prefetched stream.  When1st player is prefetching the video stream and 2nd player is playing its prefetched video stream section. When 2nd player gets null then 1st player will start playing its prefetched video stream section.  This process will go on until whole of media stream is played. So player will switch from one screen to another screen.

18 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Pipe Data Structure  A data structure which resembles a pipe, i.e. one can write the data at one end and take i.e. read the data from the other end.  There can be two possible types of Pipes. –One can either write or read at an end. –One can read and write both at an end  We required only the first type of the Pipe data structure as we only wanted the phone to play the feed and not respond back to its source.  There is not a suitable way to implement Pipe data structure in J2ME and so this line of thought was snubbed.

19 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra Thin Internet Technology  The ThinEncoder converts standard audio and video files into mobile streaming media clips. ThinEncoder can convert any video files that are available in all video formats. Video files are first edited using high performance video editors.  Audio or video files can be converted into any format using Thinencoder.  Through Thin internet technology we can create a live mobile broadcast by capturing a live broadcast signal (satellite or cable) and transcode it for playback on a mobile device. playback on a mobile device.  Various Bit-rates can be supported.  The dynamic bit rate adaptation mechanism works to automatically adjust the encoding and transmission parameters of the mobile delivery system based on network performance characteristics and terminal capabilities. The adaptation functioning is activated by the server after receiving feedback information from the client.

20 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra CONCLUSIONS  We implemented a code to play video streams coming over the internet through the http: protocol and it successfully plays the video.  We tested it using “sun java wireless toolkit 2.3” for the following url: however, depending upon the network speed, it has some time delay, which however, depending upon the network speed, it has some time delay, which is quite noticeable. is quite noticeable.  Also, UDP and socket connection was not supported in the Sun’s MIDP. Hence, we had to restrict ourselves to the http: connection only.  Real time streaming was not supported

21 of 21 Atul Garg / Piyush Maheshwari / Aditya Kawatra THANK YOU