met with kathy to work on art installation, isadora
Motion detection and object tracking with Isadora
Isadora is a graphic programming environment for Macintosh (with a Windows version now in public beta) that provides interactive control over digital media, with special emphasis on the real-time manipulation of digital video. Available from http:// www.troikatronix.com/isadora.html. Kathy Marmor has used it in some of her recent art installations. She asked me to help her wire in some sensors to detect the location of people within a space. Took two approaches:
- Video camera as sensor
- ultrasonic range detector
basic approach was the same:
- Employ Sprite widget. Background image was some sort of map or arial photograph; sprite was any generic marker.
- Wire X and Y coordinates of sprite to sensor inputs
For the video camera, the Video-in watcher widget captures video from FireWire device. Video piped and filtered through Difference widget, which compares the previous and current frame of the video input stream, generating a video stream that show areas that are different as a light color, and areas that are similar as dark.
Above is an example (click to enlarge). In the previous and current frames of video, the hand has moved just slightly to the right. The brightest part of the resulting difference is the edges, that is, where the image is most different. Parts that are similar (the palm for instance) are darker.
Output of Difference widget piped into the Eyes widget. The Eyes widget reports the location of the brightest object in the video stream, based on its location in a grid superimposed upon that video stream. It also reports the size of the object, and its velocity (i.e., speed of movement.) Output of Eyes widget piped into the Sprite widget, which moves the sprite on the screen. Here is the final program. Click to enlarge
Activity Log
- helped casey lamont with mediawiki installation
- explained html forms and form processing to Brian Moore (a web design consultant for the Dean of Student office)
Activity Log
- updated blog with progress reports
- communications with b bittman/wruv about upcoming icecast server
- experimented with ohphonex
ohphonex
Works, but with caveats If using over NAT (like, my airport at home), must pass port 1720 through router to laptop. If trying to talk to NetMeeting clients, even more ports must get passed through. NNoot for the timid. If off campus user wants to talk to on-campus user, on-campus user must call off-campus user, just like with iChat. I hate firewalls. Also need to manual activate "Send and Recieve video" and "user h.245 tunneling." Steve and I worked on it for about an hour before we could see and talk.
Videoconferencing is silly
Faculty member needs to give a talk remotely at U of malta, has some questions. For future reference, here’s my answer
Video conferencing is still way more difficult to use, or even understand, than it should be.
First, let’s clear up some terminology:
H.323 – a communications protocol standard, which negotiates audio/video capabilities and establishes the audio/video media streams. The term "h.323" is generally used to refer the set of protocols used during the signaling process and the streaming of media. The basic idea is that any h.323 compatible product can communicate with any other h.323 product. h.323 is also specific to communications over the internet
H.320 – The original ISDN videoconferencing standard. Pretty much the same as h.323, but over dedicated telephone lines rather than the internet.
codec – stands for COMpressor/DECompressor. Television and video contain far too much information to send across the internet unless it is compressed at the sending end and decompressed at the receiving end. The codec refers to the method used to compress and decompress the audio and video. There are dozens of different codecs, and both parties trying to communicate must be using the same one in order to communicate. Some codecs are implemented in software; others are built into dedicated hardware. One of the jobs of h.323 compliant products is to make sure both parties are using the same codec.
H.261 – a video codec for fast internet connections (>=3D 64kbps)
H.263 – a video codec for slow internet connections (< 64kbps)
H.264 – "an ultra-efficient new video codec called H.264. H.264 delivers stunning video quality at remarkably low data rates, so you see crisp, clear video in much smaller files. Chosen as the industry-standard codec for 3GPP (mobile multimedia), MPEG-4 HD-DVD and Blu-ray, H.264 represents the next generation of video for everything from mobile multimedia to high-definition playback. Numerous broadcast, cable and video conferencing groups consider H.264 the video codec of choice for their deployments." (Apple web site)
NetMeeting – an old, officially discontinued Microsoft product for video conferencing. NetMeeting is H.323 compliant.
OhPhoneX – an experimental, limited feature H.323 product for the Macintosh
————–
When Steve Cavrak said, " At first blush (mine), I think Tiger will do it for us !" he was referring to the inclusion of the H.264 codec implimented in software (QuickTime 7) as part of Tiger. By itself, H.264 does nothing.
Tiger does include a next generation iChat client, but iChat does not use H.323 (it uses SAP, another protocol standard).
So, when Michael Caruana says
Video conference should ideally be held over H.323 (that is, over the data network and not over ISDN telephony)
He means, "Use an H.323 compliant product, because that’s what we are using and if you don’t, we can’t see you and you can’t see us because we are using different standards."
and when he says
What is important is that you must have a dedicated video-conferencing codec (nothing to do with the Macs or PCs). Does your department offer video-conferencing facilities? This is important to establish a high-quality audio-video link.
He means, "For the video ONLY — the most important part — don’t just use any old H.323 product (like OhPhoneX or NetMeeting) on a PC or Mac, but rather use a dedicated piece of specialized hardware, like these here from Polycom
http://www.polycom.com/resource_center/0,1454,pw-7059,FF.html And when he says
I’m not sure re: Macs…will have to check from our side too. I suggested Microsoft net meeting for the data sharing part (i.e. >> sharing Power Point separately from the video conference itself).
He means Use NetMeeting, but just for the Powerpoint slides. This is a feature of NetMeeting that falls outside of H.323 standard. OhPhoneX for Macintosh does not have a similar feature. In fact, most H.323 products don’t have this feature.
Somebody — I’m not sure who — said:
Please ask whether your establishment offers dedicated video conferencing services. Perhaps the Computing Services there might be able to help you. If you do not have any such services available, then > we can always try and connect anyway, but I have my reservations on > the quality projected here. A test should give a fair idea. How do you normally connect to colleagues? Do you enter some sort of number similar in format to: 193.188..42.1
Yes, our establishment does. Contact Wes Graf at instructional TV services . They have fancy TV cameras attached to VTel brand hardware codecs. This would satisfy the them-see-you part of the equation. They can hook up some computers in such a way that a technical director switches between your face and your slides. They might be able to handle the NetMeeting part, too, such that one screen in Malt shows your face and the other shows you slides via NetMeeting.
Wesley Monteith Graff III
Wesley.Graff@uvm.edu
Manager Instructional TV
Continuing Education
232 Rowell N/A Hlth
(802)656-4213
they charge real money: $55 per hour.
You could use ohPhoneX for the Macintosh, but then Malta won’t see the slides.
WRUV icecast
What a pain this has been, but at least it’s now working, sort of.
I found something called esd sound daemon, ported to MacOSX via darwin ports project. Needed a bit of a hack to work with Griffin iMic USB sound input, but it works.
- Wrote a perl script to start esd sound daemon at startup. esd captures sound, does nothing with it.
- Wrote a perl script to launch encoder at startup.
- esdrec grabs sound from esd, pipes it through stdout.
- lame encodes it.
- Another custom perl script uses libshout and Shout.pm perl mod to send sound to icecast server.
So, the encoder looks like this
/usr/local/bin/esdrec | /usr/local/bin/lame -b 256 - - | /usr/local/bin/ice_send.pl /usr/local/etc/ice_send_256.conf
ice_send_256.conf has the server name, password, username, and mount point for the stream.
Actually doing two streams
/usr/local/bin/esdrec | /usr/local/bin/lame -b 128 - - | /usr/local/bin/ice_send.pl /usr/local/etc/ice_send_128.conf
Been using weasel as server and source, now using wruv mac as source. been using weasel, badger, and now funnelweb as server. Listen at http://funnelweb.uvm.edu:8005/wruv_test_128.m3u http://funnelweb.uvm.edu:8005/wruv_test_256.m3u
meanwhile, Brian Bittman, external WRUV non-student volunteer, has been setting up an alternate linux box for encoding. Which will ultimately be used is to be determined.
Activity Log
- experimented with isadora, for use with electronic arts projects
- experimented with ohphone
- worked with kent getting icecast installled on funnelweb
- tried to figure out why my homepage doesn’t work
- worked with frank on getting rss feeds on his home page
Media Server
On Apr 20, 2005, at 9:29 AM, Kent G. Saunders wrote: >
- Icecast 2.2.0
- Server: funnelweb.uvm.edu >
- Port 8005 (configurable) >
- Relay Pasword: xxxxxx
- Media can be stored in /usr/local/share/icecast/web >
- Protocol to use is http >
- File test: http://funnelweb.uvm.edu:8005/Fun_Fun_Fun_edited.MP3
- Stream test: http://funnelweb/uvm.edu:8005/ices (need server up on my > workstation) > >
I think that with this information you should be able to get the radio > station online. > >
appeared to be inaccessible from off-campus, but Kent fixed. Now have WRUV streaming at
STUPIDMAGIC
I sent this to the webteam…
Is there something hard-coded into SUPERMAGIC that says if dirname=waw do nothing?
- I renamed my old public_html folder
- I ran ~webmster/makemagic to create a new one
- I deleted ~waw/public_html/defaultmenu.html
- I go to http://www.uvm.edu/~waw and I get nothing
Yet http://www.uvm.edu/cit/wawtest works beautifully? What gives?