Tuesday, July 19, 2005

Suggested outline for Research Plan

from http://www.cau.edu/acad_prog/comp_sci/comp_sci_grad.html

1. Statement of Research Question
2. Why is this important or interesting?
3. What are some of the issues that need to be addressed?
4. What is the approach to the problem? (General Approach)
5. Detail related or background work
6. Detail the work done to date
7. Detailed Research Plan
8. Research Schedule

Next Deliverable

on July 23
Submit article summaries (literature search) and research plan
(e-mail to spancho@acm.org)

Wednesday, July 13, 2005

Server/Client Streaming Application Using JMF

from http://java.sun.com

Q: Where do I begin to develop my server/client streaming application using JMF?

You can start looking at the solutions on our website at: http://java.sun.com/products/java-media/jmf/2.1.1/solutions/index.html

There you'll find various sample programs that highlight different aspects of JMF. For example for RTP transmission check out AVTransmit.

Saturday, July 09, 2005

LIVE.COM Streaming Media

from http://live.sourceforge.net/

This code forms a set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP and RTSP). These libraries - which can be compiled for Unix (including Linux and Mac OS X), Windows, and QNX (and other POSIX-compliant systems) - can be used to build streaming applications. The libraries are already being used to implement applications such as "liveCaster" and "playRTPMPEG" (for streaming MP3 audio using RTP/RTCP). The libraries can also be used to stream, receive, and process MPEG video, and can easily be extended to support additional (audio and/or video) codecs. They can also be used to build basic RTSP clients and servers, and have been used to add streaming support to existing media player applications, such as "mplayer". (For some specific examples of how these libraries can be used, see the test programs.)

This code is "open source", and is released under the LGPL. This allows you to use these libraries (via linking) inside closed-source products. It also allows you to make closed-source binary extensions to these libraries - for instance, to support proprietary media codecs that subclass the existing "liveMedia" class hierarchy. Nonetheless, we hope that subclass extensions of these libraries will also be developed under the LGPL, and contributed for inclusion here. We encourage developers to contribute to the development and enhancement of these libraries.

The project source files, and additional documentation, are online at http://www.live.com/liveMedia.

Based on my research...

1) Presently the JMF doesn’t support 3gp content types.
2) There's a JMF MP3 Plugin, meaning it supports MP3.
3) I found a library called MP4File(C++) that is used in streaming.
3) I found another library called LIVE.COM Streaming Media, again a set of C++ libraries for multimedia streaming.
4) Pwede pa lang streaming sa K500i.(la lang..:D)

Currently, we decided to use 3gp and JMF.

But based on my research, medyo mahirap yatang pagsamahin yung dalawa. We have to start from scratch kung 3gp and JMF ang gagawin namin.

What I am trying to say is, eto ang pwedeng choices:
a) If JMF and MP3 na lang since may Java MP3 PlugIn Manual Installation, slight. But hindi ko pa naaaral kung ano tong plugin na to hindi ko alam kung ok to.
b) If C++ and 3gp naman, kailangan pa din naming aralin yung MP4File library. Still, hindi ko pa rin alam kung ok tong library na to.
c) Last choice and I think pinaka-OK sa lahat, C++ and MP3 kc may library na called LIVE.COM Streaming Media, "open source" and is released under the LGPL. Feeling ko malaking tulong to kahit na hindi ko pa siya masyadong naaaral.

Wednesday, July 06, 2005

MP4File

The MP4File handles a MP4 file.

The following is a list of the main features of the MP4File library:
* read the MP4 file (ISMA and 3GPP file)
* write the MP4 file (ISMA and 3GPP file)
* selection of the standard to apply according the extension file: 3GPP for the ‘.3gp’ extension, ISMA for the ‘.mp4’ extension
* create and add the hint tracks
* add and delete atoms
* change the properties of an atom
* generate the Session Description Protocol (SDP)
* management of the cache
* management of a MP4 File Factory

The steps to use the library are the following:
* instantiate a MP4File object (MP4File_t mp4File)
* initialize the MP4 file (mp4File. init (pPathName, bUse64Bits, bUseMP4ConsistencyCheck, bToBeModified, sStandard, >Tracer))
* use of the object (mp4File. … ())
* finish of the object (mp4File. finish ())

Similar project: Catra Streaming Server

http://www.catrasoftware.it/Streaming/CatraStreamingPlatform.htm

The Catra Streaming Server can deliver stored content to any open standards RTSP/RTP clients.

Catra Streaming Server accepts the following audio codecs: AAC, GSMAMR, AMR-WB.

The video codecs accepted are: MPEG-4 and H263.

Catra Streaming Server is compliant with the following standards:
· 3GPP TS 26.234 – PSS Protocols and codecs (Release 5)
· rfc2326: Real-Time Streaming Protocol (RTSP)
· rfc2327: Session Description Protocol (SDP)
· rfc1889: A Transport Protocol for Real-Time Applications (RTP)
· rfc2429: RTP Payload Format for the 1998 Version of ITU-T Rec. H.263 Video (H.263+)
· rfc3016: RTP Payload Format for MPEG-4 Audio/Visual Streams
· rfc3267: Real-Time Transport Protocol (RTP) Payload Format and File Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codecs
· rfcisma

Specific technical features of Catra Streaming Server are:
· Streaming of both off-line and live request
· Use of a configurable cache to prefetch the RTP packets.
· Use of a configurable cache for the content.
· Handle of three timeouts
o RTSP and RTCP timeout to avoid maintaining active a RTSP session when it does not receive any RTSP command and RTCP packets
o PAUSE timeout to avoid maintaining active a RTSP session when it remains in PAUSE for a long time.
o Session timeout in order to drop the streaming session after a specified period of time
· Ability to configure the interval between two RTCP sender report packets.
· Ability to distribute the RTSP, RTP and RTCP traffic on different network cards.
· Generation of log files ensuring proper sizing, rotation and trace levels through configurable parameters.

General technical features of the Catra Streaming Platform are:
· Independence of the Operative System (currently tested on Linux, HPUX, Sun Solaris, and Windows)
· C++ the language used to implement the server
· CORBA used for the communication between Server and GUI. MICO (MICO Is CORBA: free available and fully compliant implementation of the CORBA standard) is used by Catra Streaming Server.
· Use of the catralibraries (including the MP4File library)

About 3GPP

from http://www.3gpp.org/About/about.htm

The 3rd Generation Partnership Project (3GPP) is a collaboration agreement that was established in December 1998. The collaboration agreement brings together a number of telecommunications standards bodies which are known as “Organizational Partners”. The current Organizational Partners are ARIB, CCSA, ETSI, ATIS, TTA, and TTC.

The establishment of 3GPP was formalized in December 1998 by the signing of the “The 3rd Generation Partnership Project Agreement”.

The original scope of 3GPP was to produce globally applicable Technical Specifications and Technical Reports for a 3rd Generation Mobile System based on evolved GSM core networks and the radio access technologies that they support (i.e., Universal Terrestrial Radio Access (UTRA) both Frequency Division Duplex (FDD) and Time Division Duplex (TDD) modes). The scope was subsequently amended to include the maintenance and development of the Global System for Mobile communication (GSM) Technical Specifications and Technical Reports including evolved radio access technologies (e.g. General Packet Radio Service (GPRS) and Enhanced Data rates for GSM Evolution (EDGE)).

The discussions that led to the signing of the 3GPP Agreement were recorded in a series of slides called the “Partnership Project Description” that describes the basic principles and ideas on which the project is based. The Partnership Project Description has not been maintained since it’s first creation but the principles of operation of the project still remain valid.

In order to obtain a consolidated view of market requirements a second category of partnership was created within the project called “Market Representation Partners”.

“Observer” status is also possible within 3GPP for those telecommunication standards bodies which have the potential to become Organizational Partners but which, for various reasons, have not yet done so.

A permanent project support group called the “Mobile Competence Centre (MCC)“ has been established to ensure the efficient day to day running of 3GPP. The MCC is based at the ETSI headquarters in Sophia Antipolis, France.

3GPP

From Wikipedia, the free encyclopedia.

The 3rd Generation Partnership Project (3GPP) is a collaboration agreement that was established in December 1998. It's a co-operation between ETSI (Europe), ARIB/TTC (Japan), CCSA (China), ATIS (North America) and TTA (South Korea).

The scope of 3GPP was to make a globally applicable third generation (3G) mobile phone system specification within the scope of the ITU's IMT-2000 project. 3GPP specifications are based on evolved GSM specifications, now generally known as the UMTS system.

Note that 3GPP should not be confused with 3GPP2, which specifies standards for another 3G technology known as based on IS-95 (CDMA) networks, commonly known as CDMA2000.

3gp

From Wikipedia, the free encyclopedia.

3gp is a file format which is used in mobile phones to store media (audio/video). This file format is a simpler version of "ISO 14496-1 Media Format". MOV (used by QuickTime) is also a format which follows similar file format. This format can only carry video encoded as MPEG-4 or H.263. Audio is stored in AMR-NB or AAC-LC formats.

In this format, values are stored as big-endian.