Category: Something I learned

Something new I learned recently.

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 automatically downloaded plugin called “OpenH264… 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 call navigator.sendBeacon().  If your page… 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 indeed rejects, elaborate constraints.  {… 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 next() with an object made… Read more →