Pipe changelog
Pipe changelog
addpipe.com

Logging Fixes for EU Fallback and Recording Client Improvements

 

Improvement

  
  1. We fixed issues with logging during EU region fallback.
  2. We made minor adjustments to client-side variables to ensure server-side logs are recorded with more accuracy.
  3. We added an extra safeguard when sending recording chunks through the WebSocket connection to the server.

Build slug: d380e56e9

Bitrate Now Scales With Resolution Across All Browsers

 

Improvement

  

Our recording client now dynamically scales the video bitrate based on resolution on all browsers (previously, this was only done on Safari). This improves video quality, particularly when:

  1. recording at resolutions higher than 480p with capable webcams
  2. recording on mobile devices (which already ship with capable cameras)

We’ve also aligned bitrate values more closely follow YouTube's recommendations for SDR video at 30fps.

Our documentation has been updated with the latest bitrate details used by the recording client.

Build slug: 1e2c84b63

P.S. For more details, see our in-depth blog post on MediaRecorder video bitrates.

Fixed File Order When Pushing to Our Storage

 

Fix

  

We've aligned the file upload order for the push to our storage mechanism with all the other push to storage mechanisms.

Previously, the raw recording, when enabled, was pushed first, rather than the processed MP4 recording.

Now the following order is respected across the line:

  1. MP4 processed recording
  2. Raw recording
  3. Snapshot
  4. Filmstrip
  5. Audio track

Independent per File Storage Logs

 

New

    

Improvement

  

The storage logs for S3, (S)FTP, Dropbox, and Pipe-complementary storage have received significant improvements.

All storage logs are now independent per file, meaning that each recording and all its associated files (processed recording, raw recording, snapshot, filmstrip, and extracted audio file) will have their own storage logs with specific details.

This will allow you to better track the storage of your recordings and see any issues that may arise in more detail.

Non-Blocking Error Handling

 

Improvement

  

Several errors (regarding permissions, connection and getUserMedia that previously blocked the recording client have been migrated to be non-blocking:

  1. If you deny camera & microphone permissions, you can now retry without refreshing the page (after permissions are given). Tested Chrome, Firefox and Safari.
  2. The error message shown when an existing connection is lost and a new connection can not be re-established is now non-blocking, it allows you to retry the connection.
  3. Migrated unexpected getUserMedia errors from blocking to non-blocking.
  4. If you cancel the screen recording surface selection dialogue (Chrome) or block the screen permission (Safari, Firefox), you can now retry without refreshing the page.

All of these errors now include a "Click here to retry" button. Clicking it reloads the recording client, without refreshing the entire tab.

Build slug: 0dc9ed67a

Optimized Processing for 8K Resolution Videos

 

Improvement

  

We significantly improved how we handle very high-resolution videos (e.g., 8K) on our processing servers.

These changes are especially impactful when the processing servers are under high load, and also allow us to process more such recordings simultaneously without hitting hardware limits.

Non Blocking Audio Warning Messages On Mute

 

Improvement

  
  1. Migrated most warning messages regarding muted devices from blocking to non blocking. Some examples:
    1. Mute triggered through (Logitech) keyboard key
    2. MuteKey app on macOS
    3. Chrome: macOS level input volume set to 0 in System Settings > Sound
    4. Safari's Pause Camera & Microphone option used while recording

^ These are all related to known onmute events received from the browser. Only one blocking warning message remains (Safari's Pause used before recording).

  1. Migrated some audio warning messages from maybe muted to muted.

  2. The muted warnings are now yellow.

  3. The maybe muted warnings are now green.

The related documentation has also been heavily updated.

 

New

  

If the microphone device is muted before initializing the recorder, and we know about it, a warning message is now shown immediately.

Build slug: 71ee6c16b

Improved Silent Microphone Detection & Configurable RMS Threshold

 

Improvement

  

We simplified the detection logic for silent microphones. The silence evaluation now runs repeatedly every 5 seconds (instead of just once, after 15 seconds), and evaluates the last 5 seconds. If the value is below the threshold, the warning message is shown to the user. As soon as the instant RMS value exceeds the threshold, the message is removed.

In our tests, the mechanism works better under heavy stress (CPU Burn Loop & DOM Thrash).

 

New

  

The RMS threshold is now configurable through the new pipe-rmsthreshold embed code option.

Build slug: 1c8374a84

Overhauled our Concurrency Limit Mechanism

 

Improvement

  

The concurrency mechanism keeps track of how many recordings can be processed simultaneously for each account. It only kicks in when the processing server is under high load.

We've made a slew of changes in how it works behind the scenes to make it more robust in the face of external errors.

Microphone Warning Behavior and Input Detection Improvements

 

Fix

  

We fixed an issue where the low-audio warning message could briefly persist after switching to a different microphone, even when valid audio input was present. The warning now clears correctly when changing devices.

 

Improvement

  

We adopted a universally accepted RMS (root mean square) calculation for measuring the microphone input level. We also set the threshold for showing a warning message to below the room-silence level based on 30+ tests with different microphone devices. The threshold is 0.00002.

Build slug: a21aea38f