Smart Media Network 1.0 week12 status
Controller Team
Server Team
Device Team
Controller / User Interfaces1. Discover / present media devices on the SMN network
• LDAP2. Provide an interface to the device controls
• Win32 / Borland C++ Builder3. Allow users to direct content from player to output devices
• SOAP4. Present the changing state of the network
• Devices entering or leaving• Device state changes (volume, track, etc…)
TWO UNIQUE TRACKSUniversal Remote InterfaceHuman Centered Interface
Universal Remote
Primary intent is to provide a remedial interface to ALL controls published by devices on the SMN network
Currently:• All devices (minus controllers) are
presented• All controls are presented (although only
Play, Stop and Volume have been published
• When “Play” is selected, the user chooses an output device from a list of devices accepting the stream type
• Device and control listings are refreshed every 10 seconds
Human Centered InterfacePrimary intent is to provide a hyper-usable interface to a select set of device and control types. Emphasis is on consistency of control between different devices. This controller will be usable in an eyes-free manner.
2 Part Interface:•Physical (TurboRing Trackball)•Visual (on-screen display)
Ring ALWAYS controls the volume•Quick swipes cclockwise mutes•Quick swipes clockwise restores volumeTrackball can…•Select a device•Move through tracks (CD, DVD…)•Change the station (TV, radio…)•Navigate media specific menus (DVD…)Button alternates the Play/Pause(Stop) state of devices
Controller Development
To date, most efforts have been toward developing the universal remote. This will guarantee a usable system.
Techniques used in the universal remote will be applied to the Human Centered Remote. Both are developed for the same platform with same development environment and net libraries.
While the Universal Remote is in a working state with only minimal technical obstacles remaining, the Human Centered Remote is still in its earliest stages (only a custom trackball/ring driver has been developed.
Server Team
• LDAP server based on OpenLDAP
• Can run on very minimal PC (Pentium I, 166Mhz, 64MB, 2GB)
• LDAP server modified to expire devices that do not re-register
• Open problem: how to do LDAP server discovery?
LDAP Schema
• Devices and Controllers register themselves, re-register frequently
• Devices publish their capabilities and controls
• Capabilities include supported classes of functionality and stream types supported
• Controllers publish the fact that they exist (for receiving event notifications)
Devices
• PLAYERS• Can generate a
stream• Controlled by
controllers using controls that the device publishes (some may have fixed semantics, some not)
• PRESENTERS• Can accept a stream
and render it in human-usable form (e.g. to a video monitor, to speakers)
• Can be controlled by a controller or by a player device
Device Team
• Audio: XMMS plugin (Icecast backend) to do Shoutcast streaming MP3
• Video: VideoLan MPEG-2 streams with Perl scripts to control interaction with SMN to spawn/kill clients, change controls
• Player/presenter architecture: when player receives a PLAY message it queries LDAP server then controls presenter with the controls it gets
Devices, cont’d
• Uses C++ for XMMS plug-in
• Testing GUI written in Python
• Videolan wrappers and device publishers written in Perl
• OS used is Linux: Redhat 7.3 and 8.0
Java Media Frame (JMF) In Pervasive and Mobile
computing
Window Media Player / JMF• Window Media Player (WMP)
• Stable, easy control• Longer initial time• Use Java.awt.Robot to simulate the control event • Difficult to update to new version / license issue
• JMF• Construct a player by our own • Easy control• Short initial time• Platform independent
• WMP and JMF can based on the same server and controller
System structure using JMF
Commands Commands
Commands
Media list
Media list
Server Player Remote Player
Controller
System structure and implementation
Controller design
General ideas:
• Select a poplar device as future controller
• Simple usage
• Ubiquitous access
• Extremely reliable
• Intuitive interaction
• Easy to upgrade
• Lower resource consumption
Streaming media between devices
• JMF Supports Real-Time Transport Protocol– Capture and transmit real-time video– Present media files remotely
• More available and more reliable by combining numerous devices, and using existing networking technology– Great future for pervasive and mobile
computing
Simple Media Networking Protocol (SMNP)
COMP7970
Pervasive and Mobile Computing
James Pate Williams, Jr.
SMNP
• Proprietary solution to home entertainment wire snarl problem
• Uses new line terminated strings over Transmission Control Protocol (TCP)
• System consists of a central server, controllers, and devices, a device can have multiple controllers
• A presentation device can be a controller/device hybrid
SMNP (Continued)
• The system was implemented using Java 2 Standard Edition (J2SE) and Java 4 Mobile Edition (J4ME)
• The system uses the Java Media Framework (JMF) and the Gracenote Compact Disc Database (CDDB) http://java.sun.com/products/java-media/jmf/ http://www.gracenote.com/developer/
• The current system consists of an AVI movie/WAV file consumer/producer pair, a CD device, a master volume (mixer) device, J2SE controllers, and J4ME controllers
SMNP J2SE Screen Shot
J4ME Mixer Device Controller
J4ME CD Device Controller
VCD SVCD DVD DV-C
Resoultion 352x240 480x480 720x480 720x480(NTSC)
Video MPEG1 MPEG2 MPEG1 or 2 DV
Compression 1150Kbit/sec 2524Kbit/sec up to 9.8Mbit/sec 25Mbit/sec
29.97 frames/sec 29.97 frames/sec 29.97 frames/sec 29.97 frames/sec
Audio MPEG1 MPEG1 MPEG1 DV
Compression 224Kbit/sec 224Kbit/sec ? ?
Total Bit Rate 1374Kbit/sec 2748Kbit/sec about 10Mbit/sec 36Mbit/sec
Quality Good Great Excellent Excellent
(include track information and etc.)
Type of Streams
Simulation Environments (using NS-2)
1
2
3
4
5
6
...
S D
BW : 100Mbit/sec
BW : 100Mbit/sec
Simulation Environments (cont’d)
VCD SVCD DVD DV-CBandWidth (BW)
(Propagation Delay)
All Links have 100Mbit/sec BW(100 ms)
Flow Type Full Duplex Flow(Drop-Tail – Sinks in Destination)
Packet Size(0.005 sec Interval)
940 bytes 1875 bytes 6250 bytes 22500 bytes
BW per Stream 1.5Mbit/sec 3Mbit/sec 10Mbit/sec 36Mbit/sec
# of Streams 3, 50, 51, 55 10, 25, 26, 27,28, 30
6, 7, 8, 10 2, 3, 5
Transport Protocol UDP with Constant Bit Rate (CBR)
Simulation Time Start : 10 sec, Stop 50 secTotal Simulation Time : 60 sec
0
10
20
30
40
50
60
1 2 3 4
Trials
# o
f Str
eam
s
0
5
10
15
20
25
30
35
1 2 3 4 5 6
Trials
# o
f S
tre
am
s
01
23
45
67
89
1 2 3 4
Trials
# o
f S
trea
ms
0
1
2
3
4
5
6
1 2 3
Trials
# o
f S
tre
am
s
VCD SVCD
DVD DV-C
Results # of Input Streams
# of Stable Streams
Summary of Evaluation
VCD SVCD DVD DV-CBW per Stream 1.5Mbit/sec 3Mbit/sec 10Mbit/sec 36Mbit/sec
Stream Includes Video + Audio Video + Audio + Track Info.+ Etc.
# of Input Streams 3, 50, 51, 55 10, 25, 26, 27,28, 30
6, 7, 8, 10 2, 3, 5
# of Stable Streams 50 25 7 2
This simulation does not consider error bit rate or else.