About an hour ago I watched A Digital Video Primer for Geeks. This is, hands down and no exceptions, the best instructional video I’ve ever seen. It takes a complex, dry, detail-filled topic and presents it with lucid clarity and a sense of fun.
They’re not kidding about the “for geeks” part; the exposition is fast and dense and assumes the reader is able to handle having concepts as complex as Nyquist’s theorem thrown at them in one go. But the exposition is also very clear and direct, and delivered with a keen sense of which details need most emphasis. The effect is only secondarily to impart facts; what they’re attempting, successfully, is to give the viewer a feel for the subject matter, an overall grasp of how the pieces fit together which can be filled in by later deep-diving into the pieces.
Full marks to Monty for his delivery, which is excellent on all levels. I’m no slouch myself at presenting technical ideas in accessible language, but I will cheerfully admit that this is as good as me at the top of my form, or possibly better. I know how much skill and effort is concealed in making a performance like this look casual; if you don’t, just trust me that what Monty has pulled off here is quite impressive just as an act of presentation-fu.
And yes, this is a video – not just an e-book narrated by a well-spoken talking head. The uses of props, whiteboard, and special effects are tasteful and understatedly clever. I particularly enjoyed the playful use of special effects to illustrate things like sample-rate compression, signal-clipping artifacts and how YUV chroma representation actually works. That was a very effective way to tie those abstractions to experiential reality so the viewer won’t forget them.
The material was ideal for my level of knowledge at start. That is, if you have (a) programmer chops, (b) a bit of basic knowledge of the physics of sound, and (c) you’ve heard of Nyquist’s theorem before and broadly grasp the relationship between sampling rate and cutoff frequency, you’re going to eat the rest of the video up like candy. Probably (c) isn’t necessary; what it meant for me is that I started getting new material at the point where Monty explained about sample rates above 44.1 being a way to get away with cheaper bandpass filters.
In general, the production is unobtrusively immaculate. This is all the more impressive because it’s clear the piece was shot on a tiny budget. And it proudly announces at the end that only open-source tools were used. Creative Commons license, natch.
One final thing: On top of all its other virtues, this video is a lovely aesthetic expression of the hacker posture of mind. If you are a hacker, you will know what I mean by this when you watch it; if you aren’t, there is little to no point in my trying to explain. If you think you may be becoming a hacker, watch it twice. Then get a night’s sleep and watch it again. This will help you in broad and subtle ways.
I got some lectures like this in school, but they were more analog-heavy. I learned a lot about analog broadcast signal construction, but never a whole lot about digital except what I learned on my own. This was a keen video; thanks for the pointer!
Having spent several years teaching A/D for audio in digital systems for PBX, telco, and various communications equipment… And having a closet full of ‘scopes, meters, and other toys – This is one of the BEST primers I have ever seen. Props – BIG props! to the whole team that did this. And, you’re right, it is a STUNNING display of using a whiteboard with GREAT effect. Thanks for the review.
This was a great video! I really enjoyed it!
That was so interesting! And best of all, it contained the info I’ll need to fix some video export code I wrote (turns out I’m missing gamma correction, guess the avcodec library doesn’t do this automatically.) Bonus!
Ironically, the embedded HTML 5 video is badly out of sync when played in Chromium 6.0.x. Those who haven’t watched yet will definitely want to download the Ogg Theora format video. (I guess I shouldn’t be too surprised.)
Good stuff! Now safely saved in a growing folder of educational stuff to show my son when he’s older, along with a bunch of Feynman videos.
The video covers the basic pretty well. Delving into digital video has been something of a hobby for me for a while; I made the “mistake” of asking “how, exactly does this work?” while learning about various transcoding tools on Linux. To be fair, to learn how to transcode video, you have to learn some stuff about container formats, A/V codecs, and so forth, so it wasn’t long before I I starting learning about stuff like the Nyquist theorem and Fourier translations. Thing is, no matter how far I get into it, I always feel like there’s more to learn, especially since this area in computing is constantly evolving.
Thank you for pointing that out; it’s as cool as you said.
Nice video, thanks. That said, I don’t get your last comment. The video seemed overall very well done, informative, and elegant in its presentation, but I didn’t see anything especially hackerly to it, it just looked like general good form. Does this mean I have the aforementioned hacker posture of mind without realizing it, or am I completely missing your point?
>Does this mean I have the aforementioned hacker posture of mind without realizing it, or am I completely missing your point?
I don’t know enough about you to guess. But I’ll mention the first thing that looked to me like hacker humor: the sly take on Magritte’s “Ceci n’est pas un pipe” adorning a toaster oven that had been repurposed, probably as a wave-soldering machine.
Heh. That was pretty awesome. As someone who took Digital Signal Processing in college, yeah, it’s pretty dry stuff; the sound effects really help to connect with the material.
Great video. The real hack is performed on your ability to learn and understand complex stuff.
Thanks for finding this for me, ESR. I don’t usually have any patience for videos but this one was brilliant and I watched it all the way through, enthralled. I definitely learned a lot of things here.
You’ve never thought about doing this sort of thing yourself? I’d love to see some of your classics put into video form.
@Ivaylo: You missed something. One of the key points of the video is that this stuff isn’t really that hard to begin with. People just think it’s hard because they don’t know anything about it. It’s kind of like programming: there’s nothing inherently difficult about writing and debugging code, it’s just that people are unfamiliar with it so it seems hard. The hard stuff, as in any discipline, is all in architecting solutions and solving problems.
I second the call for esrTV.
@Morgan Greywolf: Well, being intimidated by the subject is a problem that needs to be addressed. If the main stuff is indeed that simple, then this is the only problem that needs to be addressed. A guitar teacher once told me – do not show off the hard stuff you can play. Always perform as if the piece is easy and fun to play. If it is too hard, practise more or just don’t perform it in public.
At some point I realized that everything I am good at is actually very simple compared to the things other people are good at (not sure if this works the other way around). I have a theory that stupid people are not that stupid after all, just their model of the world is too confusing for a human brain to work with. If I could just show people the simple pictures that fuel my intuition they would immediately grasp the subject and magically reduce their brain load, allowing them to think productively. Even if the basics are simple, people still have to be tricked into acknowledging they are. If you don’t show any formulas or code you might get away with teaching them the laws of thermodynamics or color theory before they have the chance to figure it out and run away screaming.
I often find myself thinking “Hey, why doesn’t my mom use a simple spreadsheet to manage her business finances?” or “Hey, why doesn’t my sister localize a few open source projects to boost her resume as an interpreter?” or “Hey, why doesn’t my cousin take that firecracker out of his nose before firing it?” If I am smart enough to figure it out, my relatives should be too. They just have a very confusing picture of the subject. Maybe I can fix that. Reaching decisions and finding solutions on the other hand is their job.
Good advice. It took me many years to figure this out. (Well, except that I play woodwind instruments, not guitar. Unfortunately, I no longer have any horns, so it’s been years so.)
No. Stupid people are really that stupid. It also took me many years to realize that. The sad thing is that the people that hang around this blog are among a rare breed. Most of the people you’re likely to encounter everyday probably have an IQ around 90-95 or so. Many have less. It’s a bit depressing when you stop to think about it.
Ivaylo is partly correct. Many people are simply intimidated into believeing that a subject is too hard for them to understand. I refer to this as the ‘747 cockpit shock’ In a 747 you would be confronted by a huge amount of indicators and information about every system in the aircraft. IT DOES look very intimidating and the thought is ‘how could anyone know all this stuff?’. However the pilot is of course disinterested in most of that info, requiring a glance at any particular indicator(dial, display, graph) only once in a while during flight. For instance he/she onlly looks at the gear up/down indicator twice in any flight. Once when its coming up and once when it(hopefully) is down and locked.
OTOH, some people seem genuinely stupid, at least at times. witness the vast array of ‘dumb criminals’ stories out there like the guy who shoplifted a pair of jeans by going into the change booth and donning the new jeans and walking out, leaving his ratty old pair behind,,,with his wallet and ID still in them.
Digital A&V is the same. There is a huge number of arrangements of the data, different sample rates, different frames rates, different compression but all you would be interested in at any one time would be with the stream you are working with and of course there is nothing ‘hard’ about a stream of ones and zeros no matter how fast they are being transmitted.
hmmm, all that said I first looked into this because of a question that was asked of me and I did not know the answer.
Analogue video (NTSC) was transmitted and stored on tape as two fields representing the odd and even scan lines. Thus each field is not a complete image of the scene (its missing lines) and the next field does not complete the scene exactly since it occurs a set time after the previous field.
In progressive digital video each frame is a complete scene.
What about interlaced digital? Does the camera actually scan the entire image then output alternating fields? In this case combining both fields would complete the scene and be temporally in sync unlike the analogue interlaced.
Does the camera again as in analogue scan each field at separate intervals and out put them alternately?