 2008/05/18
|
Last update 2000/07/30
The Labs - Design & Functionality For The NetHomeAppliance: Media
This is the first HA-client for the HA-network: HomeAppliance Media,
replacing VCR, TV, Radio, CD-Player.
- Pictures (Personal Album, Artwork)
- Audio
- Video (TV & Radio)
- Hardware
- User Interface (UI)
- Design Ideas
| Media Client1. Pictures (Personal Album, Artwork)
|
Hardware | | Output: Either LCD display (space-saving vs. CRT), or LCD Video Projector.
Input Sources: video, scanner, quickcam, screenhot.
|
Drivers | | X11 is sufficient.
|
Software | | Some nice slider software (with fading and other effects like page-curl), GIMP-plugins?
|
The pictures, images, artwork is stored on the server, within folders.
Artist credit, artwork name, copyright, museum, original size, timestamp of creation etc.
Hardware | | Nothing to do, it's on-board, YMF740C.
Adding speakers and microphone.
|
Drivers | | ALSA support it. Compile modules and install it, and
then run alsaconf and it finds it (and does addings in /etc/conf.modules).
|
Software | |
|
The sounds/music is stored on the server, within folders.
Artist credit, copyright, timestamp of creation of MP3/Wav/Raw.
| Media Client3. Video (TV & Radio)
|
Hardware | | First of all we need a Video4Linux
compatible card: Miro PC-TV, Haupauge (both Booktree 848), Miro PC-TV Rave (cost $50) is working (as per 2.3.99 pre9) finally, see settings below.
The linux-kernel should recognize the card can add /dev/bttv0 (/dev/video -> /dev/bttv0).
Consideration: Since we network via 10/100 Ethernet it's a bad
idea to stream video over the network, so, the card should be put on
the client, unless decent streaming format can be found (e.g. MPEG-I/II with 2Mbps) then
the video could be available on all thin-clients in the network.
|
Drivers | | The device is supported by the kernel via Video4Linux.
|
Software | | This is getting tricky, xawtv and kwintv exist but aren't
very usuable via IR remote control, neither they don't look good as application (compared to mp3 players such as xmms).
So real coding is required.
Considerations:
With fame-1.0.2 320x240@20fps on K6/2 500 gives 250KB/s (2.0Mb/s or 1/50 of 100Mb/s), for an 1:30h movie this would be 1.35GB MPEG-I file. So, an 240min video-cassette represents 3.6GB MPEG-I.
I personally have aprx. 150 movies (aprx. 260hrs), they would be about 230GB. Currently my server (at home) has 86GB disk-space (several UW[2] disks) . . . in a nutshell, on a 20GB EIDE you can store 14x 1:30hrs movies each 1.4GB in size.
The same disk-bandwidth with mp1e-1.7.1 (video-only), unfortunately the OSS driver (YMF740C) and mp1e-1.7.1 hangs the machine so only video works (no sound), debugging required.
|
The videos are stored on the server as MPEG-I (prefered or any other
'open' format with alike compression-rate and possibility to encode/decode with
K6/2 500 at full-rate) within folders.
Connectivity | |
|
| Media Client5. User Interface (UI)
|
Overview | | We have many devices in one: Video, TV, Radio, CD/MP3-player. Therefore a
well-thought and simple UI needs to be developed, where all commonalities are
found (e.g. volume up/down, previous/rewind, next/forward, play, pause etc)
Addtionally it should be themeable (aka skins) so people can develop
their own UI or prefered design.
|
Input Devices | | Control via
- IR remote control (0-9, volume, rewind/forward/stop etc)
- keyboard only
- mouse only
- touch-screen only
- voice only
or any combination of it (allowing flying change of the input-device).
Details on Input Devices.
|
Preparation | | I prefere perl, TK or GTK (it's themeable), and just found V4l for perl here (CPAN).
xawtv has some nice tools (from its page):
- fbtv is a TV application for the linux console, it uses the
new 2.2.x framebuffer devices.
- set-tv, a command line tool to set video4linux parameters
(tune in some channel, set TV norm, ...).
- streamer, a command line tool for capturing still images
and avi-videos (with sound).
- radio, a simple, curses-based radio app.
which could be reused in conjunction with Video::Capture::V4l and
GTk-perl.
I spent a lot of time to get the video to work (I have three cards I tried, MiroPCTV, Hauppauge, MiroPCTV-Rave)
and you need to read all files in the xawtv dist carefully, remember this is all PC-hardware (aka "junk" or "crap") and
anything than reliable. So I ended up (2.3.99 pre9) loading the bttv and tuner modules with arguments
(lookup the card-type and tuner model in
.../Documentation/video4linux/bttv or
.../drivers/char/bttv.c.
|
insmod videodev
|
|
insmod bttv card=0x27
|
|
insmod tuner type=5
|
|
| Media Client6. Design Ideas
|
To sum up, we have two main devices: music player (CD, MP3, live-radio), video player (video, MPEG I, AVI, QT, live-TV).
So let's go into the details:
Music Player | | Controlling elements:
- folders (CD-tray, MP3 files) to play or record
- volume control (slider, up/down)
- stored:
- selector (next, prev, folder up/down)
- playing list (store favourites)
- live:
- switch: line-in, radio
- presets (x MHz -> name)
- frequency tuner (hand tuning)
Since no clients has a CDROM but the server, best is you ripp-off
all CDs either in Raw-16bit/44.1kHz or convert it to MP3 (112-256kbps),
and place all files in directories, each song one file, one directory one CD.
Extensions .mp3 and .cddraw will be supported, take a look at MP3 Lab.
|
Video Player | | Controlling elements:
- folders (DVD, AVI, QT files) to play or record
- volume control (slider, up/down)
- brightness, contrast, hue, saturation
- stored:
- selector (next, prev, folder up/down)
- playing list (store favourites)
- live:
- switch: tuner, composite video, svideo
- presets (x MHz -> name)
- frequency tuner (hand tuning)
|
Picture Player | | Controlling elements:
- folders (GIF, JPEG, etc) to display
- zoom in/out details
- brightness, contrast, hue, saturation (default + individual settings for each picture)
- stored:
- selector (next, prev, folder up/down)
- playing list (store favourites)
- live:
- switch: tuner, composite video, svideo, movie-stills, quickcam, scanner, screenshot, collection of screensavers (xlock)
|
More follows later . . .

Last update 2000/07/30 
All Rights Reserved - (C) 1997 - 2008 by The Labs.Com |