Firefox has limited ability to handle H.264

The Firefox browser’s WebRTC and MediaRecorder functionality can handle H.264 (Advanced Video Codec) coding and decoding, but only with H.264’s constrained baseline profile. Other, higher, profiles just don’t work. And in Firefox’s WebRTC implementation (v87) attempts to use higher profiles fail more-or-less silently. Firefox works around all the patent issues with H.264 by using an … Read more

Web Beacon API

There’s a sweet little function in web browsers called the Web Beacon API.  It’s a simplified version of the XHR or Fetch API that does a fire-and-forget POST operation to a server. It’s nice for a few reasons.  First, browser Javascript (front-end Javascript) can use it without any need to process results coming back. Just … Read more

getDisplayMedia vs. getUserMedia

I’ve been messing around with the browser API navigator.mediaDevices.getDisplayMedia(). The question I hoped to answer: can I capture the content in some computer display surface and push it through the same sorts of process that I use with .getUserMedia()? I tested on Google Chrome 84. Answer: yes. It has some quirks. It doesn’t need, and … Read more

Handling errors in nodejs and express

Many people surely know all this by now. Still, here are some things I’ve recently learned about notifying clients (browsers, API clients) about errors. Delivering errors from route handlers to clients This is remarkably easy, once you figure it out. Just use the http-errors package. (Beware, not the http-error package; it does something different. Call … Read more