Tuesday, February 16, 2010

Problem Facing and Solution with Symbian Codec Player development for Symbian Developers

Codec Player developed in Symbian is able to plays following codec by the use of HTTP, RTSP, RTMP and MMS servers and use codec are: OGG (theora and vorbis), FLV, 3GP, WMV, WMA, MP3, MP4, AAC with all functionality: Play, Pause, Rewind, Forward, Rotate Screen(Horizontal and Landscape), Change Screen Mode(Full and Normal Screen), Stop.

First I explain Audio/Video streaming servers:

HTTP (Hypertext Transfer Protocol), port number is 80:
HTTP is a request-response standard as is typical in client-server computing. The client is an application on computer, mobile used by end user, the server is an application running on the computer hosting the web site. Codec Player use HTTP/1.1 version for download Audio/Video data file because that can reuse the same connection to download.

RTSP (Real Time Streaming Protocol), port number is 554:
RTSP protocol has similarities to HTTP but adds new requests. This protocol is used to establish and control media sessions between end points.

RTMP (Real Time Messaging Protocol) port number is 1935:
RTMP developed for streaming audio, video and data over the Internet, between a Flash player and a server. RTMP (called plain protocol) works with TCP, RTMPT encapsulated within HTTP requests to traverse firewalls and RTMPS work list RTMPT but over a secure HTTPS connection. RTMP packets can be exchanged via two HTTP tunneling protocols so developer must read a tunneling process for use RTMP protocol.

MMS (Microsoft Media Server) port number is 1755:
MMS is streaming protocol used to transfer unicast data in Windows Media Services. Client opening an "mms://" URL will attempt to connect with RTSP over TCP.

In Codec Player, do work with MMS and RTMP server; make client engines using C and C++ languages. For implement MMS client take reference from “Native_MMS” streaming and for RTMP client engine take reference from “RtmpDump” and also make updated Symbian libraries named OpenSSL Libraries.

Mobile able to play .3GP, MP3, MP4 and AAC codec using inbuilt audio/video library but for play some codec (like OGG, FLV, WMV, WMA etc) mobile have not functionality.

Solution: For play unsupported codec in mobile.
At software level one thing is possible that to make codec converter libraries or application for playing unsupported codec in mobile. So we make libraries for codec converter. To make mobile codec convert, take reference from FFMPEG application and make all libraries and supported applications. Libraries are libavcodec.lib, libavformat.lib, libavutil.lib, libswscale.lib, libavdevice.lib, etc. These all libraries were developed in C language.

Codec Player includes following functionality:

Play,
Pause,
Stop,
Rewind,
Forward,
Rotate Screen (Horizontal and Landscape) and
Screen Mode (Full and Normal Screen)

Codec Player plays audio/video in application’s screen using Symbian player API named CMdaAudioPlayerUtility, CMdaAudioOutputStream and CVideoPlayerAdapter. These APIs is also used for Pause, Stop and Rotate Screen. For Rewind and Forward functionality handle audio video packets/chunks and get and set position using above Symbian APIs at last for screen mode functionality use SetDisplayWindowL API of Symbian player.

This article was intended to provide information on Symbian development for Symbian developers on making codec player which providing them with some technical details.

Saturday, February 6, 2010

Introduction of Codec Player development in Symbian S60 for Symbian Developers

Symbian S60 developers who had been working on Symbian S60 platform must be aware of C, C++ and Symbian S60 platform. Codec Plater application must be required knowledge of memory management, active objects, and network services. Codec player works on Symbian S60 3rd editions (FP1, FP2 and FP3) mobile devices.


Symbian is an operating system (OS) designed for mobile devices and smart phones, with associated libraries, user interface, frameworks and reference implementations of common tools. Native language of Symbian is C++.

Mobile application development let Symbian developers to work on various theme applications to satisfy the purposes of business, gaming, communication, entertainment and many others. The project explained here is one such project made for media application, which uses reach amount of functionality and logic level with the technicality provided by Symbian OS.

This Symbian Codec player is more of a DLL application rather than a directly executable thing on your mobile phone. Codec player is a DLL (Dynamic Link Library) application which works on Symbian S60 platform.

Features:
This Player includes following player servers, functions, and codec.

+ Player Functions: play, pause, rewind, forward, stop.

+ Supported Servers: HTTP, RTSP, MMS, RTMP.

+ Plays Video codec: .WMV, .FLV, .MP4, .OGG (theora), .3GP.

+ Plays Audio codec: .MP3, .OGG (vorbis), .AAC, .WMA.

+ Auto play

+ Supported Platform: Symbian S60 3rd edition FP1, FP2 and FP3.

Known Issues:

For enable to plays that codec which is not supported by mobile device, use Open C functionality and makes codec converter libraries.

This application is able to use standard Symbian MMF (Multimedia Framework) plugins and Open C plug-in. Multimedia Framework) is a feature of Symbian Operating System that allows (among other things) 3rd parties to use audio decoder plugins. With MMF, Codec player can use the phone built-in audio decoders

To make audio/video codec converter, take reference from FFMPEG and to work with RTMP take reference from RtmpDump.

Thursday, February 4, 2010

Introduction to Symbian OS

Symbian is basically an Operating System consisting libraries, UI, frameworks and reference implementations of common tools. Symbian had been made for mobile devices and smartphones.

Under the establishment of non-profit foundation, Symbian was acquired by Nokia. Symbian OS were also contributed by its user with developing interfaces like S60, UIQ and MOAP(s). To make Symbian royalty-free the process of publishing the source code under EPL (Eclipse Public License) met completion in recent time in 2010.

Symbian is being used in more than 45% of the smartphone market, which clearly shows how popular Symbian OS is. Symbian OS has been powering 330 million phones till date and increasing day by day. Although some of the market experts are suggesting an early market entrance to Symbian OS, expecting more popularity across the world and the cell phone market.