I am developing a reactive app which involve user acceptance of work done. The person in charge will upload document, picture and also video files for proof of completion.
The video file will have a file size of around 20mb or more which is a concern for me in long run.
I like to know what is the best practice to handle video files so that i will not have problem when deploying changes to production and also affecting performance of the application.
Someone suggested to store the video files in SharePoint but user prefer to have a single solution and not have to do it outside then come back outsystems to do the rest.
Thank you in advance
Hi @.
There are lots a ways to achieve you Requirement
1.You Can Create a table where you can only Store video link:
3rd Party app Integrate with outsystems-
Vimeo, SproutVideo, Wistia, Dropbox, Amazon, pCloud, Mega
Simple Option:
You Can create a YouTube Channel and upload video via Outsytsems and save URL link to your Database and when need video simple access by Link.
Generally outsystems do same concept to show video and also it is free option
You can use the YouTube API, see
https://developers.google.com/youtube/v3/docs search forv ideos.insert endpoint.
Paid Option:
Amazon s3 Forge Component to used to store your file on Server
Thanks
Md Mansur
If you allows users to upload videos from their phone using a server/service action you most likely will hit a timeout. Even if you set the applications timeout to 120s max.
Storing the video in the OS database is also not a good idea, as you will not be able to serve the video content for streaming afterwards to viewers. You can read more about in my article https://itnext.io/serve-files-at-scale-with-outsystems-and-aws-s3-and-cloudfront-6f0b11a37866
As Md Mansur already mentioned you should go for an external storage for large binaries in any case. My personal favorite is S3 (but Iam an AWS fanboy so my preference is colored :-) ). Using S3 you can do a client side upload, where the application timeout does not apply. Read here for more details https://itnext.io/file-uploads-from-outsystems-reactive-web-client-to-aws-s3-using-pre-signed-urls-18e9a42dee17
A more advanced scenario - if required - is to stream a camera stream directly. AWS Kinesis Video Streams using the WebRTC SDK is a great choice. Videos are streamed to Kinesis directly from the camera stream and its fragments can be accessed and assembled to video files afterwards.