Introduction
Yesterday, I met Felix Bänteli, an artist who has a passion for collecting vintage equipment. Among his treasures was a 2007 Canon EOS 40D, a groundbreaking camera at its time. As we chatted, we remarked on how images on social media, especially on platforms like Instagram, all share the same polished aesthetic. These images, with their perfect lighting and impeccable composition, for me often blur the line between reality and AI-generated content.
This conversation sparked an idea: what if we tinkered with this ancient camera to create something unique and different? We decided to connect it to a Raspberry Pi 3 to stream its live view over the network, pushing the boundaries of what this old device could do. The EOS 40D, primarily a stills camera, was among the first to offer a live view feature. Using tools like gphoto2
and ffmpeg
, we aimed to capture and stream its live preview.
The results were amusing and thought-provoking. The live stream had a noticeable green glitch and a significant delay, likely due to network latency or the camera’s processing capabilities. However, this “flawed” imagery made us question the homogeneity of modern social media visuals. The glitches and imperfections in our stream felt more authentic, a stark contrast to the over-polished photos we see daily. It was a reminder that not all images need to be perfect to be genuine.
VIDEO 1 green glitch
In experimenting with this setup, we captured a screenshot directly from the Raspberry Pi, revealing the familiar scene of a table and window in a distorted yet fascinating way. These abstracted views of light, color, and shadow challenged our perceptions and inspired us to think differently about photography in the digital age, think about the non-human like other animals and machines see the world around.
The room as human/camera see
VIDEO 2 The room as machine/camera see
This experiment was more than just a technical exercise; it was a playful exploration of the old and new, a reflection on the current state of digital imagery and imagination. Maybe we can keep tinkering in the direction of the machine/camera see with the colors and numbers… maybe we can find how the machines dreams…
Setting Up a Live Stream from Canon EOS 40D on Raspberry Pi to Mac
Requirements:
- Raspberry Pi (with Raspbian installed)
- Canon EOS 40D
- Mac computer
- SSH access to Raspberry Pi
- Installed
gphoto2
,ffmpeg
, and VLC
Steps:
- Access the Raspberry Pi via SSH: Open the terminal on your Mac and connect to your Raspberry Pi using SSH. You can check in the tutorial below
- Update Raspberry Pi: Update the package list and upgrade all packages to their latest versions:
sudo apt-get update sudo apt-get upgrade
- Install gphoto2: Install
gphoto2
for capturing the live view from the Canon EOS 40D:sudo apt-get install gphoto2
- Install ffmpeg: Install
ffmpeg
, which will be used to stream the video over the network:sudo apt-get install ffmpeg
- Capture and Stream Live View: Use
gphoto2
to capture the live view and pipe it toffmpeg
for streaming over HTTP:gphoto2 --capture-movie --stdout | cvlc - --sout '#standard{access=http,mux=ts,dst=:8080/liveview}'
- Open VLC on Mac: Open VLC on your Mac and go to
File > Open Network Stream
. Enter the network URL of your Raspberry Pi stream:http://<Raspberry_Pi_IP_Address>:8080/liveview
Alternative: Local Testing on Raspberry Pi
Before streaming over the network, it is useful to test the live view capture locally on the Raspberry Pi. This helps to ensure the setup is working correctly before adding the network layer.
Local Capture and View: Capture the live view locally and open it with VLC directly on the Raspberry Pi:
gphoto2 --capture-movie --stdout | cvlc
Tutorial: Setting Up and Accessing Your Raspberry Pi 3 from a Mac Terminal
In this tutorial, we’ll walk through the steps to set up your Raspberry Pi 3 using your Mac terminal. This includes preparing the micro SD card, configuring network settings, and accessing the Raspberry Pi 3 via SSH.
Step 1: Download Raspberry Pi Imager
Install Raspberry Pi Imager on your Mac.
Step 2: Prepare the SD Card
- Insert the micro SD card into your Mac.
- Launch Raspberry Pi Imager.
- Choose OS: Select “Raspberry Pi OS (64-bit) recomended”
- Choose Storage: Select your micro SD card.
- Advanced Options:
- Enable SSH by checking the appropriate box.
- Configure Wi-Fi by entering your SSID and password.
- Optionally set the hostname, e.g.,
camera.local
.
- Write: Click the “Write” button to start the process. Raspberry Pi Imager will download the chosen OS image and write it to your micro SD card.
Step 3: Eject the SD Card
- Safely eject the SD card from your Mac once the writing process is complete.
Step 4: Insert SD Card and Power Up
- Insert the SD card into the Raspberry Pi and power it on.
Step 5: Find the Raspberry Pi’s IP Address
Use a network scanning tool to find the IP address of your Raspberry Pi.
Using arp-scan
:
- Install
arp-scan
:
brew install arp-scan
- Scan your network:
sudo arp-scan --localnet
Look for the Raspberry Pi in the output.
Step 6: SSH into the Raspberry Pi
- Open your terminal on Mac.
- SSH into the Raspberry Pi:
If using hostname:
ssh pi@camera.local
If using IP address:
ssh pi@<IP_ADDRESS>
The default username is pi
and the default password is raspberry
.
Step 7: Change Default Password
For security reasons, change the default password once you log in:
passwd
Summary
- Download and install Raspberry Pi Imager.
- Prepare the micro SD card using the imager, enabling SSH and configuring Wi-Fi.
- Insert the SD card into the Raspberry Pi and power it up.
- Scan your network to find the Raspberry Pi’s IP address.
- SSH into the Raspberry Pi from your Mac terminal using the default credentials.