Cat and Girl:
I make music and DJ, and I would like to bulk edit and search my media using my own criteria, especially when it comes to dealing with the crappy media metadata that other artists give me with their tracks. In general I am interested in managing the affiliated artwork and various media artefacts in bulk, en masse and without paying Adobe to waste my hard disk space with their nonsense software.
See also machine listening, playing music.
Technical details of converting AV formats from whatever you have, to whatever you need to use.
Check with your local jurisdiction’s intellectual property laws before doing any of these.
See also remix, innovation.
rip web videos
Remember kids, for fair use only!
youtube-dl is an incredible script that (despite the name) downloads not just youtube videos but whole playlists of videos from many many websites, setting up transcoding etc for offline use.
Rip VCDs because copying the files doesn’t work. (see also ripping VCD to various formats) Two choices. Firstly, using Mencoder which is ubiquitous but ugly.
$ mplayer vcd:// # tells you how many tracks. rip desired ones: $ for i in 2 3 4 5 6; do > mencoder vcd://$i -oac lavc -ovc lavc -o track_$i.avi ; > done
Depending on where you want to play it, the following non-re-encoding step might be more hi-fi:
$ mplayer vcd://2 -dumpstream -dumpfile filename.mpg # No re-encoding
On the other hand, you might want to play this on a mac, which won’t work with either of the above steps without specialist software, so you’ll need to re-encode. See FFMPEG for that, since I couldn’t make it work with Mencoder.
Alternatively, use a specialist vcd ripper, such as
vxdxrip in the
ffmpeg is handy for video, or extracting audio from video, or whatever other permutation of these ingredients you wish.
Documentation is not so much abstruse, as requiring knowledge of the minor implementation details video formats which is one of the most boring domains of human endeavour imaginable, and something that only patent trolls and sometimes engineers are paid enough to care about. Thankfully we have copy-pasta.
FFMPEG is conservative in its default install under homebrew, skipping anything that might conceivably infringe upon any patent at all or that sounds like too much effor; you might want something more expansive, like:
brew install ffmpeg --with-librsvg --with-fdk-aac --with-libsoxr --with-libvorbis
If you wish to salvage pure audio for your sampling (up to you to ensure this is legal in your jurisdiction) by getting rid of the empty video track:
ffmpeg -i mangled_file.m4a -acodec copy -vn plain_audio_file.m4a
Or replace a video soundtrack:
ffmpeg -i v.mp4 -i a.wav -c:v copy -map 0:v:0 -map 1:a:0 -shortest new.mp4
Or to stitch photos to video for making animated GIFs:
ffmpeg -framerate 5 -start_number 1234 -i IMG_%04d.JPG \ -c:v libx264 -pix_fmt yuv420p -vf scale=1920:-2:flags=lanczos \ -crf 20 -preset slow -c:a copy ../something.m4v
There is a wiki for each major format, e.g. AAC audio and H.264 video.
There is a dummies’ guide.
Using these I have stitched together a workflow for, e.g. converting annoying camera video into something modern:
$ for i in 2 3 4 5 6 7 8 9 10 11 12 13; do > ffmpeg -i filename_$i.avi \ -c:v libx264 -preset slower -crf 22 \ -c:a libfdk_aac -vbr 5 \ filename_$i.mp4; > done
Normalizing is easiest with ffmpeg-normalize.
see image editing
XLD, X Lossless Decoder, is an excellent free app for transcoding arbitrary audio between formats.
Need offline versions of youtube videos or youtube video soundtracks? Firefox extension Media extractor gets these. There are SO MANY times you need this, such as giving lectures in Indonesia with supporting videos where you don’t have 1 hour to cache EACH VIDEO if YOU ARE LUCKY. Grrrrrrr. Also, AFAICT it’s legal in Indonesia as long as you don’t show penises in said video, but I am no lawyer, so this is not legal advice. I suspect it is illegal in DMCA jurisdictions, so don’t do it there.
Automated transcoding of some format playable in iTunes which you can’t sample in your audio software:
Macsome Audiobook/itunes converter (Sporadically updated, has trouble with recent iTunes)
tuneskit have a converter that seems to mostly focus on DRM-removal rather than general media conversion. Whilst it works with recent iTunes, it is not fantastically flexible in configuration options; If you have a particular encoding quality or sampling rate that you wish to convert to, this will not help you, and you will end up using XLD.
noteburner will also give it a burl, and although it is light on features seems to actually work.
exiftool, exiv2 seem to be popular media maniplation libraries. pyexiv2 is a python binding.
Erase all (or most) of the explicit metadata from an image:
exiftool -all= filename.jpg
ExifTool is not guaranteed to remove metadata completely from a file when attempting to delete all metadata. For JPEG images, all APP segments (except Adobe APP14, which is not removed by default) and trailers are removed which effectively removes all metadata, but for other formats the results are less complete:
JPEG - APP segments (except Adobe APP14) and trailers are removed.
TIFF - XMP, IPTC and the ExifIFD are removed, but some EXIF may remain in IFD0.
PNG - Only iTXt, tEXt and zTXt chunks (including XMP) are removed.
PDF - The original metadata is never actually removed.
PS - Only some PostScript and XMP may be deleted.
MOV/MP4 - Only XMP is deleted.
RAW formats - It is not recommended to remove all metadata from RAW images because this will likely remove some proprietary information that is necessary for proper rendering of the image.
openshot is the name of the open source video editor I always forget.
Subler is an Mac OS X app created to mux and tag mp4 files. The main features includes: (sic)
Creation of tx3g subtitles tracks, compatible with all Apple’s devices (iPod, AppleTV, iPhone, QuickTime?).
Mux video, audio, chapters, subtitles and closed captions tracks from mov, mp4 and mkv.
Raw formats: H.264 Elementary streams (.h264, .264), AAC (.aac), AC3 (.ac3), Scenarist (.scc), VobSub? (.idx).
metadata editing and TMDb, TVDB and iTunes Store support.
beets A python library: “The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes using the MusicBrainz database. Then it provides a bouquet of tools for manipulating and accessing your music.” Free, in every sense.
supports acoustic fingerprinting! I mean in a useful way, for you identifying your own tracks, as opposed to some faceless corporation issuing takedown notices against your family videos on youtube. What a refreshing change.
Also analysing via echonest. Why yes, I would like to be able to index my music by “danceability”, “energy”, “liveness”, “loudness”, “speechiness”, and bpm, whatever the fuck they are, why not?
…and key detection
A gui cousin of beets is ex falso, the metadata managing end of Quod Libet, the media player.
“Yate was developed for people who are serious about tagging and organizing their audio files. The application was designed from the ground up for Mac users. It is a 100% Cocoa written application and uses its own tagging library. Yate will tag mp3, m4a, AIFF, wav, dsf and FLAC files.
Yate has a long list of features, including an innovative scripting system called actions. The app also supports integration with Discogs, MusicBrainz, AcoustID and iTunes.” ($20.00)
MediaRage: “A collection of powerful tools for media enthusiasts with a Macintosh using Mac OS X. Media Rage can read and write information stored in MP3, AAC/MP4, FLAC, AIFF, WAVE, BWF, and Ogg Vorbis audio files as well as EXIF (read only) tags in digital images. Media Rage can assist you in cataloging, organizing, sorting, and updating thousands of audio files with ease.” ($29.95)
Keyfinder. Plush lookin’ student project that classifies things by musical key, not to mention all the steps along the way - it can visualise chord structures, melodies and key changes too.