10+
June 20, 2026
March 21, 2018
With this add-on recording and sending videos in WordPress finally comes true. No further coding required. Just install + configure a bit (like duration, width or enable audio etc) and that’s all. Wicked.
All you need is the Ninja Forms plugin so that this extension can be added there.
Latest version (zip file) also can be downloaded for free anytime from GitHub:
https://github.com/binarykitchen/videomail-for-ninja-forms/blob/master/dist/videomail-for-ninja-forms.zip
More documentation on setup and configuration see:
https://github.com/binarykitchen/videomail-for-ninja-forms/tree/master/doc/faq/videomail-for-ninja-forms-faq.pdf
This section describes how to install the plugin and get it working.
1. Upload the videomail-for-ninja-forms plugin folder to your /wp-content/plugins/ directory
2. Activate the plugin through the ‘Plugins’ menu in WordPress
3. Visit the ‘Ninja Forms’ menu item in your admin sidebar
4. Build a form using videomail
Probably you also want to whitelist additional domains besides localhost. See whitelisting under FAQ.
That would be awesome 🙂 Scroll to bottom of https://videomail.io/faq
Check out that pretty online PDF at https://github.com/binarykitchen/videomail-for-ninja-forms/blob/master/doc/faq/videomail-for-ninja-forms-faq.pdf
That new recordable video field comes with many options you can configure yourself such as duration, width, audio on/off and much more.
Each option is explained well at bottom of this PDF file: Videomail FAQ
For local development, everything will work right away because the localhost URL is already whitelisted on the videomail server.
But once you deploy your WordPress site out in the wild, we will have to whitelist your production URL(s). For that, just submit a Whitelist Request. Once your whitelist entry has been approved, you’ll get a secret whitelist key. With that key, you can activate this plugin for your site.
Just note that this requires registration on Videomail and that the first three months are free (trial period).
There is also the live site videomail.io. Have a look and play.
You can see the videomail-client in action and use it right away for free, anytime, anywhere. Many people, especially Deaf and Sign Language users, already use it for their everyday communication.
Yes. There is a low level npm videomail-client package. This WordPress plugin relies on it.
To get help, just use any of these contacts at https://binarykitchen.com
Security
* Now headless web scrapers are correctly identified, reported and not wasting server resources, especially those from China.
Improvement
* Simplified display of error messages, especially around security.
Improvement
* Add extra diagnostic about bots and web scrapers, this to save your server resources.
* Reduce bundle size for faster page loads
Improvement
* Split creation of WebSockets and Streams for further diagnostics
* Slower bundle sizes for faster loading times
Improvement
* Collect more diagnostic upon WebSocket related errors
Fix
* Create WebSocket first before the stream
Fix
* Proper usage of Websocket stream constructors for stricter browser
Fix
* Invalid Socket URLs from WordPress configurations are now detected earlier.
* URLs with trailing whitespaces and special characters are now trimmed and encoded properly.
Chore
* Upgrade VC dependency
Improvement
* New features: comments and threads are supported now.
Change:
* Any errors from this plugin now come with a new name for better error separation.
Fix
* Replace release script with manual git commands
* Do not override error explanations on edge error cases
* Better video recording support for older mobiles (frame control)
Chore
* Upgrade VC dependency
* Bump Babel dependencies for better mobile and browser support
Fix
* Replace release script with manual git commands
Fix
* More robust error display over WebSockets
Chore
* Upgrade VC dependency
* Bump Node.js to v24.15.0
Change:
* Early preparation for video replies. More to come 😉
Fix
* Make WebSocket connection more robust
Chore
* Upgrade VC dependency
* Switch Prettier extension
Change:
* Remove obsolete WebSocket options to reduce race-condition related errors
Chore
* Upgrade VC dependency
* Apply patches
* Export types
Improvement
* Corrected documentation about whitelist key and polished its formatting further
Chore
* Upgrade VC dependency
* Polished dev documentation
Change:
* Upgrade pipeline dependencies
Change:
* Breaking: renamed site_name to whitelist_key. Retrieve your whitelist key on https://www.videomail.io/whitelist
Improvement
* Some error messages are more user friendlier, less technical. Sorry 🙂
Fix
* Correct height of videos, this by making it more responsive to your environment
Change:
* Lay out the foundation for the upcoming new whitelist management. There a no breaking changes.
Chore
* Apply security patches
Improvement
* Videomail button states (enabled/disabled) are now more robust, especially for mobile devices
* Video recording duration can be limited on the spot
Change:
* Accessibility: no more auto play – users have to click on the play button first before watching
* Bump to Node.js v24
* Replace deprecated prettier with the latest version
Fix
* Do not emit resize event when not built
Chore
* Upgrade VC dependency
* Polished dev documentation
Improvement
* More user friendlier error messages for missing inputs
Change:
* Include recording location which will assist investigating technical issues
Fix
* Rename wrong option name from ninjaFormPlugin to videomailNinjaFormPlugin
Chore
* Upgrade VC dependency
Change:
* Breaking change: switch to new Videomail API endpoint.
Fix
* Adds one missing comma 🙂
Improvement
* Adds new advanced option “disableFormWhenSubmitting” to increase security during form submissions.
Change:
* Defaults that new option “disableFormWhenSubmitting” to false, because plugins overlap with each other.
Chore
* Upgrade VC dependency
Fix
* Exclude videomail-client from LiteSpeed
Chore
* Upgrade VC dependency
* Upgrade Node.js
Fix
* Rename minified files to prevent LiteSpeed from minifying them all over again, see https://github.com/litespeedtech/lscache_wp/issues/908
Fix
* Clear LiteSpeed Cache when upgrading this plugin, see https://github.com/litespeedtech/lscache_wp/issues/895
Chore
* Upgrade VC dependency and re-release complete build
Fix
* Rearrange loading of Videomail-Client assets
Chore
* Upgrade VC dependency and re-release complete build
Fix
* Upgrade all libraries related to releasing new versions to WP.org
Change:
* Embrace the new upcoming Videomail features around user authentication, associating them with registered users
* They are not released yet, although, to avoid downtime and migrations, we are releasing new data structures early.
* Bonus: there more fun waiting animations to enjoy during encoding 😉
Fix
* On the side, an important bug has been fixed where failed deliveries are properly reported back
Chore
* Upgrade all dependencies to latest versions. All tested.
Improvement:
* Allow logins while recording
Chore
* Upgrade Videomail-Client for big upcoming changes
* Polish changelog
Improvement
* Also serialize unhandled play promises for more stability on Android phones
Chore
* Upgrade Videomail-Client
Improvement
* Also serialize all error variables from web sockets
Chore
* Upgrade Videomail-Client
Improvement
* Serialize all error variables for improved error reporting
Chore
* Upgrade Videomail-Client
Fix
* Corrects invalid version for the “Tested up to” field
Improvement:
* More robust error reporting from mobile devices
Chore:
* Upgrade Videomail-Client
* Export more types
Improvement:
* Properly recognizes full height of iPhone devices
Chore:
* Upgrade Videomail-Client
Improvement:
* Inject version in error reports
Fix:
* Remove invalid import statement
Improvement:
* Proper versions of anything are properly recorded for any error reports
Change:
* Bumps Videomail-Client to latest version
Change:
* After video processing, pick the correct API response (intelligence)
Fix:
* Revert invalid imports (ESM back to UMD)
Improvement:
* Better error messages (more human friendly)
Change:
* Upgrade Videomail-Client to v10 (15% faster)
Improvement:
* Speed: all is about 20% faster
Change:
* Upgrade runs on Node.js v22
Bugs:
* No conflicts when React is on the same page
* Pause + Resume video recording won’t crash when hit too many times
Improvement:
* New option “stretch’ to let the video take full width of the parent container, regardless of the webcam resolution.
* Improve documentation for developers
Change:
* Upgrade internal dependencies
Bugs:
* Do not lint before build completes
Change:
* Upgrade Node.js and npm
* Tested on WordPress v6.5.4
Bugs:
* Correct invalid tags
Improvement:
* New option: “load_user_media_on_record”. When enabled, webcam permission are only being asked for when user hits record button
Change:
* Upgrade deployment tools
Bugs:
* Fix deployment issues
Change:
* Internal technical improvements for releasing new versions
* Internal technical change: Bump to NodeJS v20 and npm v9
Bugs:
* Fix versioning
Bugs:
* Fix versioning
Bugs:
* Fix versioning
Bugs:
* Fix boolean check for media library addition
Bugs:
* Fix a releasing issue
Bugs:
* Do not save to media library when disabled
Change:
* Deliver un-minified JS for easier debugging
Bugs:
* Repair broken bash comment
Bugs:
* Repair broken repo syncing
Bugs:
* Repair broken versioning
Bugs:
* Bump videomail-client which resolves a bug when webcam permissions are missing.
Change:
* Rebuild lockfile
Change:
* Include target folder
Change:
* Internal technical improvements for versioning
Change:
* Internal technical improvements for development
Change:
* Upgrade Videomail-Client
Improvement:
* Prefer serving MP4 over WebM movies (better coverage, especially on mobiles)
Change:
* Bump all dependencies and rebuild with NodeJS v18
Improvement:
* Better detection of supported video types
Bugs:
* Fixes broken video type detection
Improvements:
* Audio and Video 99.9% in sync now
Tasks:
* Upgrade all inside dependencies without breaking changes.
Tasks:
* Tested everything on latest WordPress v6.0.0 and works well
Change:
* Upgraded all internal libraries, especially Videomail-Client on npm (they come with lots of stability fixes)
Change:
* Just a maintenance bump using latest Videomail-Client
* Better treatment of undefined form inputs
Change:
* Switch to node.js v16 and npm v7.18
* Runs security audit toward all dependencies
Change:
* Countdown and pause texts are bolder now
Bugs:
* Another workaround for more global pollution situations
Bugs:
* Works for older Backbone versions too or when other plugins pollute its global scope.
Change:
* Bump min required and tested versions
Bugs:
* Make it work along with the Conditional Logic add-on
* Required attribute works again with latest WP and Ninja Form versions
Change:
* Upgrades Videomail dependency
Bugs:
* Fixed wrong FPS calculation. Now overall quality of encoded videos won’t be impacted when connectivity deteriorates toward the end.
Change:
* Upgrades Videomail dependency
Improvements:
* Better release procedure
* Consistent source code
Change:
* Upgrades Videomail dependency
Bugs:
* Flip video feed horizontally to match with reality (all webcams are inverted by default)
Bugs:
* Ping more often to keep connection alive
* Also submit disabled form inputs
Bugs:
* Do not enable audio when already false
Bugs:
* Repaired merging fields into strings
Bugs:
* Repair readme.txt
Change:
* Lots improved under the hood, updated many libraries for speed and security.
Bugs:
* Works again on IE11
Bugs:
* Fix invalid URLs for Windows machines
Bugs:
* Correct error message when on insecure HTTP with recommendation to switch to HTTPS
* Works again on older iPhones
Change:
* Replaced lots of old code with modern code.
Change:
* Better readystate handling for faster page loads
* Improved error messages for iOS on Chrome
* Faster websocket streams
Change:
* Audio now enabled by default
* Improved documentation
Bugs:
* More robust with exotic browsers
* Correct bad spelling
Change:
* Moved to a new, public repository and free now
Features:
* New option: save to media library – so that you can reuse the video for posts or pages yay!
* New option: image quality – with this you can improve video in cost of bandwidth
Bugs:
* Much better error handling
Bugs:
* Now it does not mess with other rich content text editors anymore.
Bugs:
* Added missing licensing field under settings
Features:
* Now works on iPhones running on iOS11 and on Safari v11, yay.
Bugs:
* Now works as an optional input (= not as a required field)
Bugs:
* Make it work again on all Edge browsers
Bugs:
* Do not zip extension in another zip.
Changes:
* Bump videomail-client using ES6 code
* Improved error messages
Initial Release
| Version | Download | Type |
|---|---|---|
| 10.5.5 | Download | Stable |
| 10.5.4 | Download | Stable |
| 10.5.3 | Download | Stable |
| 10.5.2 | Download | Stable |
| 10.5.1 | Download | Stable |
| 10.5.0 | Download | Stable |
| 10.4.0 | Download | Stable |
| 10.3.1 | Download | Stable |
| 10.2.1 | Download | Stable |
| 10.2.0 | Download | Stable |
| 10.1.0 | Download | Stable |
| 10.0.0 | Download | Stable |
| 9.1.1 | Download | Stable |
| 9.1.0 | Download | Stable |
| 9.0.1 | Download | Stable |
| 9.0.0 | Download | Stable |
| 8.3.1 | Download | Stable |
| 8.2.0 | Download | Stable |
| 8.1.1 | Download | Stable |
| 8.1.0 | Download | Stable |
| 8.0.3 | Download | Stable |
| 8.0.2 | Download | Stable |
| 8.0.1 | Download | Stable |
| 8.0.0 | Download | Stable |
| 7.1.1 | Download | Stable |
| 7.1.0 | Download | Stable |
| 7.0.9 | Download | Stable |
| 7.0.8 | Download | Stable |
| 7.0.7 | Download | Stable |
| 7.0.5 | Download | Stable |
| 7.0.4 | Download | Stable |
| 7.0.3 | Download | Stable |
| 7.0.2 | Download | Stable |
| 7.0.1 | Download | Stable |
| 7.0.0 | Download | Stable |
| 5.3.0 | Download | Stable |
| 5.2.1 | Download | Stable |
| 5.1.1 | Download | Stable |
| 5.1.0 | Download | Stable |
| 5.0.2 | Download | Stable |
| 5.0.1 | Download | Stable |
| 4.0.16 | Download | Stable |
| 4.0.15 | Download | Stable |
| 4.0.14 | Download | Stable |
| 4.0.13 | Download | Stable |
| 4.0.12 | Download | Stable |
| 4.0.11 | Download | Stable |
| 4.0.10 | Download | Stable |
| 4.0.9 | Download | Stable |
| 4.0.8 | Download | Stable |
| 4.0.7 | Download | Stable |
| 4.0.6 | Download | Stable |
| 4.0.5 | Download | Stable |
| 4.0.4 | Download | Stable |
| 4.0.3 | Download | Stable |
| 4.0.1 | Download | Stable |
| 4.0.0 | Download | Stable |
| 3.13.1 | Download | Stable |
| 3.13.0 | Download | Stable |
| 3.12.1 | Download | Stable |
| 3.12.0 | Download | Stable |
| 3.11.3 | Download | Stable |
| 3.11.2 | Download | Stable |
| 3.11.1 | Download | Stable |
| 3.11.0 | Download | Stable |
| 3.10.4 | Download | Stable |
| 3.10.3 | Download | Stable |
| 3.10.2 | Download | Stable |
| 3.10.1 | Download | Stable |
| 3.10.0 | Download | Stable |
| 3.9.11 | Download | Stable |
| 3.9.10 | Download | Stable |
| 3.9.9 | Download | Stable |
| 3.9.8 | Download | Stable |
| 3.9.7 | Download | Stable |
| 3.9.6 | Download | Stable |
| 3.9.5 | Download | Stable |
| 3.9.4 | Download | Stable |
| 3.9.3 | Download | Stable |
| 3.9.2 | Download | Stable |
| 3.9.1 | Download | Stable |
| 3.9.0 | Download | Stable |
| 3.8.0 | Download | Stable |
| 3.7.4 | Download | Stable |
| 3.7.3 | Download | Stable |
| 3.7.2 | Download | Stable |
| 3.7.1 | Download | Stable |
| 3.7.0 | Download | Stable |
| 3.6.7 | Download | Stable |
| 3.6.6 | Download | Stable |
| 3.6.5 | Download | Stable |
| 3.6.4 | Download | Stable |
| 3.6.3 | Download | Stable |
| 3.6.2 | Download | Stable |
| 3.6.1 | Download | Stable |
| 3.6.0 | Download | Stable |
| 3.5.2 | Download | Stable |
| 3.5.1 | Download | Stable |
| 3.5.0 | Download | Stable |
| 3.4.3 | Download | Stable |
| 3.4.2 | Download | Stable |
| 3.4.1 | Download | Stable |
| 3.4.0 | Download | Stable |
| 3.3.6 | Download | Stable |
| 3.3.5 | Download | Stable |
| 3.3.4 | Download | Stable |
| 3.3.3 | Download | Stable |
| 3.3.2 | Download | Stable |
| 3.3.1 | Download | Stable |
| 3.3.0 | Download | Stable |
| 3.2.0 | Download | Stable |
| 3.1.7 | Download | Stable |
| 3.1.6 | Download | Stable |
| Development | Download | Trunk |