Software

From ActiveArchives

Jump to: navigation, search

Core to the Active Archives project is the development of software to put into practice the project's goals. Rather than proposing a single monolithic application, AA aims to develop of a range of smaller software tools and plugins that work with other existing tools and established practices. All software from the project is released under a Free Software License, and made available via a subversion respository.

Contents

[edit] Active Archives Video Wiki

The Active Archives Video Wiki inverts the paradigm of uploading resources into a centralized server and instead allows resources to remain "active", in-place and online. Caching and proxy functionality allow (light-weight) copies of resources to be manipulated and preserved even as the original sources change or become (temporarily) unavailable. Strategically, the project aims to clarify some of the "cloudy" aspects of Web 2.0 regarding issues of licensing, sharing, ownership, access, and longevity of online material.

Read more at Active Archives Video Wiki.

[edit] Earlier versions

[edit] Browser (VJ12)

An earlier version the "video wiki" prepared to display a curated selection of videos during the VJ12 conference.

The Active Archives Browser inverts the paradigm of uploading resources into a centralized server and instead allows resources to remain "active", in-place and online. Caching and proxy functionality allows (light-weight) copies of resources to be manipulated and preserved even as the original sources change or become (temporarily) unavailable. Strategically, the project aims to clarify some of the "cloudy" aspects of Web 2.0 regarding issues of licensing, sharing, ownership, access, and longevity of online material.

The AA Browser is conceived as the foundation for an ongoing project of a "video wiki"; Designed to break open the "black box" of online video, users are encouraged to write with video, creating new compositions made from collages of disparate (online) elements. The Active Archives project (initiated by Constant in 2007) is an ongoing research project in collaboration with cultural institutions which aims to support a range of use from traditional archiving practice (collecting, annotating, preserving) through to new forms of breaking apart and reassembling elements in novel compositions, to themselves be shared for further (dis)assembly.

[edit] AA0.2 (Constant)

A "video wiki" supporting audio and video elements to be uploaded, transcoded, collectively annotated.

[edit] Videogrep

Videogrep was a "proof of concept" script to demonstrate how a subtitles file could be used as a means of editing.

[edit] Collage Code

Collage Code (software) is a "proof of concept" media player based on the idea to start from the "scrub bar" as a way of loosely joining different kinds of media: video, audio, HTML, images. In a nutshell, it allows time-based web-pages using simply placing HTML in an SRT format timesheet. See also Collage Code.

Code available via subversion.

[edit] Playlist

The software in use at Cinéma du réel, Paris, March 2009]

Playlist is a simple php-based script created to support a simple online "shared slide show". Users can upload their images via the web & choose where to place their image in the sequence.

Code available via subversion.


[edit] Disappearance

Disappearance script in action

This script takes a subtitle file (.srt) as parameter and removes all but the first one of its word occurrences.


#! /usr/bin/env python
 
import sys, re
from optparse import OptionParser
from textwrap import dedent
 
 
# inits usage and arguments
usage = "usage: %prog srt_file"
parser = OptionParser(usage=usage)
(options, args) = parser.parse_args()
 
# checks the arguments length
if len(args) != 1:
    parser.error("incorrect number of arguments")
 
# opens the subtitle file and reads its content
try:
    f = open(args[0], 'r')
except IOError:
    sys.exit(dedent("""\
        Error: I can't open your subtitle file.
        Are you sure it exists?\
    """))
else:
    subtitles = f.read()
    f.close()
 
pattern = re.compile(r'[a-zA-Z]+') # creates a pattern to search words
 
words = pattern.findall(subtitles) # finds all the words
words = [w.lower() for w in words] # convert those words to lowercase
words = list(set(words)) # uniquifies the words
 
# replaces all the occurrences of the words but the first one
for word in words:
    # finds all the occurences of the current word
    pattern = re.compile(r'\b%s\b' % word, re.IGNORECASE)
    occurrences = pattern.finditer(subtitles) 
 
    uniq = True # Does the word appear more than once?
 
    # loops over all the occurrences of a word
    for occurrence in occurrences: 
        # replaces the occurrence with spaces
        if uniq is False:
            spaces = ""
            for letter in range(len(word)):
                spaces = spaces + " "
            subtitles = subtitles[:occurrence.start()] + spaces + subtitles[occurrence.end():]
        else:
             uniq = False 
 
print subtitles

[edit] IRC2srt

IRC2srt
IRC chat synchronized with cat video
Active Archives with annotations
Top right: IRC2srt / Left bottom: simultaneous but disconnected annotations

We realized a number of exercises dealing with the idea of "live subtitling". A problem we ran into was the "cache-ing" of SRT files, both by mplayer and JavaScript.

Seeing that the current version of ActiveArchives already provides for video-mediated conversations, we looked into more traditional conversation/chat software. We agreed to watch a video and comment it on the IRC channel.

We realized that we were dealing with two different timelines: the timestamps of IRC logs and the timeline of the video.

(12:13:51 PM) snelting: we've seen it before ...
00:45 -->
we've seen it before ...

The conversions back-and-forth were done manually.

We didn't press the play button at the same time ("synchronize watches" fashion). This gave room for play with time offsets.

Personal tools