1 of 21 - PowerPoint PPT Presentation

About This Presentation
Title:

1 of 21

Description:

The development of a universal media player, which can play ... One uses it when writing MIDlets that access TCP/IP servers The ServerSocketConnection interface ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 22
Provided by: geocities56
Category:

less

Transcript and Presenter's Notes

Title: 1 of 21


1
DEVELOPMENT OF UNIVERSAL MEDIA PLAYERFACILITATOR
PROF. SUBRAT KAR(DEPT. OF ELECTRICAL
ENGINEERING)
  • BY
  • ATUL GARG (2004EE10319)
  • ADITYA KAWATRA (2004EE10313)
  • PIYUSH MAHESHWARI (2004EE10335)

2
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
OBJECTIVE
  • We wished to develop, as Open Source / GPL (GNU
    Public License), a universal media player to
    integrate and develop separate GUIs 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
APPROACH
  • 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
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
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 e-mail message, a user may switch from e-mail
    to a calendar application in the middle of a
    telephone conversation

7
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
  • 2) Select input
  • 3) Select streaming methods
  • 4) Transcoding options
  • 5) Encapsulation methods
  • 6) Save to file

8
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
  • Stream output methods
  • 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.

10
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
Supported Protocols and Syntax
12
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
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
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
Low-Level IP Networking Support in MIDP 2.0
  • A call like Connector.open("socket//hostport")
    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//hostport")
    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
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
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
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
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.
  • 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
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
  • http//java.sun.com/products/java-media/mma/
    media/test-mpeg.mpg
  • however, depending upon the network speed,
    it has some time delay, which
  • is quite noticeable.
  • Also, UDP and socket connection was not supported
    in the Suns MIDP. Hence, we had to restrict
    ourselves to the http connection only.
  • Real time streaming was not supported

21
THANK YOU
Write a Comment
User Comments (0)
About PowerShow.com