infinite-video-fall-2023
infinite-video-fall-2023 copied to clipboard
Syllabus and materials for "Infinite Video" a 10-week course at the School for Poetic Computation
Infinite Video @ SFPC, Fall 2023
Instructor: Sam Lavigne | [email protected]
Assistant Teachers: Ilona Brand & Jonathan Gray
Location: Online
Time: Tuesdays 6pm to 9pm & Wednesdays 10am to 1pm (NY time)
Office Hours: By appointment
UPDATE
This course is now concluded! You can view the participants' final projects at https://lav.io/notes/infinite-video-showcase/
Description
How can code and automation help us see and manipulate large collections of videos in new ways? What do novel approaches in machine learning help make evident? On the flip side, what do these same approaches prevent us from seeing? What do they obscure? How can automated "content generation" be leveraged for political, poetic, and critical ends?
In this experimental video art class students will explore the possibilities (and limitations) of using Python, command line tools, and machine learning models as a means to critically analyze, filter, sort, edit, and compose video.
We will look at historic and contemporary examples of artists and activists working with video archives, with a focus on the political dimensions of experimental filmmaking. Students may bring their own video archives to work with, or use material we collect online. The class will conclude with a public screening of student work.
Assignments
At the start of the course, you'll select a video corpus that you'd like to work with throughout the ten weeks (you can, of course, change this at any time). Each week we'll cover a new technique for programmatically editing, composing, or analyzing video. The assignments are meant to be short exercises to familiarize yourself with the tools, and to apply them to your corpus of material. Outputs should be short and experimental rather than completely realized works. Every week a few people will share what they've made.
The last 3-4 weeks of the class you'll work on a longer project with an open brief. If you choose, you can also just work on this throughout the course and ignore the weekly assignments. It's up to you!
In either case, every week there will be an opportunity for a few students to share what they made with the rest of the class.
Readings
Readings are listed on the day they are assigned, not due. All readings that aren't already linked will be shared over discord. We'll devote a portion of each class to discussing the readings, with students taking turns leading the conversations.
Schedule
Week 1: Orientation
- Meet the participants, setting up your computer, intro to the command line (time-permitting)
Readings
- Archive Fever: Photography Between History and the Monument by Okwui Enwezor
- Radical Software Volume I "Presentation"
- Beyond Noblesse Oblige by Rick Prelinger
Assignment - Archive (due week 2):
Find a collection of video material to work with. This could be something that you don't currently have access to. It could also be material that you've produced yourself. Share it with the class. Why are you interested in this archive? What does it say or reveal? What does it omit or exclude? If possible, bring a short clip to share in class (no more than 3 minutes) that highlights some of the qualities of the archive that you find interesting.
Week 2: Basic tools
- Assistant teacher presentations
- The command line, downloading material with yt-dlp, playing video with VLC & MPV, manipulating video with FFmpeg
Readings
- The Cutup Method
- Glitch Studies Manifesto
- Busting the Tube: A Brief History of Video Art
Assignment - Supercut (due week 3):
Create a composition using just FFmpeg. Feel free to use FFmpeg Explorer, or the command line if you prefer. Experiment with running the same FFmpeg command on different source material.
Week 3: Spoken word
- Videogrep, natural language processing
Readings
- On the Dangers of Stochastic Parrots by Emily Bender et all
- Language models can only write poetry by Allison Parrish
- A Genealogy of Distant Reading
Assignment - Language (due week 4):
Create a supercut using Videogrep. Feel free to experiment with natural language processing techniques using spacCy if you'd like.
Week 4: Editing video with code
- Moviepy, vidpy
Readings
- When Film and Database Collide by Perry Bard
- Always Already Just by Dejan Grba
Assignment - Procedural composition (due week 5):
Create a composition using MoviePy or VidPy. Experiment with order, randomness, layout, transitions, juxtaposition, and text.
Week 5: Object detection
- Splitting a video into shots, analyzing the content of shots
Readings
- In Defense of the Poor Image by Hito Steyerl
- AI Is a Lot of Work
Assignment - Subject composition (due week 6):
Create a composition that selects for particular visual subject matter.
Week 6: Classification
- Using classifiers, training classifiers, zero-shot classifiers
Readings
- The Syrian Archive by Jeff Deutch and Hadi Habal
- Data Activism and Meta Documentary in Six Films by Forensic Architecture
Assignment - Classification (due week 7):
Use an existing classifier, or train a new one to identify content in your video material.
Week 7: Publishing
- Ways of publishing command line tools and putting video on the web
Readings
- TBD
Assignment - Final project:
For the rest of the class, you should work on a single project. It's completely up to you what you make.
Week 8: Work time
- Individual meetings
Week 9: Work time
- Small group crits
Week 10: Final presentations
- Share your work!
Week 11: Screening
- We'll conclude with a screening of student work from both sections, data TBD.
Technical Resources
General
- Command line tutorial (by me)
- UNIX tutorial for beginners
- Python basics tutorial (by me)
- Learn Python - a free and reasonably good python book
- Hugging Face - a huge collection of machine learning models that you can use
Video
-
FFmpeg: command-line multimedia manipulator
- FFmpeg Explorer - visual tool to explore FFmpeg and generate commands
- FFmpeg.app - good FFmpeg examples
- ffmprovisr - many basic ffmpeg commands
- ffmpeg-python - python library for ffmpeg
- OpenCV - computer vision library
- MoviePy - Python library for editing video
- VidPy - Another Python library for editing video
- Videogrep - Create automatic supercuts
- VLC - video player
- MPV - another video player
- yt-dlp - command line tool to download video from almost any website
Audio
- pydub - Python library for editing audio
- sox tutorial - tutorial for working with Sox, a command-line audio editor
- Paulstretch - Python tool for making audio super slow
Language
- spaCy - a great natural language processing library
Some Artists, Archives & Inspiration
(in no particular order)
- Nam June Paik
- Soda Jerk: Hello Dankness
- Arthur Jafa: LOVE IS THE MESSAGE, THE MESSAGE IS DEATH
- Hannah Black: My Bodies
- Christian Marclay: The Clock
- Aarati Akkapeddi
- Rodell Warner: Augmented Archive
- Nao Bustamante: Rosa Does Joan
- Crackhead Barney
- Kameron Neal: Down the Barrel (of a Lens)
- John Akomfrah: The Last Angel of History
- The Prelinger Archives
- Adam Harvey: Exposing AI
- Syrian Archive
- Forensic Architecture
- Everest Pipkin: Default Filename TV
- Andrew Normal Wilson: ScanOps
- Liz Magic Laser
- Neta Bomani: Dark matter objects
- James Bridle: The Distractor
- Total Refusal: Red Redemption
- Bruce Connor: Crossroads
- Josh Begley
- Emily Jacir: Ramallah/New York
- Mimi Onuoha: Machine Sees More than it Says
- Addie Wagenknecht and Pablo Garcia: brbxoxo
- Natalie Bookchin: Mass Ornament
- Gretchen Bender
- Disnovation: The Pirate Cinema
- Jeff Thompson: Computers on Law & Order
- Herdimas Anggara
- Marcus Coates: Dawn Chorus
- Tehching Hsieh: One Year Performance
- Jill Magid: Evidence Locker
- Everything is Terrible
- Hito Steyerl: How Not to be Seen: A Fucking Didactic Educational .MOV File
- Camille Henrot: Grosse Fatigue
- Monoskop Video Art Archive
- Big list of digital artists working with archives
- Video Data Bank (archive of video art)