After more than a month of further development we’ve just pushed a major update to Pipe which includes several important updates to our HTML 5 WebRTC based video recording client.

Proper handling webcam and microphone in corner cases

The HTML 5 video recorder now correctly detects and works as expected in the following cases:

  1. When the user has a webcam but no microphone, it will record only video
  2. When the user has a microphone but no webcam, it will default to audio-only mode and record just the audio
  3. When the user has no webcam and no microphone, it will show the proper error message

Architecture and security

We’ve changed the server architecture. Now recording and processing are handled by different servers. On top of that Pipe now uses two separate recording servers, one for the Flash version and one for the HTML5 version.

Consistent mirroring options

Mirroring the image during recording is one of the most frequent topic of discussion we have with our clients. Mirroring helps people not get confused with their movements during recording but shows text shown to the camera backwards.

From now on, on both the HTML5 and the Flash client:

  • the image will not be mirrored by default during recording
  • the image can be mirrored during recording by using the new [Mirror image while recording] option in the Embed tab in your Pipe account area which subsequently applies the mv=1 setting to the embed code
  • the image will never be mirrored during playback and in the final video

Other improvements to the HTML5 client

  • onMicActivityLevel function ( part of the JS Events API) is now supported by the HTML5 video recorder
  • Pipe video recorder will no longer access the webcam during playback (HTML 5 version)
  • Pipe has a better UI for error messages (HTML 5 version)

Recording from Flash client is now done through port 443 and rtmps

Recordings from the Flash client are now sent to us through secure streaming (rtmps) over 443. This has 2 benefits:

  • Data is encrypted and secure in transit
  • People behind corporate networks and firewalls can still connect and record. Previously we recorded through port 1935 which is usually closed in more restricted environments.

Other updates and improvements

  • Implemented new function as part of the JavaScript control API: removePipeRecorder. More details can be viewed in the documentation.
  • Added S3 bucket folder (if set) to video and image URL in the S3 webhook payload
  • Added Canada region for S3 bucket regions
  • Updated Amazon S3 signature version
  • Updated docs regarding new API functions (getPlaybackTime and onSnapshotTaken) and deprecated onFlashReady function
  • Fixed issue with (S)FTP  and Amazon S3 logs not storing multiple entries for the same video