Silk UI Video widget for Mobile is not playing MOV files on IOS devices

Silk UI Video widget for Mobile is not playing MOV files on IOS devices

  

Hi, 

I have a mobile app with the requirement to capture the video and playing the video using  Silk UI Video widget (from Platform v10).

In order to do that,I am using the 'Upload widget' to record the video and saving the file in device's offline storage using 'File Plugin'  SaveFile() action. And then using the GetFileURL() action I was able to get a URL of the video file which is bound to the  Silk UI Video widget.

When I try this on an Android device, the recorded video is in '.MP4' format so no issues in playing this video. But when I try the same on an IPad then the recorded video is in '.MOV' format so it is unable to play using  Silk UI Video widget.

Is this a known issue? Is there any other player to play this video (.MOV) on IOS devices?

Or else is there any way to convert this video from .MOV to .MP4 format (in OutSystems)?


Thanks

Hi Sriman,

MOV is Apple's native video format (hailing back from the QuickTime days). It should play just fine on an iOS device. Since the SilkUI video widget is just using the device's native video player, I'm not sure what goes wrong. Does the app with the video widget have access to the location of the video on the iOS device? Since aiui, unlike Android, Apple apps don't have access to files of other applications.

Kilian Hekhuis wrote:

Hi Sriman,

MOV is Apple's native video format (hailing back from the QuickTime days). It should play just fine on an iOS device. Since the SilkUI video widget is just using the device's native video player, I'm not sure what goes wrong. Does the app with the video widget have access to the location of the video on the iOS device? Since aiui, unlike Android, Apple apps don't have access to files of other applications.

Hi Kilian,

Thank you for the reply. Yes agree with you - the silk video widget is playing 'MOV' format videos on an IPad if we use the fully resolved server side URL (e.g. https:\\server\videos\video1.mov). 

But in my case case, I was recording the video using 'Upload' widget and saving the file locally on a device by using 'SaveFile() action from FilePlugin component. And then using GetFileURL() method, I was getting the URL in a blob format. This Blob URL is bound to the video widget. I think App has access to the location where I am saving the video. If it doesn't then it won't be able to save the video at the location.

I have attached a sample OML with this logic. This logic is working on an Android device but not on an IPad. 

Can you please tell me if there is any better way of doing?


Thanks
Sriman 


Hi Sriman,

Have you tried to use GetFileUri instead of GetFileUrl? What I understand, GetFileUrl will encode the entire video as a URL (and base64-convert it), and that may be a bit too much. Note that I haven't dealt with this specific problem, not do I have much JavaScript knowledge, but in the JavaScript from GetFileUrl I see that it is reading the entire file.

Kilian Hekhuis wrote:

Hi Sriman,

Have you tried to use GetFileUri instead of GetFileUrl? What I understand, GetFileUrl will encode the entire video as a URL (and base64-convert it), and that may be a bit too much. Note that I haven't dealt with this specific problem, not do I have much JavaScript knowledge, but in the JavaScript from GetFileUrl I see that it is reading the entire file.

Hi Kilian, 

Yes I have tried GetFileUri() action which returns native file URL, that didn't work either.