Digital recordings and converting between them.

Technical details of converting audiovisual formats from whatever I have, to whatever I need because everything disagrees about how to transmit these things.

Check with your local jurisdiction’s intellectual property laws before doing any of these. I honestly have no idea any more what is legal and what is not, and am not qualifed to advise on the legality of anything here, in any jurisdiction.


Ant provides open-source WebRTC streaming.

Rip web videos

This was essential when I was teaching in Indonesia and the bandwidth in the classroom was too low to allow us to stream the video. AFAICT it is legal in Indonesia as long as you don’t show penises in said video, but I am no lawyer, so do not take this as legal advice. I suspect it is illegal in DMCA jurisdictions, in which case, don’t do it there.

youtube-dl (source) is a script that (despite the name) downloads not just youtube videos but whole playlists of videos from many websites, setting up transcoding etc for offline use.

$ brew install youtube-dl
$ youtube-dl ''
[youtube] esV6ypDDoVA: Downloading webpage
[youtube] esV6ypDDoVA: Downloading video info webpage
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[download] Destination: BIGGEST WAVES EVER SURFED IN HISTORY …-esV6ypDDoVA.f136.mp4
[download]  53.3% of 56.97MiB at  1.61MiB/s ETA 00:16

youtube-dl was taken down by the RIAA. And then not. Lesson: If apps like these are important to your activities (and naturally, if the activities they enable are legal in your jurisdiction) then you would be wise to keep your own copy rather than relying on it remaining online. The potential use in infringing American and German law seem to mean that access to them is tenuous for the rest of the world.

yt-dlp/yt-dlp: A youtube-dl fork with additional features and fixes is a hipster alternative.

brew install yt-dlp

You-Get seems approximately equivalent. The website is better. when downloading a looping video off youtube I noticed that it downloads an infinitely long video.

Jwz’s minimalist youtubedown is a script that seems optimised for a no-fuss server-side download bookmarklet:

Given a YouTube, Vimeo, Tumblr, Vine or Instagram video URL, downloads the underlying video file, with a sensible file name. It downloads the highest resolution version of the video available: first it tries HD MP4, then regular MP4, then WebM, and finally FLV. It also works on playlists, and works as a bookmarklet to download the video you’re watching.

Need offline versions of youtube videos or youtube video soundtracks? Firefox extension Media extractor gets these.

Ripping DVDs

xenomachina/dvdrip is a useful script to bulk convert DVDs using handbrake CLI that works around some weird misfeatures of Handbrake. It has a glitch with recent handbrake.

Ripping VCDS

Rip physical VCDs because copying the file on the apparent filesystem is not sufficient. (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 vcdimager system.

Creating MP3

Use lame. My default fairly hi-fi mode is

lame --preset fast extreme


The ubiquitous multitool of audio/video decoding. Essential. See FFMPEG.


Handbrake is a GUI for movie conversion. It also has a useful Comamnd line, installed separately.


A transcoder for audio which works many useful places including Windows. The UI is functional if confusing.


XLD, X Lossless Decoder, is an excellent free app for transcoding arbitrary audio between formats. It is open source and has a great UI but only runs on MacOS.


High effort, high-fidelity scripted transcoding.

Video players

  • IINA is the hip new stripped-back media player for macOS. I think it wraps MPV?
  • VLC is the universal media player that does a lot of things, usually confusingly.
  • mpv is also a video player; more stripped down than VLC.

Editing video

See video editors.

Searching/indexing/analysing music

I made a new notebook for that.


See PDFs.


See photos.


See image editing.

Learning codecs

Can I train a neural network to learn a low-bitrate encoding scheme for data? maybe.

No comments yet. Why not leave one?

GitHub-flavored Markdown & a sane subset of HTML is supported.