Repository of useful FFmpeg command lines for archivists!
- What is this?
- How do I see it?
- How do I contribute?
- Code of conduct
- Maintainers
- Contributors
- AVHack Team
- Sister projects
- Articles and mentions
- License
To facilitate better understanding of FFmpeg through collaborative sharing of useful scripts and detailed flag-level description of how each script works, so archivists can copy-paste and produce their own scripts, but also understand how and why they work.
The code is found in the gh-pages branch (the default primary branch). Readme is right here. You can see the site live on GitHub pages.
You can also install the latest release on your computer with the two commands:
brew tap amiaopensource/amiaos
brew install ffmprovisr
and then call it locally with the command:
ffmprovisr
This works currently under macOS, Linux and the Linux apps on Windows (Ubuntu and Debian tested). On classic Windows you can install the last release manually and the open index.html
in a browser.
A list of all recipes in an easily parseable ASCII text format is provided as well. It contains for each recipe its title and command in the following format:
# title of recipe 1
ffmpeg command 1
# title of recipe 2
ffmpeg command 2
...
# title of recipe n-1
ffmpeg command n-1
# title of recipe n
ffmpeg command n
The used one-liner is in the scripts
folder.
You are welcome to edit the codebase yourself, or just supply the information and ask it to be added to the site.
To contribute to this project directly (and more quickly), clone this repository and create a new branch (git checkout -b your-branch-name
) and add or modify a new block in index.html
. Then submit a pull request and the maintainers will review and integrate your code. There is a commented-out sample block available at the bottom of index.html
that can be a guideline for your command.
- Recipes should ideally do just one thing or solve one problem, to keep things as user-friendly as possible and to avoid unintended side-effects
- Explanations and examples for recipes should be as generic as possible, to allow users to alter the command for their own use-case.
- This may involve the use of
VARIABLE_NAMES
- Example: Fade video and audio streams
- This may involve the use of
- Some recipes may benefit from including a GIF that shows the output
- Some recipes require an explanatory section which may not fit gracefully into the recipe itself
- Example: Rewrap a file
- Recipes involving
-filter_complex
can be some of the most verbose and difficult to understand, so breaking these down as much as possible into their relevant sections is ideal- Example: Generate two access MP3s from input
- Some recipes may refer to a specific standard or vocabulary, and it's useful to link to these so that the user can scale the recipe to their use case
- Example: Generate Broadcast WAV
If you are having trouble with coding it yourself or with GitHub, feel free to submit an issue with the kind of command you would like to see added to the site.
If you want to help but don't have a new script to add, you can help us by testing out the scripts available, by refining or clarifying the documentation, or creating an issue for anything that sounds confusing and requires clarification.
You can read our contributor code of conduct here.
Ashley Blewer, Katherine Frances Nagels, Kieran O'Leary and Andrew Weaver
- Gathered using octohatrack
Code Contributors:
ablwr (Ashley)
alavigne12 (A. Lavigne)
Anushka-codergirl (Anushka Raj)
bastibeckr (Basti Becker)
bturkus
dericed (Dave Rice)
digitensions (Joanna White)
edsu (Ed Summers)
jamessam (Jim Sam)
jfarbowitz (Jonathan Farbowitz)
kfrn (Katherine Frances Nagels)
kgrons (Kathryn Gronsbell)
kieranjol (Kieran O'Leary)
llogan (Lou Logan)
macasaurusrex (Maura)
mgiraldo (Mauricio Giraldo)
pjotrek-b (Peter B.)
privatezero (Andrew Weaver)
retokromer (Reto Kromer)
rfraimow
All Contributors:
ablwr (Ashley)
alavigne12 (A. Lavigne)
Anushka-codergirl (Anushka Raj)
audiovisualopen
bastibeckr (Basti Becker)
brainwane (Sumana Harihareswara)
bturkus
dericed (Dave Rice)
digitensions (Joanna White)
drodz11 (Dave Rodriguez)
edsu (Ed Summers)
EG-tech (Ethan Gates)
federicomenaquintero (Federico Mena Quintero)
Fizz24
GregH18
jamessam (Jim Sam)
jfarbowitz (Jonathan Farbowitz)
JonnyTech
jronallo (Jason Ronallo)
kellyhaydon (metacynic)
kfrn (Katherine Frances Nagels)
kgrons (Kathryn Gronsbell)
kieranjol (Kieran O'Leary)
llogan (Lou Logan)
macasaurusrex (Maura)
mercuryswitch
mgiraldo (Mauricio Giraldo)
mulvya
nkrabben (Nick Krabbenhoeft)
pjotrek-b (Peter B.)
privatezero (Andrew Weaver)
retokromer (Reto Kromer)
rfraimow
richardpl (Paul B Mahol)
ross-spencer (Ross Spencer)
taschenbach (Tommy Aschenbach)
todrobbins (Tod Robbins)
Repo: amiaopensource/ffmprovisr
GitHub Contributors: 20
All Contributors: 37
Last updated: 2019-12-11
Association of Moving Image Archivists & Digital Library Federation Hack Day 2015
Ashley Blewer, Eddy Colloton, Rebecca Dillmeier, Jonathan Farbowitz, Rebecca Fraimow, Samuel Gutterman, Kelly Haydon, Reto Kromer, Nicole Martin, Katherine Frances Nagels, Kieran O'Leary, Catriona Schlosser, Ben Turkus
The Cable Bible: A Guide to Cables and Connectors Used for Audiovisual Tech
FFCommand_Engine: a tool for easier use of FFmpeg binaries
QEMU QED: instructions for using QEMU (Quick EMUlator), a command line application for computer emulation and virtualization
Script Ahoy: Community Resource for Archivists and Librarians Scripting
sourcecaster: helps you use the command line to work through common challenges that come up when working with digital primary sources.
- 2019-09: Andrew Weaver & Ashley Blewer, Sustainability through community: ffmprovisr and the Case for Collaborative Knowledge Transfer (PDF), iPRES 2019
- Andrew Weaver won iPres' Best First Time Contribution Award for his work on this paper :)
- 2018-11: ffmprovisr is mentioned in a job advert!
- 2017-10: Ashley Blewer & Katherine Nagels, ffmprovisr gets a redesign
- 2015-11: AMIA & DLF Hack Day 2015, ffmprovsr - the genesis of ffmprovisr (then spelled without the 'i')
This work by ffmprovisr is licensed under a Creative Commons Attribution 4.0 International License.
Based on a work at https://github.com/amiaopensource/ffmprovisr.