Changelog

Every update to the Pipe platform: new features, improvements and fixes.

EncodingError Fix, New Audio Warning Option, and Improved Video Quality from Safari

Fix New Improvement

The recording client now correctly handles a new EncodingError message (“The given encoder configuration is not supported by the encoder.”), restoring the fallback behavior on older Android devices. Previously, the monitored message was “Video encoding failed”.

Added a new embed code option called disableaudiowarningmsg to hide the warning message displayed at the bottom of the recording client when no audio is detected.

Video quality on Safari: Switched to a variable video bitrate for MP4 video recordings (Safari on iOS and macOS) for better video quality. The requested bitrate now ranges from 0.3Mbps for 320x240 to 14Mbps for 4k recordings (instead of defaulting to 2.5Mbps).

^le: A separate 5Mbps limit remained in place until we removed it in this build.

Microphone Input Warning: Switched to checks every 1 second (instead of 2) when we detect a microphone with no input. We mark an input device as having sound right away (without waiting for 15 seconds as in the initial implementation).

Build slug: fd21de285

Versioning Support Added to the 2.0 Recording Client

New

The 2.0 recording client now fully supports versioned builds, allowing you to lock your integration to a specific version.

For full details on how versioning works, selecting a version, and best practices, please refer to our documentation.

Below are the currently available builds, along with their build slugs and release dates:

Local Playback After Recording

Improvement

Our main audio, video and screen recording client now plays back recordings directly from a local in-memory blob, eliminating the need to fetch files from the ingestion server over HTTPS. This is how the existing download function works. This improvement enables instant playback and seeking. The improvement will be visible especially to users on slow or unstable connections like mobile connections.

Build slug: 9249ecb2d

Improved Handling of EncodingError During Screen Recording

Fix Improvement

When recording screens with very high resolutions (above 4K), some browsers could trigger an EncodingError, preventing the recording from starting.

The recording client now includes a fallback mechanism: if an EncodingError occurs during screen recording initialization, it will automatically retry using the VP8 codec and attempt to restart the recording instantly.

Build slug: 2706f69e8

Improvements to the account dashboard

Improvement Fix

We’ve made the following improvements to the account dashboard:

  • The storage logs pages now show the upload bitrate value for successful uploads (the bitrate covers the main recording output file);
  • The recordings page now calculates the bitrate value correctly (decimal value was not taken into consideration);
  • The bitrate value is displayed in a more human-readable format;
  • The rotation value is now correctly shown just for recordings that have it;
  • The daily recordings limit section is now also shown in the account page;
  • The recording client is now shown centrally on mobile devices on the public pages generated from the dashboard;
  • The correct unit of measure for size (MiB instead of MB) is now shown in the subscription page;
  • The subscription page has new information about the maximum number of concurrent recordings processed during load per region.

Concurrency Limit for Processing Recordings During High Load

New

We’ve implemented a new concurrency limit mechanism that activates ONLY when a processing server hits a certain threshold considered a high load.

It works in the following way

The concurrency limit means only a specified number of recordings may be processed at a time per account by our processing servers. Each account has a concurrency limit value based on the account type:

  • Trial accounts: 1 maximum number of concurrent recordings processed during load
  • Standard/Creator accounts: 2 maximum number of concurrent recordings processed during load
  • PRO accounts: 4 maximum number of concurrent recordings processed during load

The above limits will be enforced when more than half of the available processing workers on the server are in use at any given moment. Otherwise, the per-account limits are ignored, and accounts can ‘burst’ and use more workers than their limit allows for recording processing.

Things to note

  • The concurrency limits are individually enforced for each recording region. This means, for example, that you may go over the limit on the US1 region but still be under the limit on US2.
  • Any recording that will be denied being processed because of going over the limit will be retried by our retry mechanism.

Better Rotation Information

Improvement

The recordings list in the Pipe account dashboard now displays rotation information for all recordings, including those made from mobile devices through streaming - they carry rotation information too - and those made natively on mobile devices but uploaded from a desktop device.

Full Keyboard Accessibility for the Recording Client

Improvement

Our recording client is now fully accessible via keyboard navigation. All interactive elements can be reached and operated using standard keyboard controls, improving accessibility for end users.

Screen Recording Fixes and Improvements

Fix Improvement Other

Fixed an issue on Safari where starting a screen recording could fail with the error message InvalidStateError occurred.

Added support for screen recording without microphone or microphone access.

When screen sharing, you’ll now choose the screen sharing surface 1st and then you’ll be asked for microphone access.

Change Screen Share Source

New

Two important updates to our recording client when used for screen sharing & recording:

  • You can now change the screen sharing surface after initializing the recording client. You can now select a new screen, window, or browser tab to record by using the icon in the bottom menu.
  • The recording client now automatically detects when end users end a screen sharing session by closing the shared window/tab or by using the system/browser Stop Sharing button (browser support might vary).

For more information, please refer to this blog post.

New WordPress Plugin Version 1.0.7

Improvement
  • Exposed new embed code options to customize the background and menu colors of the recording client
  • Fixed an issue where the recording client width was incorrectly using pixels instead of the specified unit

Teams: Invite Others to Join Your Pipe Account

New

You can now invite others to join your Pipe account. Each user will be able to sign up and access the Pipe account with their own credentials.

Invites can be sent in batches of up to 5 if needed, and can be manually canceled one by one.

The account’s owner (the user who originally created the account) is the only one who can send and cancel invitations.

For a more detailed view of the new feature, you can read the blog post.

Improved Support for Custom Constraints

Improvement

Custom constraints can now be passed directly as a string containing a JavaScript object (instead of JSON strings) through pipe-gumconstraints and pipe-gdmconstraints. This makes it possible to copy examples straight from the official MDN documentation without extra formatting.

Support for Custom Constraints

New

Our main recording client now supports custom getUserMedia() and getDisplayMedia() constraints through the new pipe-gumconstraints and pipe-gdmconstraints embed code options.

Being able to pass custom constraints has a number of benefits including having access to all audio, video and screen recording constraints (including new or experimental ones) and being able to make audio and video quality changes more easily, directly in the embed code.

Separately, two new JavaScript methods (updateGUMConstraints() and updateGDMConstraints()) allow you to change these constraints once the recorder is initialized.

^ this will be a beta feature for now

More details are available in the blog post.

Audio Playback When Recording Without A Camera

Fix

We resolved an issue where audio recordings would not play back correctly if a video recording was attempted without a camera, and the recording client switched to audio-only mode. Playback now works as expected.

Audio Watermark

New

During the free trial period, audio-only recordings will now include an audio watermark consisting of a short beep played at the 5-second mark, and then once every 20 seconds during playback.

Recording Client: More Resilient and Faster

Improvement Improvement

The recording client now includes a fallback mechanism for a very rare OverconstrainedError that we’ve seen from some mobile devices. On such an error, the recording client will switch to the lowest quality profile (240p). Previously, the user could not record in such situations.

Additionally, when using one of the 7 default video quality profiles (e.g., 1080p.xml), the recording client will now use hardcoded values instead of making a separate HTTP request for the XML file.

This one less HTTP request will make the recording client a bit faster especially on high latency connections.

Custom video quality URLs (through qualityurl) are still fully supported.

Improved TypeError Resilience in the Recording Client

Improvement

We’ve made improvements to the recording client to reduce the likelihood of TypeError exceptions. These changes increase stability, especially in edge cases or unpredictable runtime environments.

Introducing A New Subscription Plan

New

Starting today, we are offering a new intermediate subscription plan named Creator, priced at $100 per month (excluding VAT or sales tax), that aims to provide popular client storage options (Amazon S3 and FTP(S)) and higher resolution video recording at a lower price than the existing PRO plan.

We’re also introducing our Enterprise offering, which includes custom solutions and pricing.

You can view all the features and detailed descriptions for each plan on our new updated pricing page.

le: blog post is live with more info