Download Adaptation of Applets and Live videos to Mobile devices

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
ADAPTATION OF APPLETS AND LIVE
VIDEOS TO MOBILE DEVICES
J Manoj Kumar (M.Tech IIT Bombay)
Guided by: Prof. Sridhar Iyer
Problem Definition
Adapt CDEEP Live Videos to Mobile Devices.
1.
 Adapt to low bandwidth networks.
 Problems in video streaming to mobile devices
 Limited Memory in Mobile devices.
 Low Bandwidth of Mobile Network like GPRS.
Adapt Java Applets to Mobile Devices
2.

Java Applets are built with J2SE technology that do not work on
mobile devices.

Limited Memory in Mobile devices.
Mobile devices work on J2ME technology.

Adaptation Of CDEEP Live videos to Mobile Devices
Existing System - Study Element Based System
 Works only for “stored CDEEP videos”
Study Element Based System
 Three types of Study Elements are categorized
i.
Presentation Element -- portion of video that shows one
slide of presentation.
ii.
White paper Element – portion of video that shows white
paper.
iii.
Instructor Element – portion of video that shows
instructor.
Classifying Images
 Classification -- Feature based Tagging
 Feature -- a unique property
Type of Element
Feature Used
Instructor Element
Face Recognition
White paper Element
CDEEP Logo Image
Presentation Element
Heading Color
Proposed System
Live Video Adaptation Module
 Capture sets of 300 images from Live stream.
 Classify each set of images study elements.
 Copy images and audio to server.
Image Extraction Methodology
 Approach 1:
 Using Video LAN(VLC)
 Save or Record for five minutes.
 Extract Images from saved video.
 Disadvantages
 High CPU utilization because of Video transcoding.
 Delay between actual video and seeing video increases for each
iteration.
 Convert to MJPEG Stream
 MJPEG - Motion JPEG ( Images are shown one after the
other). Ex: surveillance camera.
 Images are separated by delimiter.
 Disadvantages
 High CPU Utilization because of Video Transcoding.
 Unable to display images.
 Approach 2:
 Using FFmpeg
 Images extracted directly from live stream.
 ffmpeg -i url -an -r 1 -f image -s 320x240 video%d.jpg
 Group images to sets of 300.
 Using Mplayer:
 Images extracted and grouped directly from live stream.
mplayer -nosound -vf framestep=25 -vo jpeg:subdirs=img:maxfiles=300 url
 Audio Extraction
 Using FFmpeg
 Audio is saved in the form of mp3 chunks.
 ffmpeg -i url -t 00:00:20 -acodec libmp3lame -ab 24 -ar 8000 audio.mp3
 Generate XML
System Implementation
Sequence Diagram
Design Considerations
 Port blocking in GSM networks
 Direct TCP connections not possible due to port blocking.
 Allows only HTTP connection to ports 80 and 8080.
 Audio Streaming
 Audio streaming to mobile device is not supported.
 Hence, need to do progressive download.
Usage
1.
Enter URL
2. select video
3. slide show
Comparison to Existing System
 Supports automatic creation of offline copy of video.
 Live video can be viewed as soon as it starts.
 Misclassifications of images cannot be corrected.
Adaptation of Applets to Mobile Devices
Project OSCAR
 Project OSCAR – Open Source Courseware Animations
Repository.
 Repository for web-based, interactive animations for various
teaching concepts.
 Animation is typically an Java Applet with brief description of
concept.
Overview of J2ME
 Java Micro Edition J2ME – small devices like mobiles, PDA’s
with low RAM and speed.
 J2ME has 3 principles
 Configuration – JVM + set of API’s
 Profile – set of API’s designed for specific configuration
 Optional package –technology specific API’s to extend the
capabilities of JVM
Architecture of J2ME
J2ME
 Configuration: specifies JVM and core set of API’s for a specific
family of devices.
 Two types of configuration
 Connected Device Configuration CDC – minimum of 512KB ROM,
256KB of RAM, full JVM must be supported.
 High end PDA’s, TV setup boxes, car navigation systems.
 Connected Limited Device Configuration CLDC – minimum of 160KB
of ROM, 32KB RAM, KVM
 Mobiles, pagers, PDA’s.
 Cannot add native methods.
J2SE Applets to J2ME Conversion Difficulties
1.
Incompatibility of Architectures of J2SE and J2ME


MIDlet architecture
Applet Architecture
Only one form per screen in MIDlet, Multiple panels in applet.
Difficult to convert from J2ME architecture to J2SE
architecture.
1.
.
2.
Canvas size and Co-ordinates of Image Object


Designed for Desktop systems
Co-ordinates have to be set manually – cannot be automated
Sample OSCAR paint code
public void paint(Graphics G){
g.drawImage(Image img1, 480, 600,this);
g.drawImage(Image img2, 530, 400,this);
g,drawImage(Image img3, 60, 370, this);
}
Amount of Text on Screen
1.
Designed for Desktop Resolutions – cannot be fit mobile
screen, preplanning cannot be automated.
Sample OSCAR animation with text field.

public void init(){
ta = new TextArea("", 31, 47);
ta.setText("\n\t Energy Transaction in Biological Systems\n"+
"\n In this animation you will learn the concepts of ATP
Metabolism……….
……………… 10 lines };
Other General Differences
 No floating point support in J2ME.
 No Java Native Interface (JNI) in J2ME.
 No finalize method in J2ME.
 No Thread Groups.
J2SE to J2ME – Conversion Possibilities
1.
Copy of Paint Method
J2ME uses J2SE’s Graphics class with minor changes -- enables
copy paint method as it is during conversion
Sample applet with paint method
public void paint( Graphics g){
g.drawString("Sending",150,75);
g.drawRect("40,50,10,20);
g.drawImg(Image img,20,30,center);
g.drawArc(30,40,10,30,60,120);}
g.drawString, g.drawRect, g.drawImg, g.drawArc are common in both j2se and
j2me
 Buttons to Key mapping
 J2ME doesn’t display buttons, it uses mobile device keys take
input
 OSCAR animations -- buttons like start, stop.
 Buttons to key mapping is possible.
 LWUIT
 Light Weight User Interface Toolkit is a UI library developed by
Sun.
 Offers advanced UI capabilities and API inspired by Swing.
 LWUIT allows multiple panels on screen.
Overview of Flash and Action Script
 Flash – multimedia platform language for creating animations
 Action Script can be embedded. – ECMA script.
 AS is Object Oriented similar to Java Script.
 AS + Flash – more interactive animations.
 Used to build Rich Internet Applications.
 Flash Lite – highly optimized flash runtime for mobiles.
 Provides same functionality similar to desktop.
Applet to Flash – Conversion Difficulties
 No Multi-Threading in Flash
 Multi-Threading – two or more parts in a program to run
concurrently ( Multitasking ).
 Essential ability to have code do something while UI is doing
something else.
 Single Thread – Having heavy computation, cannot update UI.
 Program becomes un-responsive and crashes after 60 seconds.
Sample OSCAR program with thread
class Timer extends Thread {
//code//
void Settime();
void sleep(); }
Conversion difficulties
 No method(function) overloading
 Difficult for multiple methods – if constructor overloading
 Sample java program
public void defaultSetter(int iValue) {
setter(iValue, false); }
public void setter(int iValue, boolean bForce) {
// whatever }
In action script
public function setter(iValue:int, bForce:Boolean = false):void {
// whatever }
Other General Difficulties and Possibilities
1. Limited Data Structures
 Action script supports only Arrays and Dictionary.
 No queues, no linked List, no stack compared to Java.
 Need to re-implement data structures which are wrapped.
No Blocking
2.

Next code of line is supposed to run, user cannot prevent it
from run – Alert.show(); does not stop exexctuing next line.
 Possibilities
•
•
Java and Action Script have same syntax with a little change.
Syntax change automated by Java to Action script converter
(J2AS3)
Conclusion
 Successfully integrated to existing Study element based
adaptation.
 Live video transmission of CDEEP videos can be adapted
to networks with low bandwidth.
 Automated porting Java applets to mobile devices as
J2ME MIDlets and flash files is difficult and infeasible.
Future Work
1.
Decrease Misclassifications of images


2.
Synchronization between audio and images

3.
Study element based system is prone to errors.
Better feature based classification.
Synchronizing audio with the image slideshow.
Text Improvement

Identify text in study elements and improve text quality.
References
1.
Fabrice Bellard. Ffmpeg codec manual. http://www.ffmpeg.org/ffmpegdoc.html .
2.
Free Software Foundation. Mplayer manual.
http://www.mplayerhq.hu/DOCS/HTML/en/index.html.
3.
G.N. Murthy and S. Iyer. Study element based adaptation of lecture videos to
mobile devices. In Communications (NCC), 2010 National Conférence on,
pages 1 - 5, 29-31 2010.
4.
Herbert Schildt . Java 2ME the complete reference. Osborne/McGraw-Hill,
fourth edition, 2001.
Questions?