FFmpeg Controller Grasshopper plug-in (GPL) initiated by Marc Differding and Antoine Maes
Tapeworm is a free and open source multimedia plugin for Grasshopper for Windows and macOS written in Python.
Tapeworm currently allows you to create videos from image sequences and vis versa, transcode between various image formats, rename entire image sequences, and much more. Past are the times, when you had to use some obscure websites, or sign up for an expensive software subscription.
Tapeworm uses the free and open source FFmpeg project - a cross-platform command-line-based program for transcoding multimedia files -, and offers some of its functionality to Grasshopper users. For various reasons, we decided not to include a build of FFmpeg in the current Tapeworm release, which means that you have to install it yourself (if you don't already have it).
- License
- Tapeworm Installation
- Tapeworm Update
- Tapeworm Uninstall
- FFmpeg Installation
- Credits
- Useful Links
Tapeworm: FFmpeg Controller Grasshopper plug-in (GPL) intiated by Marc Differding and Antoine Maes
Copyright (c) 2020-2021, Marc Differding and Antoine Maes
Tapeworm is a free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Tapeworm is distributed in the hope to be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Tapeworm; if not see http://www.gnu.org/licenses/.
@license GPL-3.0 http://www.gnu.org/licenses/gpl.html
📌 Tapeworm is now available in the Rhino PackageManager! If you wish to install it manually, follow the Manual Installation instructions below.
📌 Both installation methods require you to download and install FFmpeg yourself. You can find an install guide further bellow.
- Remove any previous manual Tapeworm installation first, by following both steps from the Manual Uninstall guide below.
- In Rhino 7, enter the command
PackageManager
, orTestPackageManager
for Rhino 6. Rhino 5 users need to install Tapeworm manually! - In the PackageManager window, search for "tapeworm", and install it.
- Relaunch Rhino.
-
Download the latest Tapeworm release from Food4Rhino or GitHub.
-
Unzip the downloaded file (your internet browser might already have done this for you).
-
Inside the extracted folder, you will - find amongst other files - a folder called Tapeworm, and a folder named Tapeworm_UserObjects:
- Move the folder named Tapeworm to the Grasshopper Libraries folder. You can open the Libraries folder by going to File > Special Folders > Components Folder in the Grasshopper menu bar.
- Move the folder named Tapeworm_UserObjects to the Grasshopper UserObjects folder. You can again access to the UserObjects folder by going to File > Special Folders > User Object Folder.
-
Relaunch Rhino.
Note: Rhino 5 users additionnally need to install the GHPython plugin for Grasshopper.
📌 PackageManager installations also get updated in the PackageManager!
- In Rhino 7, run the command
PackageManager
, orTestPackageManager
for Rhino 6. Rhino 5 users need to update Tapeworm manually! - In the PackageManager under the Installed tab, look for your Tapeworm installation, and update it (if a newer version is available).
- Relaunch Rhino.
- Remove any previous manual Tapeworm installation, by following the Manual Uninstall guide.
- Follow steps 1 through 5 from Manual Installation above to install the new version.
- Relaunch Rhino.
📌 PackageManager installations also get uninstalled in the PackageManager!
- In Rhino 7, run the command
PackageManager
, orTestPackageManager
for Rhino 6. Rhino 5 users need to uninstall Tapeworm manually! - In the PackageManager under the Installed tab, look for your Tapeworm installation, and uninstall it.
- Relaunch Rhino.
- Delete the folder named Tapeworm from the Grasshopper Libraries folder
- Deleting the folder named Tapeworm_UserObjects from the Grasshopper UserObjects folder
- Relaunch Rhino.
📌 You only need to install FFmpeg, if it isn't already installed on your computer!
📌 The Tapeworm FFmpeg Remote component will try to automatically locate your FFmpeg installation the first time you place it on the Grasshopper canvas! On Windows, the FFmpeg executable can by default only be located on the C:/
drive! If you prefer to keep it on another drive, you need to manually change the WIN_SEARCH_PATH
variable in Tapeworm/config.py!
Click to expand!
-
Go to ffmpeg.org and select Download from the left navigation
-
Hover your mouse over the Windows logo, then click on the link shown in the image below
-
Scroll down a little and download the latest stable FFmpeg by selecting the link showed in the image below
-
Move the extracted folder (whatever its name) to your
C:/
drive -
Et voilà!
Click to expand!
-
Go to ffmpeg.org and select Download from the left navigation
-
Click on the image showing the Apple logo, or alternatively on Static builds for macOS 64-bit below
-
Download the latest stable FFmpeg binary by selecting Download as ZIP under ffmpeg-4.x.x.7z
-
Unzip the downloaded ffmpeg binary (your internet browser might already have done this for you)
On macOS, binaries like ffmpeg are usually installed in
/usr/local/bin
. For Tapeworm, it doesn't really matter where you put ffmpeg, since it should get auto-detected. The following steps are thus optional, but recommended! -
In Finder, select Go > Go to Folder... from the top toolbar, or use the keyboard shortcut SHIFT + CMD + G
-
Move the unzipped ffmpeg binary to
/usr/local/bin
If your ffmpeg icon does not depict a small, black terminal window - like the one above - your binary has no executable rights (can't be opened as a command line tool), and you need to follow the following, additional steps to fix this:
-
Open a terminal (
Applications/Utilities/Terminal.app
) -
Make the ffmpeg binary executable by entering
sudo chmod +x /usr/local/bin/ffmpeg
, and confirm with your passwordThe ffmpeg binary icon should now show the tiny, black terminal window.
-
And you're done!
You obviously need to have the Homebrew package manager installed for this to work.
The algorithm for computing the Levenshtein distance between two strings was derived from pseudo-code found in the same-named wikipedia article and translated to Python.
Some organizational and structural parts of the code are based on Andrea Rossi's Wasp, a free and open-source plugin for discreet design in Grasshopper.