The recording client now performs microphone input checks more efficiently.
Build slug: fa8ed68e4
Every update to the Pipe platform: new features, improvements and fixes.
The recording client now performs microphone input checks more efficiently.
Build slug: fa8ed68e4
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
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:
2599b99ea - 2025-11-13 - View changelog (latest build published 6 days ago)9249ecb2d - 2025-11-11 - View changelog2706f69e8 - 2025-11-06 - View changelogThe recording client now features improved icons for a cleaner and more consistent interface.
Build slug: 2599b99ea
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
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
We’ve implemented new changes to the account dashboard:
We’ve made the following improvements to the account dashboard:
We’ve implemented a new concurrency limit mechanism that activates ONLY when a processing server hits a certain threshold considered a high load.
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:
1 maximum number of concurrent recordings processed during load2 maximum number of concurrent recordings processed during load4 maximum number of concurrent recordings processed during loadThe 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.
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.
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.
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.
Two important updates to our recording client when used for screen sharing & recording:
For more information, please refer to this blog post.
Fixed an issue that caused incorrect source values and associated icons to be displayed in the Pipe account dashboard for streamed recordings originating from iOS/iPadOS devices.
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.
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.
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.
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.
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.
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.
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.
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
We’ve upgraded the account dashboard UI to Bootstrap 5 as Bootstrap 4 was EOL. Bootstrap 5 comes with a few enhancements we’ve taken advantage of including updated/new UI elements, dark mode and a wider user interface.
The blog post we’re writing on the subject will have more details.