Blu-ray Development

Java ME 3.0
B lu-ray Dis k Java Development
Harimohan S . B awa
hbawa@ us .s og eti.com
hs bawa@ g mail.com
Presented at:
Central Ohio Java Users Group (COJUG)
0 4 /1 4 /2 0 0 9
1
Agenda
• Introduction
• Blu-ray Technology and Java
• Java Micro Edition 3.0
– Introduction and Features
– Why BD Development?
• Java ME Development Overview
• BD-J Development
2
Introduction
Blu-ray vs HD-DVD
• Bitter format war
• Blu-ray - Java based platform.
• HD-DVD - Microsoft iHD and later HDi
• Finally ... Toshiba gives up in Feb 2008
• Java platform targeted for Blu-ray: Java ME, CDC
Personal Basis Profile, GEM (Globally Executable
MHP is a "subset" specification of Multimedia
Home Platform (MHP) for DVB)
• Sony PS3 is BD-J compliant. Added Profile 1.1
3
Introduction
Blu-ray Technology
●
Blu-ray Disc is next generation optical disc format for that
enables High Definition entertainment experience.
•
High Resolution of 1080p.
•
Largest Capacity of 25GB SL/50 GB DL
•
7.1 channel native uncompressed sound.
•
Enhanced Interactivity
– Menu Navigation
– Bonus View
– BD-Live
4
Introduction
Blu-ray Benefits
IMAGINATION HAS NO LIMITS
• Schools/Colleges
• Sales and Marketing
• Business Proposals
• Engineering/Medicine
• Personal Audio, Videos and Data Management
• Powerful Audio/Video remixing.
• Movies etc...
** Imagine what cellphones could do today compared to few years
back. Small and powerful devices are the future.
5
Introduction
Java ME
• Java Platforms:
– Java EE - Enterprise Edition
– Java SE - Standard Edition
– Java ME - Micro Edition
• Java ME:
– CLDC : Connected Limited Device
Configuration
– CDC : Connected Device Configuration
6
Java ME
CLDC (1.0,1.1)
• Targets devices with limited Memory, Processing
power and Graphical capabilities.
• Provides very basic capabilities.
• Has various profiles built on top of CLDC
Configuration.
– MIDP – Mobile Information Device Profile
– Optional Packages. (JSR 248 – Mobile Service
Architecture)
– MIDLets/LCDUI
• VM is called KVM (Kilo VM)
7
Java ME
CDC (1.0,1.1)
• Targets devices with more capacity and network
connections.
• Devices like PDA's, Set Top Boxes, BD-J etc.
• Profiles:
– Foundation Profile (JSR 219).
– Personal Profile (JSR 216).
– Personal Basis Profile. (JSR 217) (BD-J)
8
BD-J
Profiles
• Profile 1.0 – Initial Standard Profile (Obsolete)
• Profile 1.1 – Bonus View (Final Standard Profile)
• Profile 2.0 – BD Live
• Profile 3.0 – BD Audio only
9
BD-J
Profile Comparison
Profile 1.1 or Bonus Profile
256 MB - Local Storage
Capacity
Secondary audio video
decoder is required
Virtual File System is
required
Not Internet capable
Profile 2.0 or BD-Live
Profile
1 GB - Local Storage Capacity
Secondary audio video
decoder is required
Virtual File System is required
Internet Capable for live chat,
presenting and downloading
material etc.
10
BD-J
Official Sites
US Blu-ray Disc Site
http://us.blu-raydisc.com/
Blu-ray Disc Licensing Info
http://www.blu-raydisc.info/
11
BD-J
Development
• BD-J support part of Java ME 3.0 SDK.
• Sample application for BD-J included in SDK
• Required BD-J Stubs not included in SDK. But,
are available with various players like ArcSoft
Total Media Theatre, Nero Showtime, WinDVD
etc.
• Download SDK at: http://java.sun.com/javame/
downloads/sdk30ea.jsp
12
BD-J
HDCOOKBOOK DEMO
BD-J DEMO
Chihiro Saito, a Blu-ray Disc Java (BD-J) developer
for Sun Microsystems, shows how you can use a
pre-packaged BD-J application to run in a PC
player or a consumer Blu-ray player. The source
files are located at hdcookbook.dev.java.net.
13
BD-J
Java ME 3.0 SDK
• Download and install SDK on your system.
• Download PC Player for Blu-Ray. SDK
recommends ArcSoft's Total Media Theater
• In our demo we will use ArcSoft's software.
• Some tweaks will be required.
• Optionally, you can drag drop application into
player and play it.
• Demo BD image can be downloaded from:
http://hdcookbook.dev.java.net
14
BD-J
Java ME Setup
15
BD-J
Java ME Setup
16
BD-J
Java ME 3.0 Setup
• Notes:
– SDK provides emulator programs for
execution.
– SDK looks up into registry for TotalMedia
Theater version 2.0.
– Other Options:
• Modify Windows registry to TotalMedia
Theatre//2.0
• Provide Player executable in the setup.
• Drag and Drop application (BDMV folder)
into the player.
17
BD-J
BD Image File Structure
• Located at: %project_home%\build\deploy
•
AUXDATA: Auxiliary Data (Fonts and Sounds)
•
BACKUP: Backup copy of index.bdmv and other
important files.
•
CLIPINF: AV clips
•
JAR : Application jar files
•
PLAYLIST: Movie playlist
•
STREAM: MPEG-2 transport streams.
18
BD-J
API Reference
●
BD-J API Reference:
http://java.sun.com/javame/reference/bluray-techn
– Java TV API
– JSSE (Java Secure Extension) 1.0.3
– CDC Foundation profile and PBP
– GEM (Globally Executable Media) Stubs
– BD-J Javadocs
19
BD-J
Xlet
•
An Xlet is an application or service designed to be run and
controlled by an application manager via this lifecycle
interface.
•
BD-J Xlets are triggered by events occurring around them.
Xlets in turn can then call other Xlets.
•
Lifecycle: Init, Start, Pause and Destroy.
•
XletContext allow the Xlet to discover information about its
environment.
•
TVContainer allows the Xlet to get root container for its AWT
component.
– ex: java.awt.Container container =
java.tv.graphics.TVContainer.getRootContainer(xletContext
);
20
BD-J
Non javax.* API
Following APIs are recommended over similar javax.* api's:
– HAVi: org.havi.ui.* , org.havi.ui.event.*
• Ex: To get displayable area on screen
org.havi.ui.Hscene scene =
org.havi.ui.HSceneFactory.getInstance().getDefaultSce
ne();
– BD: org.bluray.*
– DAVIC: org.davic.*
– DVB: org.dvb.*
•
But ... Java Media and TV APIs are more portable.
•
But ... Java Media and TV API's are more generic and may be
limited in functionality.
•
Developers call based on the requirements.
21
BD-J
Development References
• HDCookbook Official Book Site is : http://hdcookbook.com/
• HDCookbook Code: https://hdcookbook.dev.java.net/
• BlueBoard BD Java Guide:
http://www.blueboard.com/bluray/index.htm
•
OCAP: http://www.interactivetvweb.org/tutorials/ocap
•
Xlet Introduction:
http://www.interactivetvweb.org/tutorials/mhp/xlet_introduction
•
Interactive Tutorials: http://www.interactivetvweb.org/tutorials
•
Examples:
http://www.interactivetvweb.org/resources/code_samples
22
BD-J
TIPS
• Before you start development:
–
Check your system requirements
• Use Blu-ray PC Player to test your code. At end it will be cheaper
compared to the code of the Blu-ray discs.
• Check the Blu-ray profiles before you buy the Blu-ray player.
Recommendation is to buy BD-Live capable Blu-ray player.
• Information is scattered around on the web. If you can, buy the
HDCookBook. It will save lot of your time.
23
Questions?
www.us.sogeti.com
Thank you !
Sogeti always needs Java
Developers like you.
www.us.sogeti.com
Download PDF