JWplayer with HLS video not playing on Android Devices - amazon-s3

I am using JWplayer to stream a video that is hosted on Amazon S3, but it won't play on Android devices.
It works fine on PC, Mac and iPhones/iPads.
I have tested with Firefox, Google Chrome and Safari.
I have no idea to what could be wrong and I would really appreciate any input.
The link to the page where the video plays is this: https://ead.starlingacademy.com.br/

Related

S3 video play in edge and react native but not chrome or firefox

one of the user of the app I work for has an issue, all the video she upload doesn't work in an HTML5 video player, except on Edge and Safari for iOS (and if it works there I assume it could work in other browsers)
The video can be played in our react-native app or after being downloaded, but not directly using the S3 or cloudfront link
Since the vieos from the other users work, I'm assuming it's related to encryption and S3 specifications, does anyone have met this problem and found a solution ?
EDIT: forgot to put a sample link
https://video-reetags.s3.eu-west-3.amazonaws.com/compressed/aed0a512a419334fe5d0c0c6fb4094a21610642052.mp4
Since the videos from the other users are working fine, I'm assuming it's related to encryption and/or S3 specifications...
No, the problem is not encryption or S3 server issues.
Your MP4 container has video in HEVC format (aka H.265), which is not supported in Chrome or Firefox. You should still be able to hear the sound part since AAC audio is supported.
Playing the video is possible with React-Native and other (native) video players because they rely on the O.S running the player App to decode video. If a browser brand didn't buy a license for HEVC then that browser cannot play it.
Solution:
Re-encode such videos to MP4 containing H.264 with AAC audio (...not H.265 with AAC).
Re-encoding takes time but it's the only way for now. Either the user does it before any uploading, or your own app accepts any file and re-encodes the "not supported" ones on server-side (eg: using FFmpeg or GStreamer tool).

HTML5 video with RTSP stream source not playing in Chrome on iPhone ios 13.4 but working in Safari

Developing a browser based webrtc streaming system, managed to get it all working properly and allows streaming from all devices. But my problem is on playback: all desktop browsers play it fine, chrome firefox on windows, chrome firefox safari on MacOs, works fine on android devices using chrome or firefox, but on iPhone/iPad iOS 13.4 it will only play in Safari. There are plenty of users using Chrome as their preferred browser on iOS devices, so I'm trying to figure out what can be preventing the videos to play on Chrome( chrome version tested on iphone is Chrome v83.0.4103.88
here is a snippet of the video
<video autoplay muted playsinline loop type ='rtmp/mp4' preload='auto' id="testVideo" style="width:100%;height:100%;" data-setup='{"techOrder": ["html5"], "nativeControlsForTouch": false, "controlBar": { "muteToggle": false, "volumeControl": false, "timeDivider": false, "durationDisplay": false, "progressControl": false } }'></video>
video source is loaded via JS and stream type is RTSP, handled in a Wowza instance media server (V4.7.8), encoding h264 baseline profile/pcma
Can't really find much on stack, most people having similar issues have it with Safari and chrome works fine for them. My problem is Safari works, but only safari on iOS devices.
Any suggestion is much appreciated!
EDIT: streams are published in mp4 format

Playing base64 webm audio on Safari

I've tried a bunch of things to no avail. Setting the src of an audio element to the following base64 webm dataurl snippet and playing it works in most browsers, but is failing in Safari. Pasting the snippet in the location bar even works in Chrome.
https://gist.github.com/mayorbyrne/99e47f58eefcfe72e84e3e320d136c2c#file-gistfile1-txt
I am able to play a base64 encoded mp3 dataurl, as the following fiddle I found in another response works: https://www.jsfiddle.net/apo299od -- In addition, I've tried replacing the beginning of the snippet data:audio/webm with data:audio/mp3 (works in Chrome, etc), and that moves me further along, but the audio doesn't actually play, it just flashes the audio symbol in the browser for a quick second.
Just wondering if I am spinning my wheels here, or if there is a way to get this snippet playing in an audio element on Safari.
Safari on iOS doesn't support the Vorbis / Opus audio codecs in WebM and on desktop only via third-party extensions like the VLC Web Browser plugin. Safari on iOS 11+ / macOS High Sierra+ can play Opus only if it's in a CAF container.
Note: Safari on iOS supports low-complexity AAC audio, MP3 audio, AIF audio, WAVE audio, and baseline profile MPEG-4 video. Safari on the desktop (Mac OS X and Windows) supports all media supported by the installed version of QuickTime, including any installed third-party codecs
source: https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html
Safari can support Ogg Opus files with WebAssembly decoding. You can see the demo and code below. Not as simple as using an <audio> element, but you will get faster, low-latency playback using the Web Audio API:
https://github.com/AnthumChris/fetch-stream-audio

Mediarecorder support/pollyfil for Safari

I wanted to record Laptop's webcam video stream on safari browser.
I am accessing the stream on browser by using MediaDevices.getUserMedia().
It seems MediaRecorder interface will do the trick (https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder).
However this isnt supported by Safari.
Any recommendation on how i should record the webcam stream and build a video recorder that runs on Safari.
It seems there is nothing available for Safari at the moment.
MediaRecorder polyfill to record audio in Edge and Safari.

MP4 not playing in Safari

I'm testing some videos using "Video For Everybody" but for some reason my mp4 will not play in Safari. I also noticed that the Big Buck Bunny videos that VFE uses as the default are also not playing for me in Safari. Am I the only one having this issue?
http://v4e.thewikies.com/