Of Apple, AAC, And ABZU
One of my long-term projects is to “compress” the mountains of videos I have put on my network drive over the last couple of years into smaller bitrates to save space. I thought a 16TB NAS was basically the same as “infinity” space, but it turns out when you record a whole lot of game videos at 14Mbps, it actually isn’t.
Now, I render my videos to smaller bitrates before putting them on the NAS.
Anyway, many days of the week, I have ffmpeg scripts running on my living room PC all day that will convert directories of these videos down to around 4500Kbps, which effectively shrinks them to about 30% of their original size.
Recently I’ve been working on my “Snap Judgment” video directory, which is where I record the first hour of gameplay for a new game I’m playing. I’ve uploaded a handful of these over the years but most of them aren’t very good so they remain on my hard drive taking up space. Those are roughly what you can expect from my Steam Backlog Streaming Special Series this Blaugust. Those videos are often close to an hour long each so they take up a LOT of space.
Sometimes I randomly pick one to watch before bed on my iPad. (Another reason I want to compress these videos is that the default iPad video player will not play any videos longer than 2GB.) I picked the ABZU video last night because I don’t remember playing ABZU. When the video came up I remembered it. But there was no sound on the video.
This of course triggered my natural “oh-my-god-I’m-a-perfectionist-and-something-isn’t-perfect” response.
There are several reasons my iPad doesn’t play sound on a video I’ve recorded. The first is that I’ve accidentally muted the audio tracks when recording the video. That’s really, really bad. After some four years of practice now, it rarely happens anymore, but I still accidentally mute my microphone sometimes.
You would think I’d do the professional thing and monitor the microphone in my ear buds while I’m recording, so that I can hear myself and know the microphone isn’t muted. In fact that is what I’m going to do with this upcoming streaming thing because Streamlabs OBS has such a subtle UI indicator for when a track is muted that I simply can’t see by looking at their interface whether the microphone is on or not. I could rant for days about how Streamlabs is a bad person and should feel bad for making this UI decision, but I won’t. Let’s just say there’s a reason that on mixers, a big bright light comes on when you press the “mute” button on a channel. Anyway I quickly realized why I’ve never monitored the microphone while recording, and that’s because there is a significant delay between the time that my vocal cords make sound and the time that those sound waves are converted to bytes and travel through all the software and finally get to the ear buds. It ends up sounding like I’m talking in a stadium. That’s the price of digital audio recording: That accursed digital processing delay. Never had to worry about *that* with tape, kiddos.
Why did I go off on that tangent? I don’t remember. Something about being mad at Streamlabs OBS for their incredibly dumb and useless mute indicator on their UI.
Did I mention I tried a stream with Streamlabs OBS? I did. It worked. But I kind of hate Streamlabs OBS. It’s slow. CPU usage was up to 15% during the stream. The UI is useless (see aforementioned mute indicator rant). It’s full of ads. There is literally an ad at the top of the editor window. It switches to a whole different screen when you go live, unless you disable it. I have no idea why I (or anyone) thought it was a good idea to use Streamlabs, except that it *does* have the benefit of an entirely separate configuration from my precious OBS Studio configuration, so there’s no chance of messing up my YouTube video recordings.
Ah, I scrolled up in the text and reviewed my train of thought. I was talking about reasons the sound on this ABZU video might be missing.
The second reason might have been that the audio wasn’t encoded with AAC. I know from previous experience that the default iPad video player does not play sound unless it’s encoded in AAC (as opposed to MP3). Even though AAC is basically just another version of MP3. But it’s an Apple product. So of course that’s how it works. Probably something to do with licensing.
First I played the ABZU video on my PC with VLC. The sound worked fine. So I didn’t mess up the muting at recording time. Phew. No way to fix that.
Next I ran ffmpeg on the video to dump all of it’s technical information and learned that the audio track was, in fact, encoded with MP3 instead of AAC. I have no idea how that happened. I have OBS set to encode in AAC. It’s possible I had to do something to the audio track and ran it through Audacity and had to export it to MP3 before remuxing it back into the video. I can’t export to AAC from Audacity for some reason so I always use MP3. Don’t even get me started on Audacity’s shortcomings. I have no idea why that software is so popular, except that there’s literally nothing else out there to compete with it anymore. I pity anyone who learned to do audio editing with Audacity, and then later had to switch to a *real* digital audio editor for a job or something.
So problem solved. All I have to do now is tweak my compression script to force it to encode the audio tracks in AAC, instead of copying whatever the source encoding is. (Of course then the script will re-encode to AAC teven if they were already AAC, resulting in an imperceptible loss in quality, which triggers the perfectionism response again, so that will not be the final solution to this problem.)
I wrote this post as a companion piece to my tweets this morning, to explain them in greater detail. The tweets were much better writing.
This concludes this riveting story about a brief period of my day yesterday and this morning, and my attempts to make a blog post out of it, stretching those “just get the first draft out the door fast don’t look at it or edit it or think about how pointless it is” writing muscles again in preparation for Blaugust.
P. S. I don’t think I ever wrote about ABZU before. ABZU is a neat game. Well, it’s more of an environment simulator than a game, to be honest. Still neat, though.
This page is a static archival copy of what was originally a WordPress post. It was generated from Markdown files with Hugo, a static web site generator. There may be formatting problems that I haven't addressed yet. There may be problems with missing or mangled images that I haven't fixed yet. There may have been comments on the original post, which I have archived, but I haven't quite worked out how to add them to the new site.
Note: Comments are disabled on older posts.