[Reader-list] Live ASCII Streaming

Drazen Pantic drazen at location1.org
Mon May 21 13:31:25 IST 2001


Live ASCII Streaming of Video



1. Introduction 
    
  The Internet, with its architecture, infrastructure and media
  characteristics, is a challenging arena for video experimentation and
  dissemination. The concept of moving images, sound and text over
  decentralized TCP/IP network lead to the development of Web, streaming
  technologies and recently pear_to_pear (P2P) standards. Due to basic
  characteristics of Internet traffic and communication, net streaming
  is - and always was - different from one_to_many full broadcast
  quality distribution channels. And regardless of strong commercial
  tendency to bring Internet streaming to - in terms of known business
  and conceptual commercial models - safe heavens of "network
  television", audio/video presentation on the Internet still remains
  something different.

  One of the experiments in using Internet technology in representing
  video material is ASCII streaming, in which illusion of the motion is
  brought to experience by moving ASCII text based images, within the
  fixed raster matrix on the screen. ASCII streaming does not try to
  bring Internet multimedia streaming close to "broadcast quality", but
  goes into totally different direction: representing video as the
  sequence of moving images composed of ASCII letters.


1.1. History 

  From the early presence of personal computers and low resolution
  character based printers, one of the very first applications was
  printing pictures and photos as ASCII characters, presenting visual
  images as the matrix of letters. With the development of high quality
  printers, ASCII pictures almost disappeared.


1.1.2. ASCII Art Ensemble

  Recent effort of bringing the sensibility and esthetics of absolute
  technologies into realm of current practices and technological
  development is work of ASCII Art Ensemble, [1].

  ASCII Art Ensemble has taken the task of converting seminal pieces of
  film and video into the ASCII movies: the sequence of text segments -
  characters representations of the movie frames. They have developed
  software for converting video into ASCII files as well as the first
  ASCII player. Player was developed as Open Source Java Applet.

  Similar work on creating the Java applet that allows the user to
  display an animation of ASCII text is available on [2], although
  author does not provide source code, and require a his name and URL to
  appear in the accompanied Web page.


1.1.3 HasciiCam

  Major step forward towards live ASCII streaming has been made by
  Jaromol and the group around dyne.org, [3]. Their product,
  Hasciicam..."makes it possible to have live ASCII video on the web. It
  captures video from a tv card and renders it into ASCII, formatting
  the output into an html page with a refresh tag or in a live ASCII
  window or in a simple text file as well, giving the possibility to
  anybody that has a bttv card, a linux box and a cheap modem line to
  show a live ASCII-video feed that can be browsable without any need
  for plugin, java etc. Hasciicam's source code is released under the
  Gnu Public License." ...(taken from [3]).


2. Live ASCII Streaming Implementation

  The following (ASCII) scheme shows the flowchart of the
  implemented live streaming:

                                  
                 |video feed      
                 |                
                 v                
    +------------|-------------+  
    |  Linux box with:         |  
    |  - bttv video card       |  
    |  - hasciicam software    |  
    -------------|--------------  
                 |                
                 V                
           ,-----------.          
        ,-' ASCII file  `-.       
       ( (10-15 frames/sec))      
        `-.             ,-'       
           `-----------'          
                 |                
                 V                
          +-------------+         
          | Web server  |         
          +-------------+         
                 |                
                 V                
          ,-------------.         
       ,-'  ASCII Java   `-.      
      (      player         )     
       `-.               ,-'      
          `-------------'         
                                  

2.1. Encoding

  Encoding (converting analog video feed into the sequence of ASCII
  files) has been done on a Linux box with video card and software
  (bttv) package that enables digitizing and importing of video material
  through composite/S-video input.

  HasciiCam package decomposes video in the sequences of frames and
  converts frames into corresponding ASCII file. An example of one such
  file taken from the live feed from live cam in front of Location One,
  could look like [4].


2.2. Java Player

  ASCII output from the Hasciicam is then sent to the http server that
  is to deliver content to Web users. But, st it is obvious from [4],
  the output is not directly suitable for presentation as the ASCII
  video feed. Few additional features were needed:

  * more realistic user experience and clear representation of the ASCII
  feed in a form of a movie;

  * platform independence, so that this relatively light video
  presentation could be played on variety of computers and computing
  devices;

  In order to accomplish those goals we have developed a small, open
  source Java player for live ASCII feed, ASCIIMATOR. Player has been
  developed starting from ASCII Art Ensemble Asciimator player, but
  different nature of live streaming has forced substantial changes of
  Java code. The player is available as open source and free software,
  under Gnu Public License, [5]

  The demonstration of the live feed from the cam in front of the
  Location One is available on [6].


2.3. Portability and Playing on Handheld Devices 

  The player software and described practice has been developed having
  in mind handheld devices (Palmtops, WAB phones, DoCoMO cells in Japan
  etc) that can handle Java code.  ASCII streaming on such devices is
  fully justified by the low resolution screens and generally modest
  computing power, not sufficient to decompress highly compressed
  movies.



[1] http://www.ljudmila.org/~vuk/ascii/aae.html
[2] http://www.ericharshbarger.com/java/
[3] http://ascii.dyne.org/
[4] http://204.181.65.31/ascii/aka
[5] http://location1.org/documentation/Asciimator.java
[6] http://204.181.65.31/ascii/



---
You are currently subscribed to tacticalmedia as: rsundar at del2.vsnl.net.in
To unsubscribe send a blank email to
leave-tacticalmedia-163032H at forums.nyu.edu






More information about the reader-list mailing list