MiViBES: Free Open-Source Mobile interactive Video Browser Extended Software
by
swagner
—
last modified
2009-01-17 12:11
As part of the AMUSE 2.0 project, we developed a software based on Symbian OS 9.1 for Nokia S60 3rd edition devices to have an user interface playing videos and providing an interactive HTML browser at the same time. This software is now to be released as open source! (Note: we are currently porting this client to the Mobile Linux platform Maemo which is used on the Nokia N800/N810.)
Mobile interactive Video Browser Extended Software (MiViBES)
MIVIBES is a client software for mobile device platforms which enables viewing mobile video enhanced by interactivity using standard technologies like a web browser.Browser capabilities as well as the support of several video codecs is just depending on the capabilites of the used device.
Features
- Switchable screen layouts (full-screen, split-screen variants)
- Tight video/browser integration
- Extended network connectivity (UMTS/WLAN)
- Live DVB-H channels (relayed via WIFI) and „live simulated“ offline channels
- Integrated push techniques for e.g. messaging/chat, event notifications, updates of additional content
- Joint-Zapping function via push channel
- Sharemark function via MMS
- Highly extensible & flexible
Limitations
Our Symbian client just uses the provided interfaces (APIs) to underlying engines, that is the Browser Control API and the MultiMedia Framework (MMF). In Symbian 9.1 and corresponding S60 3rd edition devices like the Nokia E61/E61i or the N92 the Browser Control API is referring to the old Symbian WAP/Web-Browser and not the newer S60 Webkit implementation. The MMF uses for video playback the provided Realplayer plugin which limits network streaming to RTSP and just a few audio and video codecs (e.g. H264 is currently not supported).The user interface is not build with Scalable UI elements because of the device specific prototype development, i.e. we know the exact screen size and also the key codes of the used devices (E61, E70, N92).
Network support
Network access can be established completely via a WIFI network or using a 3G network (e.g. UMTS) or with a combination of both.When using the combination this means to set the type of network communication for each type of content in advance (via the setup utility), e.g. video and pushed data (=passive/unidirectional) is received via the WIFI connection and all browser interactivity (=active/bidirectional) is routed via UMTS. At the moment this cannot be changed at runtime.
Reception of broadcast data through the air (e.g. DVB-H) can be achieved via a special solution which is explained below.
Video Playback/Live TV
The video player is capable of playing streaming video as well as playback of stored video files on the device which can be used for demo purposes when there is no network connection available. There is a simulation mode which lets stored videos play like they were live!Because of missing a DVB-H receiver in most current available devices and no available programmable interfaces (API) to those devices that have one, our client currently cannot directly display a live DVB-H signal received through the air. For that we have developed a solution to relay the live DVB-H multiplex using a mobile setup (i.e. a laptop computer) that enables streaming access from any mobile device. See LIMBOS Project description for further details on this.
Settings and Extensibility
The setup of all variable parameters (e.g. access points, server addresses, user name and id) is done via a small separate setup utility which stores the information in a file on the device.All other settings are part of the code but can be found very easy (see documentation). A lot of adaptions can be made there.
In general the code provides great extensibility so it's easy to add new functionality just by adding a few lines of code at the appropriate places.
The Platforms: Symbian OS 9.1 (S60), Maemo OS 2008 (Linux/GTK)
From Wikipedia: Symbian OS is a proprietary operating system, designed for mobile devices, with associated libraries, user interface frameworks and reference implementations of common tools, produced by Symbian Ltd. It is a descendant of Psion's EPOC and runs exclusively on ARM processors. (See http://en.wikipedia.org/wiki/Symbian for more)We decided to develop on the Symbian platform because of the following reasons: It is an open platform with many documentations and examples available, there is community support, and a lot of rich and powerful APIs. Additionally because of C++ we expected to better deal with real-time requirements (e.g. compared to J2ME).
The focused Symbian OS version is 9.1 (running e.g. on E61/E61i, E70, N92), the corresponding SDK is S60 3rd edition without any feature packs.
From Wikipedia: Maemo is a Debian-based development platform for handheld devices. It is used by the Nokia 770 Internet Tablet, and its successors, the Nokia N800 and N810. (See http://en.wikipedia.org/wiki/Maemo for more)
In addition to the Symbian development, we are porting the client to the current Maemo OS 2008 running on N800 and N810 devices. This platform provides easy use of C++ with standard libraries and GTK for the GUI.
Usage
Have a look at the README & INSTALL for more information.Download from Sourceforge
MiViBES - Symbian client v1.60 (now also supporting N95)Contact
We have a project website at Sourceforge, please use it to report bugs and feature requests.For any other matter, please contact Siegfried Wagner.