Thank you for all the feedback. Trying out YouTube as a solution, the 20 minute test video took about 8 minutes to compress, transfer to YouTube, convert, and be pasted into Discourse – directly from iOS. Not bad in my opinion. The only downside is the YouTube sign in and having to share a single Google account/YouTube login credentials with everyone in the class.
It would be great if you could integrate the YouTube video upload API. Videos could then be transferred seamlessly to YT without the end user having to setup a YT account.