In general that should be possible with one caveat: IMO it would be a better idea to store the video inside of AEM before pushing it to Vimeo. This would allow for an asynchronous push to Vimeo and would not block the user until that is finished. It would also allow to retry the upload from AEM without a need for the user to upload it again to AEM. You can add a cleanup job/step after that push to Vimeo has been confirmed to be successfully finished.
That said, I'm not aware of an existing integration with Vimeo.
There is one for YouTube, though:
That integration looks for assets that have certain tags and leverages a dedicated replication agent to push them to YouTube using their API. Maybe this approach can serve as a blueprint or at least an orientation for your custom implementation.
Hope that helps!