Playing video in Native mobile

Playing video in Native mobile

  

Hi all,

Anybody got any recommendations on how to best manage storing and playing video content in native mobile apps.  At the moment we have been loading the videos in MP4 as binary into the server database and looking at playing back using <Video></video> but are seeing issues with binary to Base64 conversion etc.  Had a look at a number of the forge components but nothing jumps out as tried and true for native mobile.

Has anyone got suggestions based on experience in this space as to how to best store the videos on the outsystems platform and then playback on the mobile phone in the native app? 

Thanks

Paul


Hi Paul,


Despite not having full context here are some ideas for a scalable solution:

  1. Use OutSystems Web application to upload and manage video files, storing the files in AWS S3 instead of OS Databse
  2. Use AWS Media Services and AWS CloudFront to process and distribute content
  3. Use this Cordova plugin inside OutSystems Mobile App to play videos directly from AWS CloudFront


Cheers,

Renato Torres


Paul Davies wrote:

Hi all,

Anybody got any recommendations on how to best manage storing and playing video content in native mobile apps.  At the moment we have been loading the videos in MP4 as binary into the server database and looking at playing back using <Video></video> but are seeing issues with binary to Base64 conversion etc.  Had a look at a number of the forge components but nothing jumps out as tried and true for native mobile.

Has anyone got suggestions based on experience in this space as to how to best store the videos on the outsystems platform and then playback on the mobile phone in the native app? 

Thanks

Paul




Hi Renato,


Thanks for your feedback.  In a perfect world we would like to not bring in a third platform to host the videos. Ie less moving parts to develop for, support and secure as well as additional cost.  Ideally we would like to hold the videos in the OutSystems server and play in the Mobile device as requested.   The video volumes aren't huge so less concerned about filling the OutSystems database.


Thanks


Paul


Hi Paul,


Please find attached a simple example working for OutSystems v11.


I have used:

  1. BinaryDataStreamer from the Forge
  2. HTML5 video tag


Demos here:


The play is not automatic in the mobile app, right click on video, press "show controls" and hit play.


Cheers,

Renato


Paul Davies wrote:

Hi Renato,


Thanks for your feedback.  In a perfect world we would like to not bring in a third platform to host the videos. Ie less moving parts to develop for, support and secure as well as additional cost.  Ideally we would like to hold the videos in the OutSystems server and play in the Mobile device as requested.   The video volumes aren't huge so less concerned about filling the OutSystems database.


Thanks


Paul




Renato,

Thanks for the suggestion.  I tried this on a iphone 7 IOs 12.0.1  native build.  I can see the streaming web app being called when debugging but nothing plays in the mobile app. i also know the streaming web app is working as I can put the URL into the browser and the browser on the computer and it plays. Did you test your demo in a native build?

Thanks

Paul   

Renato link also works fine in safari browser on phone but not within the app.

Solution

Hi Paul,


I've built a mobile plugin to play video using the Cordova plugin I mentioned in the first reply:


https://www.outsystems.com/forge/Component_Overview.aspx?ProjectId=4585


Check the sample screen to see how to use it. In the test I have used an URL from the Backoffice application.


Tested in my Android phone.


Cheers,

Renato


Paul Davies wrote:

Renato link also works fine in safari browser on phone but not within the app.



Solution

Awesome.  I'll have a play today.