Main

August 18, 2006

Thumbnail scroll for uploaded video

Nanna and I created this as a possible component of the freeFormed forum/room that would dynamically show and scroll through available video thumbnails.

Check it out: and scroll through.

(on click of an individual image the flv player would begin playing the selected video- this could also potentially be used to display media comments on the video itself or comments on specific video frames).

August 02, 2006

Flash Final Project.....

Yesterday in the sauna that was Nanna's apartment (yes, the AC was hopelessly broken), we managed to get our final project working. Unfortunately, none of it is live because dreamhost decided to go down up until 30 minutes ago, not allowing us to execute any newly uploaded perl scripts from the browser (even though they run fine in the command line, but are obviously untouchable by Flash).

File online (hardcoded), doesn't really work.

Download the Fla

Relevant perl scripts:

Database dump/ffmpeg thumbnails

Load in the video

Here is an example of where the swf would sit inside a forum:

View image

Sitting on the web...temporarily.Test


July 28, 2006

Grouper.com (kinda what we what to do...done by someone else)

Not that I wasn't expecting it, afterall....I'm no genius. So, according to an article at techcrunch today, Grouper, a video sharing site that I have personally only looked at a couple of times, has launched a new feature that allows users to comment on FRAMES OF VIDEO. (aaaaaaaaaaaaaaaaaah). However, instead of using text you comment with your webcam. Here is an example of the app working...pretty cool. I really like the way they designed it, especially the fact that all the comments come up within the player and you can click them and view them immediately.

The site itself is not too bad either. The design is okay. You can create groups and invite others to join. Once inside a group, users can stream music, download personal files, and IM/chat in a private setting with other group members, kind of interesting The video files can also be podcasts. And you can further feed your 'myspace beast' with one click publishing.....But the software is only available for Windows XP....sorry my MAC babies...but hey you probably didn't want it anyway.

More fun with ffmpeg

After many hours of trying to figure out exactly what was wrong with ffmpeg, I was finally enlightened today by Shawn Van Every. So as a result, I have some corrections to make to my previous post. First, in order to initiate ffmpeg from perl you have to use system function not exec (oops..thanks Shawn).

Also to make jpeg thumbnails, the original code was wrong. You actually have to say:

ffmpeg -i inputfile -t 0.001 -ss 1 -vframes 1 -f mjpeg -s 320x240 outputfile.jpg

Where inputfile is the name of the video file, -t is the duration of the image, -ss is the timecode of the frame, -vframes is the number of frames, -f mjpeg is motion jpeg (duh), -s is the size of the resulting image and outputfile is the name of the output file. See Shawn's original post.

And you have to add this to your perl code because perl does not know about the changes made to the .bash_profile and therefor needs the path:

$ENV{'PATH'} = $ENV{'PATH'} .':.:/home/catmindeye//bin:/home/vanevery/lame/include:/home/vanevery/bin';
$ENV{'LD_LIBRARY_PATH'} = $ENV{'LD_LIBRARY_PATH'} .':/home/catmindeye/lame/lib';
$ENV{'RUBYLIB'} = $ENV{'RUBYLIB'} . ':/home/catmindeye/lib/ruby';

Also, in slightly related news, I was having considerable trouble trying to figure out how to get the duration of an .flv file loaded into a swf dynamically using the NetStream object. (this is needed in order to create a timeline bar and to calculate the current frame when a user stops the video to comment for our flash project). I looked at the onMetaData function but it wasn't working. After speaking with Shawn, I found out that the reason it wasn't working is because I had to install the flvtool2 in order to calculate the meta data. See Shawn's post. Now perhaps, we are in a better position to finish this project.

July 24, 2006

Flash Final....first shaky steps toward completion

Over the past week, we figured out how to dynamically load .flv files into a .swf using the netStream and netConnection objects. We also have written the necessary perl scripts to communicate with flash and our database in order to send comments, tags and timecode variables as well as to send the path of .flv files on the server into the embedded .swf in the video forum. Example (looks pretty bad still but special thanks to Jadie for some css help at the last minute).

Most of the rest of the project is still in code only:

Pelr file that sends variables to Flash

Perl file that receives variables from comment box

Continue reading "Flash Final....first shaky steps toward completion" »

July 19, 2006

Pseudo Code for Final Project

We sat down and pseudo coded the project out so that we know what we need to do. Everything seems to be a little more difficult then we had originally thought but completely doable.

Continue reading "Pseudo Code for Final Project" »

July 17, 2006

Flash Assignment Six...Interactive Animal

Swat the Kermit! Check it out, its pretty....well....interesting....

Play me

A project by Nanna Halinen and me.

July 16, 2006

Installing ffmpeg on dreamhost

On Friday Shawn and I went through the process of installing ffmpeg to catmindeye hosted on dreamhost. Ffmpeg is a free, open source multimedia system and command line tool that can be used to encode and decode from and to several different sources. My interest in using FFmpeg, as aformentioned, is to be able to convert incoming 3gp video from mobile phones to flash video and extract thumbnails of each video uploaded. In order to use ffmpeg to convert to Flash video, however, you also have to download and install LAME, an open source MP3 encoder (which may be illegal...but does it really matter?). Ffmpeg does not support MP3 audio, which is what flash uses. Before installing ffmpeg, you should download and install lame.

As a rule, dreamhost does not allow individuals to install anything with the path /usr/local/lib/ so you have to use the --exec-prefix and --prefix command in the configuration: ./configure --exec-prefix=/home/username/lame --prefix=/home/username/lame to install it to a local folder. This is the same with the ffmpeg instalation, however there are a few differences. You have to enable lame as well as amr_nb, amr_nb_fixed, amr_wb and amr_if2. Amr is apparently the audio codec for certain kinds of mobile phone video. We were testing using video from a Nokia 6682 but further testing needs to be done to see what codecs are used by other phones/carriers. In order to enable Amr you have to download the amr software. Unfortunately, I didn't write down the download urls for amr, but once you issus the following command: ./configure --prefix=/home/username/ffmpeg --enable-mp3lame --extra-cflags=-I/home/username/lame/include --extra-ldflags=-L/home/username/lame/lib --enable-amr_nb --enable-amr_nb-fixed --enable-amr_wb --enable-amr_if2 a message comes up that instructs you on where to go and what location to install the necessary files to.

Unfortunately we ran into a problem early on. The C compiler was failing to compile because it was trying to install ffmpeg to a tmp folder instead of to the ffmpeg folder we had created. In order to prevent this, we had to comment out this section of the configure file:

# set temporary file name
#if test ! -z "$TMPDIR" ; then
# TMPDIR1="${TMPDIR}"
#elif test ! -z "$TEMPDIR" ; then
# TMPDIR1="${TEMPDIR}"
#else
#TMPDIR1="/home/username/tmp"
#fi

You also have to make the following changes to the makefile:
CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO and
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/catmindeye/lame/lib (which tells ffmpeg where to find the lame files).

With ffmpeg successfully installed, our next step is to include code in our perl popper that converts the incoming video to flash and stores it in the database. Calling ffmpeg from perl can be done using the exec function which allows you to issue a system command. You then can incorporate the following commands: (from Shawn's Producing Participatpry Media class handout)

ffmpeg -i inputfile -t 0.001 -ss 10 -s 100x100 outputfile%d.jpg (creataes thumnbnails- replace inputfile with the name of your movie file, the number after -t is the duration (in seconds), the number after -ss is the starting point in seconds, the value after -s is the width x height and outputfile is the name of the outputfile. This command will create as many frames of JPEGs as it needs to meet the assigned duration)

ffmpeg -i inputfile -acodec mp3 -ab 32 -ac 1 outputfile.flv (replace inputfile with the name of your movie file, the 32 is the bitrate of the audio, the 1 is the number of audio channels and outputfile.flv is the output file name- make sure you keep .flv)

Once we have tested the converting of video on the fly we will post code.

Flash Assignment Five

I redesigned my mya slide show using more functions.

I think its also much preetier.

Download file

July 10, 2006

Final Project for Flash Class

Although it may be a little soon to think of a final project, what I am trying to do will take some work, especially for me, so I figured I would spell it out early. Basically, I would like to implement ffmeg on my server and enable the perl script that pops video sent via mobile phone to the freeFormed email address to become encoded as flash video. Then, I would like to create an application in flash that handles several aspects of the current video forums of freeFormed, including tagging and commenting on video and tagging particular frames of video, and then inserts this information into a database. In order to do this, I need to start reading up on how flash interfaces with php, I guess. I assume that Nanna will be working with me on this. Hopefully, by the end of class we will have something completed that includes some of this functionality.

July 09, 2006

Flash Assignment Four

Silly cute!

Assignment Four

Flash Assignment Three

Assignment Three

I was having trouble creating multiple images but I am working on it and will make another movie.

July 03, 2006

Flash Assignment Part Deux


Download file

June 27, 2006

Online Video Editing Apps

Until I read this article, I had no idea that eyespot was using a javascript video editor. I also had no idea that they had competition in the form of Motionbox and Jumpcut. I checked out these two sites. Motionbox was by far my favorite in terms of user interface and overall design. What can I say, I love the concept of the tag cloud (even though tagging is somewhat dead). However, Jumpcut seems to have a much wider user base and additional features, such as the inclusion of photos, event notification, commenting and a differentiation between 'clips' and movies that make it much more interesting. Both websites include the ability to create and join groups, although Motionbox seems to have very few. Jumpcut also provides users with the absolute url of any selected video and code to embed the video (yay for myspace users...I guess...although this is obviously useful for many other reasons), while Motionbox provides users with the ability to share videos with others via email or link to it via its url. Both applications use flash for editing purposes. I still think that eyespot's new fuctionality, especially their mobile posting capabilty, make them a much more interesting app, but I would still LOVE to make comments on things (if not tag stuff)...maybe they're listening...

June 26, 2006

First Assignment in Flash

Unfinished....meaning I'm not completely happy with it.

Download file

First Day of Learning Flash

Today was my first day of Design and Development with Flash with Eric Socolofsky. Given that I have played with Flash sparringly since Flash 4, I figured it was time to actually learn about it the right way, especially actionscript. Given the shortness of the class, I am not sure how much I will actually absorb, but Nanna and I are hoping to learn enough to start creating freeformed's video forum's in Flash and talking to php, and thus a database, with actionscript. Ultimately, we are probably looking to start playing with adding supplementary information, such as tags and comments, to frames of video, as well as other interesting features to expand the video forum user interface. On a more simple note, we are hoping to create animations for the site that explain the process of using freeformed, mobile posting and site navigation.